Tải bản đầy đủ (.ppt) (19 trang)

BÀI GIẢNG môn học hệ NHÚNG CHƯƠNG 4 hệ điều HÀNH NHÚNG

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (305.27 KB, 19 trang )

BÀI GIẢNG MÔN HỌC HỆ NHÚNG
Chương 4: Hệ điều hành nhúng
4.1. Kiến trúc hệ điều hành nhúng
4.2. Các hệ điều hành nhúng điển hình

1


4.1. Kiến trúc hệ điều hành nhúng
• Hệ điều hành là gì?
• Hệ điều hành bản chất là phần mềm hệ thống
• Quản lý tài nguyên phần cứng máy tính
• Cung cấp các hàm dịch vụ cho phép các ứng dụng tương tác với tài nguyên hệ thống

• Lợi ích của hệ điều hành
• Tăng tính khả chuyển (portable)
• Tăng tính ổn định, tin cậy của hệ thống

2


Sơ đồ phân cấp hệ thống

3


Kiến trúc hệ điều hành Unix

4



Kiến trúc hệ điều hành Windows

5


Kiến trúc hệ điều hành nhúng
• Khái niệm hệ điều hành nhúng
• Mang đặc trưng cơ bản của hệ điều hành
• Quản lý tài nguyên phần cứng và phần mềm của hệ thống
• Trung gian giữa phần cứng và phần mềm, giúp phần cứng làm việc trong suốt với phần
mềm ứng dụng
• Cung cấp giao diện hàm chuẩn cho phần mềm ứng dụng

6


Kiến trúc hệ điều hành nhúng
• Đặc trưng riêng của hệ điều hành nhúng
• Tăng tính tin cậy
• Khả năng tương thích mềm: dễ dàng nâng cấp hay thu gọn để tương thích với
nền tảng hệ thống
• Đòi hỏi ít bộ nhớ hơn
• Cung cấp các cơ chế lập lịch hỗ trợ hệ điều hành thời gian thực (Realtime OS –
RTOS)
• Hỗ trợ các hệ thống không có ổ cứng thông qua cơ chế khởi động và thực thi
từ ROM và RAM
• Tăng tính khả chuyển (portability)

7



Hệ điều hành nhúng thời gian thực
• Hệ thống thời gian thực (Realtime): các phần mềm, phần cứng hoạt
động thỏa mãn các ràng buộc về thời gian
• Phân loại:
• Hard Realtime: không đáp ứng deadline -> lỗi hệ thống
• Firm Realtime: không đáp ứng deadline-> giảm chất lượng dịch vị (QoS)
• Soft Realtime: không đáp ứng deadline -> giảm chất lượng dịch vụ (QoS)

8


Hệ điều hành nhúng thời gian thực

9


Cấu trúc nhân hệ điều hành

10


Các hệ điều hành nhúng điển hình
• Embedded Linux
• Windows CE
• Android

11



Embedded Linux
• Hỗ trợ rất nhiều nền tảng kiến trúc
• Linux kernel bao gồm các thành phần chính








12

Hardware abstract layer (HAL)
Memory Management: quản lý bộ nhớ
Scheduler: lập lịch
File system
IO subsystem
Networking subsystem
Inter Process Communication (IPC)


Embedded Linux
• Hỗ trợ rất nhiều kiến trúc (cả 32 bit và 64 bit)
• X86, ARM, PowerPC, MIPS, SuperH, AVR32, …

• Không hỗ trợ các vi điều khiển hiệu năng thấp
• Hỗ trợ cả kiến trúc có và không có khối quản lý bộ nhớ (MMU)
• Các hệ thống có thể dùng chung toolchains, bootloader và kernel, các
thành phần khác phải riêng biệt và tương thích với từng hệ thống


13


Windows CE
• Hệ điều hành nhúng của Microsoft
 Hỗ trợ 5 kiến trúc phổ biến: ARM/StrongARM, MIPS, PPC, SuperH, X86

• Môi trường phát triển ứng dụng
• Visual Studio + Platform Builder + Emulator
• Embedded Visual C++

14


Windows CE
OEM
OEM

Microsoft
Microsoft

ISV,
ISV, OEM
OEM

Applications
Applications
Embedded
Embedded Shell

Shell

Remote
Remote
Connectivity
Connectivity

Windows
Windows CE
CE Shell
Shell Services
Services

WIN32
WIN32 APIs
APIs
COREDLL,
COREDLL, WINSOCK,
WINSOCK, OLE,
OLE, COMMCTRL,
COMMCTRL, COMMDLG,
COMMDLG, WININET,
WININET, TAPI
TAPI
Kernel
Kernel
Library
Library

GWES

GWES

OAL
OAL
Bootloader
Bootloader

Drivers
Drivers

Device
Device
Manager
Manager

File
File
Manager
Manager

Device
Device
drivers
drivers

File
File drivers
drivers

OEM

OEM Hardware
Hardware
15

IrDA
IrDA

TCP/IP
TCP/IP


Android
• Hệ điều hành phát triển bởi Google trên nền Linux, bước đầu tập
trung phát triển cho điện thoại
• Android chỉ sử dụng lại Linux kernel -> cần kiến thức chuyên sâu về
Android để làm việc với Android
• Android là một stack hoàn chỉnh cho phát triển ứng dụng

16


Android stack

17


Android
• Các thành phần chính







18

Linux kernel
Android runtime
Android Native Libraries
Application frameworks
Application


Android

19



×