Nội dung chương 4

244

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

Hệ nhúng

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

245

Hệ nhúng

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

246

Hệ nhúng

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

247

Hệ nhúng

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

248

Hệ nhúng

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

249

Hệ nhúng

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)

250

Hệ nhúng

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)

251

Hệ nhúng

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

252

Hệ nhúng

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

253

Hệ nhúng

Các hệ điều hành nhúng điển hình

254

 Embedded Linux  Windows CE  Android

Hệ nhúng

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

• 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)

255

Hệ nhúng

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,

256

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

Hệ nhúng

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++

257

Hệ nhúng

Windows CE

OEM

ISV, OEM

Microsoft

Applications

Embedded Shell

Remote Connectivity

Windows CE Shell Services

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

GWES

Kernel Library

File Manager

Device Manager

IrDA

TCP/IP

File drivers

Drivers

Device drivers

OAL Bootloader

OEM Hardware

258

Hệ nhúng

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

259

ứng dụng

Hệ nhúng

Android stack

260

Hệ nhúng

Android

 Các thành phần chính

• Linux kernel • Android runtime • Android Native Libraries • Application frameworks • Application

261

Hệ nhúng

Android

262

Hệ nhúng