043_Tìm hiểu hệ điều hành thời gian thực Linux và phát triển một số ứng dụng

2 869 15
043_Tìm hiểu hệ điều hành thời gian thực Linux và phát triển một số ứng dụng

Đang tải... (xem toàn văn)

Thông tin tài liệu

-58- TÌM HIỂU HỆ ĐIỀU HÀNH THỜI GIAN THỰC LINUXPHÁT TRIỂN MỘT SỐ ỨNG DỤNG Phạm Công Phan MSV: 0320230 Email: phanpc@gmail.com Người hướng dẫn: PGS.TS. Nguyễn Ngọc Bình 1. Giới thiệu Xu hướng lập trình các hệ thống nhúng, thời gian thực đã ra đời khá lâu trên thế giới, đặc biệt là lĩnh vực thời gian thựcmột lĩnh vực khó, bằng chứng là đã có rất nhiều công trình khoa học đóng góp cho lĩnh vực này. Hiện tại ở Việt Nam đang rất quan tâm đến hệ thống nhúng (với sự xuất hiện của các thiết bị nhúng điển hình như các PDA, các đồ gia dụng trong gia đình ), là một xu hướng khá mới mẻ nhưng không phải là khó nếu biết nắm bắt công nghệ, tìm hiểu sâu về kiến trúc của hệ thống nhúng kỹ thuật lập trình nhúng. 2. Mục đích của khoá luận Mục đích của khoá luận là tìm hiểu môi trường lập trình hệ thống nhúng thời gian thực trên Linux. Tìm hiểu các hỗ trợ thời gian thực của nhân Linux chuẩn, các tiếp cận cải thiện độ trễ trên Linux. Khoá luận nghiên cứu kiến trúc của một hệ điều hành thời gian thực RTOS – nhân thời gian thực dựa trên nền nhân Linux chuẩn – Standard Linux Kernel. Đặc biệt khoá luận đi sâu vào tìm hiểu kiến trúc các dịch vụ thời gian thực được cung cấp bởi RTAI – một mở rộng thời gian thực cứng của nhân Linux chuẩn, nhân thời gian thực, giao diện lập trình thời gian thực mạnh mẽ trên nền Linux, dựa vào cơ chế trừu tượng hoá ngắt trên Linux. Đồng thời cũng nhấn mạnh các ưu nhược điểm của “hệ điều hành thời gian thực cứng” này. Khoá luận cũng trình bày các nguyên lý cơ bản để xây dựng một ứng dụng nhúng trên Linux như: môi trường lập trình trên hệ thống phát triển chủ, các cách để thiết lập phát triển dò lỗi ứng dụng nhúng, các lựa chọn cấu hình nhân Linux chuẩn để hỗ giao diện lập trình thời gian thực RTAI. 3. Thời gian thực trong các hệ thống Linux nhúng. Giới thiệu các khái niệm cơ bản về hệ thống nhúng, hệ thống thời gian thực, hệ thống thời gian thực cứng, hệ thống thời gian thực mềm. Có thể nói hệ thống nhúng bao gồm phần mềm nhúng trong một một thiết bị nhúng, một thiết bị “có chứa một máy tính bên trong” để điều khiển quản lý các hệ thống khác. Hệ thời gian thựchệ thống phải đáp ứng lại các sự kiện tương tác từ môi trường đúng thời gian. Hệ thời gian thực không có nghĩa là phải có tốc độ nhanh. Linuxmột nhân hệ điều hành mã nguồn mở, với một cộng đồng phát triển thân thiện , năng động chia sẻ. Linux có tính khả chuyển khả năng co giãn cao. Tuy nhiên Linux không phải là hệ điều hành thời gian thực bởi mục đích của Linux là đạt được thông lượng tối đa nên độ trễ trễ khá lớn đi ngược lại tôn chỉ của một hệ điều hành thời gian thực. Do đó ta cần một số tiếp cận để cải thiện độ trễ của nhân Linux chuẩn như: cải thiện chính sách giành quyền ưu tiên, trừu tượng hoá ngắt coi nhân Linux như là một tác vụ thời gian thực có độ ưu tiên thấp nhất, có hai mở rộng thời gian thực dựa trên cơ chế trừu tượng hoá ngắt là các hệ điều hành thời gian thực RTLinux RTAI. Ngoài ra trong các phiên bản nhân Linux mới đây cũng đã có nhưng cải tiến hơn trong tiếp cận thời gian thực, hỗ trợ chuẩn POSIX cho các tác vụ thời gian thực. 4. Giao diện lập trình thời gian thực RTAI. RTAI – Realtime Application Interface là giải pháp thời gian thực cho Linux dựa trên phiên bản mở rộng thời gian thực RTLinux. Những tính năng quan trọng nhất của RTAI bao gồm: các phương thức giao tiếp liên tiến trình rất đa dạng mềm dẻo giao diện lập trình tương ứng cho phép tạo ra các tác vụ thời gian thực trong không gian người dùng (thư viện LXRT hỗ trợ tạo ra các tác vụ thời gian thực cứng chạy trong không gian nhân – kernel -59- space), tránh được điểm bất lợi khi phải vận hành trong không gian nhân như trong RTLinux. 5. Xây dựng một hệ thống Linux nhúng sử dụng RTAI. Chương này đưa ra cách thức chuyển đổi một phiên bản Linux chuẩn sang một hệ điều hành nhúng, mức độ còn tương quan giữa các phiên bản nhúng phiên bản chuẩn. Vì khi một hệ điều hành nhúng đã được làm tối ưu cho một thiết bị mục đích cụ thể thì nhiều phần code trong Linux chuẩn không còn cần thiết nữa. Trong trường hợp có các ràng buộc về thiết bị lưu trữ, một bước quan trọng là phải lược bỏ bớt mã trong nhân Linux gọn nhẹ tới mức có thể. Chẳng hạn, kích thước của thư viện C được lược bỏ đi các hàm không cần thiết, chằng hạn như thay thế nó bởi thư việc uclibc… 6. Xây dựng ứng dụng demo. Trên cơ sở nghiên cứu lý thuyết về phát triển nhúng trên môi trường Linux sử dụng giao diện lập trình thời gian thực RTAI, áp dụng vào đặc tả, phân tích thiết kế xây dựng ứng dụng áp dụng Máy bán nước tự động – Drink Vending Machine (DVM). Tài liệu tham khảo [1] Dough Abbott, Linux For Embedded And Realtime Applications, Elsevier Science (USA), 2003. [2] Michael Barr, Programming Embedded Systems in C and C++, O'Reilly, First Edition January 1999. [3] Dr. Jürgen Sauermann, Melanie Thelen, Realtime Operating Systems, Concepts and Implementation of Microkernels for Embedded Systems, Publised year ???. Phillip A. Laplante, Realtime Systems design and analysis, A JOHN WILEY & SONS, INC., PUBLICATION, IEEE Press, Third edition, 2004. [4] Herman Bruyninckx, K.U.Leuven, Real-Time and Embedded Guide, Mechanical Engineering, Leuven Belgium, Herman.Bruyninckx@mech.kuleuven.ac .be, 2000, 2001, 2002. [5] Karim Yaghmour , Building Embedded Linux Systems, O'Reilly, April 2003, pages: 416. [6] Danese Cooper, Chris DiBona, Mark Stone, Open Sources 2.0, O'Reilly, October 2005, pages: 488. [7] Rtai Programming Guide 1.0, Lineo, Inc, September 2000. [8] Giovanni Racciu <gracciu@xystum.it>, Paolo Mantegazza <mantegazza@aero.polimi.it >, RTAI 3.3 User Manual rev 0.2, 2006. [9] Pasi Sarolahti, Real-Time Application Interface, Research seminar on Real- Time, Linux and Java, University of Helsinki, Department of Computer Science, 26th February 2001. [10] Alfred Strohmeier, Thomas Baar, Applying Fondue to Specify a Drink Vending Machine, Software Engineering Laboratory, Swiss Federal Institute of Technology Lausanne (EPFL), CH-1015 Lausanne, Switzerland, 2003. . -58- TÌM HIỂU HỆ ĐIỀU HÀNH THỜI GIAN THỰC LINUX VÀ PHÁT TRIỂN MỘT SỐ ỨNG DỤNG Phạm Công Phan MSV: 0320230 Email: phanpc@gmail.com. các hệ thống Linux nhúng. Giới thiệu các khái niệm cơ bản về hệ thống nhúng, hệ thống thời gian thực, hệ thống thời gian thực cứng, hệ thống thời gian thực

Ngày đăng: 06/10/2013, 20:20

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan