Kiến trúc hệ điều hành nhúng 4.2.. 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à
Trang 1Nội dung chương 4
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
Trang 24.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
Trang 3Sơ đồ phân cấp hệ thống
Trang 4Kiến trúc hệ điều hành Unix
Trang 5Kiến trúc hệ điều hành Windows
Trang 6Kiế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
Trang 7Kiế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)
Trang 8Hệ đ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)
Trang 9Hệ điều hành nhúng thời gian thực
Trang 10Cấu trúc nhân hệ điều hành
Trang 11Các hệ điều hành nhúng điển hình
Embedded Linux
Windows CE
Android
Trang 12Embedded 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
• 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)
Trang 13Embedded 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
Trang 14Windows 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++
Trang 15Windows CE
Embedded Shell
Applications
WIN32 APIs COREDLL, WINSOCK, OLE, COMMCTRL, COMMDLG, WININET, TAPI
Windows CE Shell Services
Remote Connectivity
Kernel
Library
IrDA
GWES Device
Manager
File Manager
TCP/IP OAL
Bootloader Drivers
Device drivers File drivers Microsoft OEM ISV, OEM
Trang 16 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
Trang 17Android stack
Trang 18 Các thành phần chính
• Linux kernel
• Android runtime
• Android Native Libraries
• Application frameworks
• Application
Trang 19Android