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ó



Để 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ời
gian 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 ...
 

Các chủ đề có liên quan khác

Top