Hệ điều hành Embedded Linux:

Một phần của tài liệu Bài giảng hệ thống nhúng (Trang 76 - 77)

Thực chất của hệ điều hành embedded Linux là một phiên bản của hệ điều hành Linux được dùng trong các hệ thống nhúng như mobile phone, PDA, set-top box, các thiết bịđiện tử gia dụng, các thiết bị mạng, các thiết bịđiều khiển,.... Theo thống kê hiện có, Linux hiện được sử dụng bởi khoảng 18% các kỹ sư nhúng.

Không giống như phiên bản dành cho desktop và server của Linux, phiên bản embedded Linux được thiết kế cho các thiết bị với tài nguyên giới hạn. Bởi những hạn chế về giá thành và kích thước, các thiết bị nhúng thường có ít RAM và bộ nhớ thứ cấp hơn so với desktop, và thường sử dụng bộ nhớ flash thay vì các ổ đĩa cứng. Bởi vì các thiết bị nhúng thực hiện các chức năng chuyên dụng nên các nhà phát triển đã tối ưu các phiên bản nhúng của Linux cho các cấu hình phần cứng của các hệ thống nhúng. Những tối ưu này giúp giảm thiểu các ứng dụng phần mềm và các trình điều khiển thiết bị, và cho phép thay đổi nhân Linux để nó trở thành 1 hệđiều hành thời gian thực.

Thiết kế của Linux phân biệt giữa các mã phụ thuộc và bộ xử lý cần thay đổi cho mỗi kiến trúc và mã có thểđược khả chuyển đơn giản chỉ bằng việc biên dịch lại nó. Vì vậy, Linux đã được khả chuyển cho nhiều các kiến trúc bộ vi xử lý khác nhau như:

- Motorola 68k và các biến thể của nó. - Alpha.

- ARM. - SPARC. - MIPS. - AVR32. - Blackfin. - ...

Việc sử dụng Linux trong các thiết bị nhúng có ưu điểm là bản quyền miễn phí, nhân ổn định, và được hỗ trợ lớn từ công đồng mã nguồn mở, nhà phát triển được tự do thay đổi và phân phối mã nguồn. Tuy nhiên nhược điểm đó là nó yêu cầu bộ nhớ tương đối lớn cho nhân và hệ thống file gốc, sự phức tạp trong việc truy nhập bộ nhớở chếđộ nhân và chếđộ người sử dụng cũng như nền tảng trình điều khiển thiết bị phức tạp.

Các đặc điểm quan trọng của Linux gồm:

- Đa nhiệm : bộ lập lịch phân bổ trong Linux sử dụng thuật toán lập lịch preemptive trong đó một tiến trình với mức ưu tiên cao hơn sẽ được ưu tiên là tiến trình tiếp theo được CPU thực hiện khi xảy ra một sự kiện không đồng bộ.

- Đa người sử dụng : Linux phát triển từ Unix là một hệ thống chia sẻ theo thời gian cho phép nhiều người sử dụng chia sẻ chung một máy tính. Vì vậy có rất nhiều các chức năng hỗ trợ việc bảo vệ dữ liệu và tính riêng tư.

- Đa xử lý: Linux cung cấp hỗ trợ mở rộng cho đa xử lý đối xứng SMP(Symmetric Multi-Processing).

- Bộ nhớ được bảo vệ: Mỗi tiến trình trong Linux hoạt động trong không gian nhớ riêng của nó và không được cho phép truy cập trực tiếp đến không gian nhớ của một tiến trình khác. Điều này tránh những con trỏ lỗi trong một tiến trình gây phá hoại không gian nhớ của tiến trình khác. Các truy cập sai được bẩy bởi phần cứng bảo vệ bộ nhớ của bộ xử lý và tiến trình sẽ bị ngắt với cảnh báo tương ứng.

- Hệ thống file phân cấp.

Hiện nay, với sự yêu cầu giảm thiểu thời gian phát triển, embedded Linux đang là một xu hướng phát triển mạnh mẽ trong thế giới nhúng.

Một phần của tài liệu Bài giảng hệ thống nhúng (Trang 76 - 77)