boy_saygoodbye
New Member
Download miễn phí Bài giảng Hệ điều hành thời gian thực
Thực thi trong hệ điều hành thời gian thực
Nhỏ, nhanh
Chế độthời gian thực
Nghiên cứu hệ điều hành
Thành phần của ngôn ngữtạo môi trường
Java (embedded real-time Java)
Nhân đơn hay nhân nhỏtích hợp
Vấn đềchính
Mô hình song song: sựkiện, luồng, lập lịch
Mô hình bộnhớ: Tĩnh và động
Các mô hình thành phần khác nếu có
http://cloud.liketly.com/flash/edoc/jh2i1fkjb33wa7b577g9lou48iyvfkz6-swf-2014-02-25-bai_giang_he_dieu_hanh_thoi_gian_thuc.qx0deTTETN.swf /tai-lieu/de-tai-ung-dung-tren-liketly-60103/
Để tải bản Đầy Đủ của tài liệu, xin Trả lời bài viết này, Mods sẽ gửi Link download cho bạn sớm nhất qua hòm tin nhắn.
Ai cần download tài liệu gì mà không tìm thấy ở đây, thì đăng yêu cầu down tại đây nhé:
Nhận download tài liệu miễn phí
Tóm tắt nội dung tài liệu:
Hệ điều hành thờigian thực
Tiếp cận đa tác vụ
Tiếp cận chương trình đơn: một tác vụ (luồng)
Tiếp cận gần/tiếp cận sau: 2 tác vụ
Tổng quát hóa, đa tác vụ là:
Cũng gọi là các quy trình, luồng
Mỗi tác vụ được xử lý song song
Không chiếm toàn bộ tài nguyên xử lý
Các tác vụ tương tác đồng thời tới các phần tử bên ngoài
Điều khiển bộ cảm biến, điều khiển cơ cấu truyền động thông qua
DMA, bộ ngắt, I/O.
Thường được xử lý song song
Yêu cầu
Lập lịch cho các tác vụ
Chia xẻ dữ liệu giữa các tác vụ đồng thời
2Vũ Quang Dũng
Các dấu hiệu của tác vụ
Các tác vụ mới có thể khởi động trong khoảng thời gian
Theo chu kỳ hay không theo chu kỳ
Tác vụ có thể gồm:
Tài nguyên cần thiết
Các mức quan trọng
Quan hệ ưu tiên
Liên kết
Giới hạn thời gian
Trạng thái của tác vụ
Hoạt động
Chuẩn bị tác vụ - chờ xử lý từ CPU
Hạn chế tác vụ - chờ khi có sự kiên khác tác động tới quá trình xử lý
Không hoạt động
3Vũ Quang Dũng
Quyền ưu tiên
Không có ưu tiên: tác vụ khi khởi động sẽ chạy
đên khi dừng lai hay tác động tới một số cổng
vào/ra
Ưu tiên: tác vụ có thể dừng lại để chạy tác vụ
khác
Chịu sự ưu tiên và sự phức tạp trong thực thi
Có quá trình lập lịch và phân tích
Trong không ưu tiên, các tác vụ hoạt động do bị ép
buộc
4Vũ Quang Dũng
Lập lịch cho đa tác vụ
Kế hoạch lập lịch động
Các tác vụ xảy ra động
Quá trình kiểm tra lịch xảy ra mỗi khi có tác vụ động được hoạt
động
Khi có tác vụ mới, trước khi khởi động
Lập lịch hoạt động cho tác vụ trước và sau
Nếu quá trình lập lịch có lỗi, có phương án thay đổi
Lịch nhận được sẽ quyết định khi khởi tạo
Kết quả đạt được của lập lịch động
Hệ thống cố gắng đạt được thời hạn về thời gian hoạt động
Không biết khi nào giới hạn về thời gian xảy ra cho đên khi gặp
deadline hay tác vụ kết thúc hoạt động
5Vũ Quang Dũng
Thực thi trong hệ điều hành thời
gian thực
Nhỏ, nhanh
Chế độ thời gian thực
Nghiên cứu hệ điều hành
Thành phần của ngôn ngữ tạo môi trường
Java (embedded real-time Java)
Nhân đơn hay nhân nhỏ tích hợp
Vấn đề chính
Mô hình song song: sự kiện, luồng, lập lịch
Mô hình bộ nhớ: Tĩnh và động
Các mô hình thành phần khác nếu có
6Vũ Quang Dũng
Sự so sánh của các RTOS khác
nhau: sự thực thi tuần hoàn
7Vũ Quang Dũng
Kernel Mode
Device
Drivers
Network
Drivers
Hardware
I/O Services
TCP/IP Stack
Application Application Application
Sự so sánh của các RTOS khác
nhau: nhân đơn
8Vũ Quang Dũng
User Mode
(protected)
Kernel Mode
Filesystems
Device
Drivers
Network
Drivers
Hardware
I/O Managers Graphics
Subsystem
Graphics
Drivers Other….
Application Application Application
Hardware Interface Layer
Sự so sánh của các RTOS khác
nhau: nhân nhỏ tích hợp
9Vũ Quang Dũng
User Mode
(protected)
Kernel Mode
Device Drivers
Network
Drivers H
ar
d
w
ar
e
Filesystem
Manager
Graphics
Drivers
Application
Application
Application
Filesystem
Drivers
Device
Manager
Photon
Network
Manager
Kernel (tiny)
Hệ điều hành thời gian thực linux
Vi điều khiển:
uClinux - Linux nhỏ (nhân < 512KB) với
TCP/IP
Embedded PC
RTLinux
RTAI (Real-Time Application Interface)
TinyOS
10Vũ Quang Dũng
RTLinux
11Vũ Quang Dũng
Nhân Linux hoạt động dưới chế độ ưu tiên nhỏ nhất
Nhân Linux hoạt đông theo chế độ ưu tiên
Linux nắm bắt và làm việc theo các chế độ ngắt, thông qua các lệnh về ngắt
Chế độ thời gian thực và xử lý thông tin trong Linux thông qua sự phân chia bộ nhớ và các giao
diện của chương trình
Issues
Cơ chế thời gian thực chạy trong cùng một không gian địa chỉ giống như nhân Linux
Các device drivers dành cho cơ chế thời gian thực không thể sử dụng chuẩn cơ chế của
Linux
Không cung cấp các quá trình quản lý tài nguyên
Linux drivers được ngắt trực tiếp khi xảy ra sự cố
RTAI (Real Time Application
Interface)
Dự án mã nguồn mở xây dựng trên ý tưởng của RTLinux, và được tăng khả năng
lên đáng kể
Linux kernel làm thay đổi trong quá trình nắm bắt hàm ngắt và lập lịch, và được cấu
thành bởi
Các nền thời gian thực với độ trễ nhỏ và có sự đoán cao
Và các nền không theo thời gian thực như giao diện người dùng
Tích hợp giữa lập lịch cho các tác vụ của nhân, luồng xử lý và các tiến trình theo của
các tác nhân khác
Luồng xử lý được bảo vệ bởi các quá trình trễ trong các đối tượng lập lịch của
linux
Về cơ bản, thì hàm ngắt là quá trình bẫy của các sự kiện bên ngoài và cần thiết cho
các tiến trình xử lý khác trong Linux
Sử dụng HAL (Hardware Abstraction Layer)
Về quá trình xử lý động, thì một lớp middleware được dùng để điều khiển các tiến
trình gọi thủ tục của các RTAI API
12Vũ Quang Dũng
TinyOS
13Vũ Quang Dũng
● Không hẳn là một hệ điều hành theo quan niệm truyền thống
● Được cấu trúc giống như một tiến trình xử lý trong hệ điều hành
● Application = Scheduler + Graph of Components
● Mô hình song hành – sự kiện và kiến trúc điều khiển
● Chia xẻ đơn của ngăn xếp
● Lập trình trên NesC, một dạng của C
Sự tái cấu hình của phần mềm
Quá trình cảm nhận và hoạt động của networks đòi hỏi
một quá trình liên tục vô hạn
Sự phát triển của phần mềm là quá trình kế thừa liên tục
Tùy biến môi trường hệ thống
Quá trình nâng cấp
Sửa và loại bỏ lỗi
Tái lập các bài toán và tiến trình hệ thống
Tái lập trình triển khai hệ thống
Điều khiển sự tái lập trình là bản chất tất yếu của sự bền
vững
14Vũ Quang Dũng
Kiến trúc hệ thống
15Vũ Quang Dũng
Static Kernel
• Trừu tượng hóa phần cứng và các tiến trình
• Thay đổi sau khi triển khai khó và đắt
• Cấu trúc dữ liệu dành cho các module
Dynamic Modules
• Trình điều khiển, protocols, và các chương trình
• Thay đổi sau khi triển khai dễ dàng và rẻ
• Cấu trúc và vị trí độc lập
Dynamic
Memory
Message
Scheduler
Dynamic
Linker
Kernel
Components
Sensor
Manager
Messaging
I/O
System
Timer
RTOS
Services
Radio I2C ADC Device
Drivers
Tree Routing
Module
Data Collector
Application
Photo-sensor
Module
Dynamically
Loaded modules
Static Small OS Kernel
Embedded Linux
Bộ công cụ (Tool chains)
Bootloader
Xây dựng nhân (Building Linux kernel)
Điều khiển thiết bị (Linux device driver)
Giao diện người sử dụng (GUI)
16Vũ Quang Dũng
Bộ công cụ
Bộ công cụ sử dụng trong phát triển các
mục tiêu của phần cứng
Được sử dụng trong phạm vi xây dựng
phần mềm trên một hệ thống sẽ được cài
đặt hay trên một số hệ thống khác
Đước sử dụng với các thiết bị khác để biên
dịch, tạo thư viện, ngôn ngữ máy …
(compiler, libraries, assembler)
17Vũ Quang Dũng
Lợi ích của bộ công cụ
Bất kỳ dự án nào mà cần thiết trong
xử lý nhúng đều cần thiết phải có
công cụ phát triển phần mềm
Đem lại lợi ích trong phát triển hệ
thống nhúng mới với bộ công cụ
riêng biệt
18Vũ Quang Dũng
Vai trò của bộ công cụ
19Vũ Quang Dũng
Biểu đồ phát triển
20Vũ Quang Dũng
Source Source ...