1. Trang chủ
  2. » Luận Văn - Báo Cáo

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 870 15
Tài liệu đã được kiểm tra trùng lặp

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

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề 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
Tác giả Phạm Công Phan
Người hướng dẫn PGS.TS. Nguyễn Ngọc Bình
Thể loại Khóa luận
Định dạng
Số trang 2
Dung lượng 157,43 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

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ực là một lĩnh vực khó, bằng chứng là đã có rất nhiều

Trang 1

-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

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ực là mộ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 và

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 và 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 và 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

và dò lỗi ứng dụng nhúng, các lựa chọn và 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 và quản lý các hệ thống khác

Hệ thời gian thực là hệ 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

Linux là mộ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 và chia sẻ Linux có tính khả chuyển

và 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 và 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, và 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 và mềm dẻo và 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

Trang 2

-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 và 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ị và 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ế và 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

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

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

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w