1. Trang chủ
  2. » Giáo Dục - Đào Tạo

(Tiểu luận) báo cáo bài tập lớn chủ đề tìm hiểu về hệ điều hành nhúng

17 9 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Tìm hiểu về hệ điều hành nhúng
Tác giả Nguyễn Bá Phong, Nguyễn Minh Chí, Nguyễn Văn Hùng, Trần Trung Kiên, Nguyễn Thị Tới, Nguyễn Thị Phấn, Vũ Tiến Quang
Người hướng dẫn Đỗ Tiến Dũng
Trường học Học viện công nghệ bưu chính viễn thông
Chuyên ngành Công nghệ thông tin
Thể loại báo cáo
Năm xuất bản 2023
Thành phố Hà Nội
Định dạng
Số trang 17
Dung lượng 2,37 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Một hệ thống nhúng có thể là một hệ thống độc lập ví dụđồng hồ, máy giặt… hoặc nó có thể là một phần của một hệ thống lớn ví dụhệ thống chống bó cứng phanh trên ô tô, bộ định tuyến trong

Trang 1

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG

KHOA CÔNG NGHỆ THÔNG TIN



BÁO CÁO BÀI TẬP LỚN

CHỦ ĐỀ: TÌM HIỂU VỀ HỆ ĐIỀU HÀNH NHÚNG

Đề tài số: 04

Giảng viên: Đỗ Tiến Dũng

Thành viên: 1 Nguyễn Bá Phong

2 Nguyễn Minh Chí

3 Nguyễn Văn Hùng

4 Trần Trung Kiên

5 Nguyễn Thị Tới

6 Nguyễn Thị Phấn

7 Vũ Tiến Quang

Hà nội 2023

Trang 2

MỤC LỤC

MỤC LỤC 2

LỜI NÓI ĐẦU 3

I Tìm hiểu về hệ thống nhúng 4

1.Khái niệm hệ thống nhúng 4

2.Lịch sử hình thành 4

3.Các thành phần của hệ thống nhúng 5

4.Đặc điểm của một hệ thống nhúng 5

5.Các loại hệ điều hành nhúng 7

6.Các thành phần chức năng của hệ thống nhúng 9

II So sánh khác nhau Embedded OS với nguyên lý hệ điều hành máy tính cá nhân PC (Linux) 10 1.1 Về nguyên tắc thiết kế 10

1.2 Về Mô-đun kernel 10

1.3 Về quản lý tiến trình 10

1.4 Về lập lịch (Scheduling) 11

1.5 Về quản lý bộ nhớ (Memory Management) 11

1.6 Về hệ thống tệp (File Systems) 12

1.7 Về đầu vào và đầu ra (Input and Output) 12

1.8 Về giao tiếp giữa các tiến trình (Interprocess Communication) 12 1.9 Về cấu trúc mạng (Network Structure) 12

1.10 Về bảo mật 13

1.11 Về phát triển ứng dụng 13

III So sánh giống nhau Embedded OS với nguyên lý hệ điều hành máy tính cá nhân PC (Linux) 13 IV Ví dụ về hệ thống nhúng 14 1.1 Hệ thống nhúng trong máy rửa chén tự động 14

1.2 Hệ thống nhúng trong cây ATM 15

Trang 3

LỜI NÓI ĐẦU

Hệ điều hành nhúng là một lĩnh vực quan trọng và hấp dẫn trong ngành công nghệ thông tin, đặc biệt là trong ngữ cảnh của các thiết bị điện tử thông minh và nhúng trong cuộc sống hàng ngày Hệ điều hành nhúng đóng vai trò quan trọng trong việc quản lý và điều khiển các thiết bị nhúng, từ điện thoại di động cho đến thiết bị y tế,

xe ô tô tự hành, và nhiều ứng dụng khác

Trong bối cảnh môi trường kỹ thuật hóa ngày càng gia tăng,

sự phát triển và nâng cao của hệ điều hành nhúng đã mang lại sự tiện lợi và hiệu quả cho cuộc sống của chúng ta Hệ điều hành nhúng giúp điều khiển và tương tác với các thiết bị trong thế giới xung quanh chúng ta một cách đơn giản và hiệu quả hơn

Trong báo cáo này, chúng ta sẽ thảo luận về cơ bản về hệ điều hành nhúng, vai trò quan trọng của nó trong ngành công nghiệp, cũng như những thách thức và cơ hội mà nó mang lại Chúng ta sẽ cùng nhau khám phá cách mà hệ điều hành nhúng thúc đẩy sự phát triển của các thiết bị điện tử thông minh và những ứng dụng tương lai

Bài báo cáo này sẽ giúp bạn hiểu rõ hơn về hệ điều hành nhúng và vai trò quan trọng của nó trong thế giới kỹ thuật hiện đại Chúng tôi hy vọng rằng bạn sẽ có cái nhìn sâu hơn về hệ điều hành nhúng sau khi đọc xong báo cáo này và sẽ thấy sự hứng thú trong việc nghiên cứu và phát triển trong lĩnh vực này

Trang 4

I Tìm hiểu về hệ thống nhúng

1 Khái niệm

Hệ thống nhúng (Embedded Operating System) là một loại hệ thống được thiết kế để chạy trên các thiết bị nhúng, tức là các thiết bị điện tử không phải là máy tính thông thường Một hệ thống nhúng có thể được xem là một

hệ thống phần cứng máy tính có phần mềm được nhúng trong nó phục vụ cho một tác vụ cụ thể Một hệ thống nhúng có thể là một hệ thống độc lập (ví dụ đồng hồ, máy giặt…) hoặc nó có thể là một phần của một hệ thống lớn (ví dụ

hệ thống chống bó cứng phanh trên ô tô, bộ định tuyến trong hệ thống viễn thông…)

2 Lịch sử hình thành

- Vào năm 1960 tại MIT – Viện Công nghệ Massachusetts – hệ thống nhúng được Charles Stark Draper sử dụng lần đầu tiên để phát triển Hệ thống dẫn đường Apollo; hệ thống này thường được sử dụng và cải tiến trong rất nhiều nhiệm vụ không gian của NASA

- Năm 1968, đã có hệ thống nhúng đầu tiên cho ô tô

- Năm 1971 Intel cho ra đời bộ vi xử lý thương mại đầu tiên, Intel 4004;

để thiết kế máy tính (calculator) và các thiết bị điện tử nhỏ

-Cũng vào năm 1971, phát triển bộ vi điều khiển đầu tiên, chứa bộ xử lý 4 bit, bộ nhớ chỉ đọc (ROM) và bộ nhớ truy cập ngẫu nhiên (RAM)

- Năm 1987, hệ điều hành nhúng đầu tiên, VxWorks thời gian thực ra đời

- Đến cuối những năm 1990, các sản phẩm nhúng Linux đầu tiên bắt đầu xuất hiện Ngày nay, Linux được sử dụng trong hầu hết các thiết bị nhúng

Trang 5

3 Các thành phần của hệ thống nhúng

Một hệ thống nhúng có ba thành phần:

 Phần cứng;

 Phần mềm ứng dụng;

 Hệ điều hành thời gian thực (RTOS) giám sát phần mềm ứng dụng và cung cấp cơ chế cho phép bộ xử lý chạy một quy trình theo lịch trình bằng cách tuân theo kế hoạch kiểm soát độ trễ RTOS định nghĩa cách thức hoạt động của hệ thống Nó đặt ra các quy tắc trong quá trình thực thi chương trình ứng dụng

4 Đặc điểm của một hệ thống nhúng

Hệ điều hành nhúng có nhiều đặc điểm khác nhau, dưới đây là một số đặc điểm phổ biến nhất:

Hoạt động Thời gian Thực (Real-time Operations):

Hệ điều hành nhúng được thiết kế để thực hiện các nhiệm vụ cụ thể trong các ràng buộc thời gian xác định Nó đảm bảo rằng các nhiệm

vụ được hoàn thành mà không có sự thực hiện sớm hoặc trễ Có hai loại quy trình thời gian thực: một loại cho phép một khoảng thời gian nhất định và loại khác là cứng, trong đó không có cơ hội trễ Ví dụ bộ điều

Trang 6

khiển hành trình xe hơi liên tục theo dõi và phản ứng với các cảm biến tốc độ và phanh; phải tính toán gia tốc hoặc giảm tốc liên tục trong một thời gian giới hạn; một tính toán chậm trễ có thể dẫn đến việc không kiểm soát được chiếc xe

Sử Dụng Ngắt (Use of Interrupts):

Trong tình huống cần chú ý ngay lập tức đến một sự kiện hoặc quy trình, tín hiệu phát ra từ phần mềm hoặc phần cứng được gọi là ngắt

Hệ điều hành nhúng tích hợp xử lý ngắt, mang lại quyền kiểm soát lớn hơn đối với các thiết bị ngoại vi Điều này cho phép tạm dừng một quy trình đang diễn ra khi bảng xếp hạng nhận được ngắt và chuyển tài nguyên CPU cho quy trình ưu tiên cao nhất

Tính Linh Hoạt của Thiết Bị Đầu Vào/Đầu Ra (Input/Output Device Flexibility):

Hệ điều hành nhúng đóng vai trò như người trung gian giữa phần mềm và phần cứng, lên lịch các quy trình dựa trên độ ưu tiên để tạo điều kiện cho quá trình đầu vào/đầu ra trơn tru Ví dụ, trong máy ATM, người dùng nhập thông tin và hệ thống cung cấp đầu ra tương ứng

Hoạt Động Phản Ứng (Reactive Operation):

Người dùng có thể nhập thông tin vào một thiết bị và nhận được đầu ra Tính năng này cho phép người dùng cung cấp đầu vào khi cần và

hệ điều hành nhúng sẽ hoạt động theo đúng yêu cầu Một ví dụ là đồng

hồ báo thức, khi được đặt bởi người dùng vào một thời điểm cụ thể, nó

sẽ reo đúng theo yêu cầu

Bảo Vệ Tối Giản (Streamlined Protection):

Hệ điều hành nhúng cung cấp bảo vệ cho các thiết bị theo nhiều cách, bao gồm bảo mật dữ liệu Nó nhằm loại bỏ hoặc giảm bớt các quy trình hoặc chức năng không cần thiết để làm tăng cường bảo mật tổng thể của hệ thống

Configurability

Bởi vì sự đa dạng phong phú của hệ thống nhúng, sẽ có sự đa dạng về yêu cầu, cả về số lượng và chât lượng cho các tính năng của hệ điều hành nhúng Vì vậy, hệ điều hành nhúng mà có dự định sử dụng trên đa dạng các hệ thống nhúng phải tự cấu hình linh hoạt để chỉ cung cấp một tính năng cần thiết cho ứng dụng và phần cứng phù hợp cụ thể

Ví dụ, có thể tắt các tính năng không cần thiết như mạng, giao diện đồ họa, hoặc giao thức nếu không sử dụng

Trang 7

Discover more

from:

INT1487

Document continues below

Hệ điều hành

Windows & Linux

Học viện Công nghệ…

5 documents

Go to course

Hệ điều hành Windows

và Linux Unix 2022 new

Hệ điều hành

Windows & Linux None

144

TH phân quyền window server

Hệ điều hành

Windows & Linux None

21

Fix 1 vài lỗi nhỏ bản ghost mới Ubuntu HP

Hệ điều hành

Windows & Linux None

4

Lê Anh Tuấn B21DAT205

Hệ điều hành

Windows & Linux None

32

Of cial Boyfriend Application Form giải tích 1 100% (1)

3

Trang 8

5 Các loại hệ điều hành nhúng

Có nhiều loại hệ điều hành nhúng, và loại hệ điều hành phụ thuộc vào thiết bị mà nó được sử dụng Dưới đây là một số loại hệ điều hành nhúng:

Hệ Điều Hành Thời Gian Thực (Real-Time Operating System - RTOS):

Một hệ điều hành thời gian thực, hay còn gọi là RTOS, là một hệ điều hành quyết định có tài nguyên hoặc chức năng hạn chế, giúp cung cấp các tiến trình đa luồng và hiệu suất tốt Nó được sử dụng trong các ứng dụng hoặc quy trình yêu cầu thời gian cụ thể, như hệ thống radar trong ứng dụng quốc phòng,

hệ thống cung cấp thông tin chứng khoán gần như thời gian thực, và hệ thống kiểm soát giao thông hàng không

Hệ Điều Hành Đa Nhiệm (Multitasking Operating System):

[GR] Answers to Questions within the… Autómatas

Programables 94% (50)

24

Trang 9

Hệ điều hành đa nhiệm có khả năng thực hiện nhiều nhiệm vụ đồng thời, thường được sử dụng trong các thiết bị có nhu cầu sử dụng nhiều như điện thoại di động với hệ điều hành Android và iOS

Hệ Điều Hành Ngắn Chặn (Preemptive Operating System):

Hệ điều hành ngắn chặn tạm dừng quy trình có ưu tiên thấp và chuyển giao cho những quy trình có ưu tiên cao, giúp tăng cường hiệu suất Thường được sử dụng trong các thiết bị như máy tính nơi cần thực hiện các nhiệm vụ

cụ thể có ưu tiên cao

Hệ Điều Hành Monotonic Tần Số (Rate Monotonic Operating System)

Hệ điều hành Monotonic Tần Số được thiết kế để thực hiện phương pháp lên lịch công việc đặc biệt Nó tập trung vào thời gian thực hiện của quy trình

và đảm bảo quy trình thực hiện công việc của mình trong khoảng thời gian cụ thể Thường được sử dụng trong các thiết bị thực hiện nhiều nhiệm vụ cùng một lúc

Hệ Điều Hành Vòng Lặp Kiểm Soát Đơn (Single System Control Loop

Operating System):

Trang 10

Hệ điều hành Vòng Lặp Kiểm Soát Đơn là loại đơn giản và cơ bản nhất

Nó chỉ thực hiện một nhiệm vụ cụ thể và thường được sử dụng trong các thiết

bị như thiết bị kiểm soát nhiệt độ và các cảm biến chuyển động

6 Các thành phần chức năng của hệ thống nhúng

Hệ điều hành nhúng (Embedded Operating System) có nhiều chức năng quan trọng để quản lý tài nguyên hệ thống và hỗ trợ ứng dụng nhúng Dưới đây

là một số chức năng chính của hệ điều hành nhúng:

Quản lý Tài Nguyên:

Hệ điều hành nhúng quản lý và phân phối tài nguyên hệ thống, bao gồm

bộ nhớ, bộ xử lý, và các thiết bị ngoại vi Điều này đảm bảo rằng mỗi ứng dụng có thể sử dụng tài nguyên một cách hiệu quả mà không xung đột với các ứng dụng khác

Lập Lịch Trình (Scheduler):

Hệ điều hành nhúng quản lý việc chuyển đổi giữa các ứng dụng và nhiệm

vụ (tasks) theo lịch trình Lập lịch trình có thể dựa trên các thuật toán như Round Robin, Priority Scheduling, hoặc Rate Monotonic Scheduling tùy thuộc vào yêu cầu của ứng dụng

Quản Lý Bộ Nhớ:

Hệ điều hành nhúng quản lý việc sử dụng bộ nhớ, bao gồm bộ nhớ RAM

và bộ nhớ lưu trữ như flash Nó đảm bảo rằng mọi phần mềm được tải và thực thi một cách đúng đắn

Hỗ Trợ Giao Tiếp và Giao Thức:

Hệ điều hành nhúng hỗ trợ các giao tiếp với các thiết bị ngoại vi thông qua các giao thức như UART, SPI, I2C Nó cung cấp khả năng kết nối và truyền thông giữa các thành phần khác nhau của hệ thống

Quản Lý Ngắt (Interrupt Handling):

Hệ điều hành nhúng xử lý ngắt từ phần cứng, đảm bảo rằng các sự kiện quan trọng có thể được xử lý ngay lập tức và ưu tiên theo đúng thứ tự cần thiết

Hỗ Trợ Đa Nhiệm:

Một số hệ điều hành nhúng hỗ trợ đa nhiệm, cho phép nhiều nhiệm vụ chạy đồng thời Điều này làm tăng hiệu suất hệ thống và đáp ứng yêu cầu của các ứng dụng đòi hỏi đồng thời

Bảo Mật và Quản Lý Quyền:

Trang 11

Các hệ điều hành nhúng cung cấp các tính năng bảo mật để bảo vệ dữ liệu và ngăn chặn truy cập trái phép Nó quản lý quyền truy cập vào tài nguyên

hệ thống

Tích Hợp Giao Diện và Shell:

Một số hệ điều hành nhúng cung cấp giao diện và shell để tương tác với

hệ thống và thực hiện các tác vụ cơ bản Điều này giúp trong quá trình phát triển và kiểm thử

Những chức năng trên giúp hệ điều hành nhúng thực hiện các nhiệm vụ quản lý và hỗ trợ cho ứng dụng nhúng một cách hiệu quả và ổn định Tùy thuộc vào yêu cầu cụ thể của ứng dụng, các hệ điều hành nhúng có các tíng năng và chức năng khác nhau

II So sánh khác nhau Embedded OS với nguyên lý hệ điều hành máy tính

cá nhân PC (Linux)

1.1 Về nguyên tắc thiết kế

Hệ điều hành nhúng: Hệ điều hành nhúng được thiết kế để hoạt động trên các thiết bị nhúng có tài nguyên hạn chế Nguyên tắc thiết kế của hệ điều hành nhúng

là tối ưu hóa kích thước và hiệu suất, đảm bảo tương thích với phần cứng và tiết kiệm năng lượng Nó thường tập trung vào cung cấp các chức năng cơ bản và đáp ứng yêu cầu cụ thể của thiết bị nhúng Hệ điều hành nhúng thường được thiết kế

để chạy trên các thiết bị nhúng như điện thoại di động, thiết bị IoT, thiết bị y tế

hoặc hệ thống điều khiển công nghiệp

Hệ điều hành Linux: Linux được thiết kế với nguyên tắc của một hệ điều hành đa nhiệm, đa người dùng và đa mục tiêu Nó cung cấp một môi trường linh hoạt cho nhiều loại hệ thống, từ máy tính cá nhân đến máy chủ và các thiết bị nhúng, hệ thống có nhu cầu xử lý cao Linux tập trung vào tính bảo mật, tính ổn định và khả năng tương thích với nhiều phần cứng và phần mềm.Về bộ lưu trữ

1.2 Về mô đun kernel (Kernel Modules)

Hệ điều hành nhúng: Hệ điều hành nhúng thường có một kernel nhỏ gọn và tùy chỉnh Chúng hỗ trợ một số ít các mô-đun kernel để hỗ trợ các tính năng cụ thể Mô-đun kernel được sử dụng để tương tác với phần cứng và cung cấp các chức năng bổ sung cho hệ điều hành nhúng

Hệ điều hành Linux: Linux có một kernel mạnh mẽ và hỗ trợ một số lượng lớn các mô-đun kernel Mô-đun kernel trong Linux cho phép người dùng thêm hoặc loại bỏ các tính năng cụ thể mà họ cần Điều này giúp tùy chỉnh và mở rộng

hệ điều hành Linux cho các mục đích cụ thể

1.3 Về quản lý tiến trình

Trang 12

Hệ điều hành nhúng: Hệ điều hành nhúng thường có một bộ quản lý tiến trình đơn giản và hiệu quả Chúng quản lý các tiến trình nhúng và cung cấp các chức năng cơ bản như tạo, xóa và cấp phát tài nguyên cho tiến trình Tuy nhiên, hệ điều hành nhúng thường không hỗ trợ các tính năng phức tạp như quản lý độ ưu tiên tiến trình hoặc quản lý đa nhiệm đa luồng

Hệ điều hành Linux: Linux có một bộ quản lý tiến trình linh hoạt và mạnh

mẽ Nó hỗ trợ quản lý đa nhiệm đa luồng, quản lý độ ưu tiên tiến trình và cung cấp các tính năng phức tạp như quản lý tác vụ và tiến trình nền

1.4 Về lập lịch

Hệ điều hành nhúng: Hệ điều hành nhúng thường có một lập lịch đơn giản và nhẹ nhàng Do các thiết bị nhúng thường có tài nguyên hạn chế, lập lịch trong hệ điều hành nhúng thường tập trung vào việc cung cấp lập lịch đơn giản và hiệu quả

để đảm bảo sự ổn định và hiệu suất cao

Hệ điều hành Linux: Linux cung cấp một hệ thống lập lịch phức tạp và linh hoạt

Nó hỗ trợ nhiều thuật toán lập lịch như lập lịch theo độ ưu tiên, lập lịch đa cấp, lập lịch thời gian thực và lập lịch bằng ngắt Hệ điều hành Linux có thể điều chỉnh lập lịch dựa trên các yêu cầu cụ thể của các ứng dụng và hệ thống

1.5 Về quản lý bộ nhớ

Hệ điều hành nhúng:

 Bộ nhớ vật lý: Hệ điều hành nhúng thường hoạt động trên các thiết bị có tài nguyên hạn chế, bao gồm bộ nhớ vật lý Do đó, quản lý bộ nhớ vật lý trong hệ điều hành nhúng thường phải tối ưu hóa để sử dụng hiệu quả tài nguyên có sẵn Hệ điều hành nhúng thường sử dụng các cơ chế như quản lý bộ nhớ nhúng (embedded memory management) để xử lý bộ nhớ vật lý và đảm bảo tính tin cậy và hiệu suất

 Bộ nhớ ảo: Trong hệ điều hành nhúng, sự hỗ trợ cho bộ nhớ ảo có thể hạn chế hoặc không có Điều này có nghĩa là các ứng dụng trong hệ điều hành nhúng thường phải làm việc trực tiếp với bộ nhớ vật lý và không

có lợi ích của bộ nhớ ảo như trên hệ điều hành máy tính thông thường

Hệ điều hành Linux:

 Bộ nhớ vật lý: Hệ điều hành Linux quản lý bộ nhớ vật lý trên các máy tính thông thường Nó sử dụng các cơ chế quản lý bộ nhớ như bảng trang (page tables) để ánh xạ địa chỉ ảo sang địa chỉ vật lý Hệ điều hành Linux cung cấp chức năng phân trang (paging) để quản lý bộ nhớ vật lý

và cho phép các tiến trình sử dụng không gian địa chỉ ảo lớn hơn thực tế của bộ nhớ vật lý

 Bộ nhớ ảo: Linux hỗ trợ bộ nhớ ảo, cho phép các tiến trình sử dụng không gian địa chỉ ảo lớn hơn thực tế của bộ nhớ vật lý Khi bộ nhớ vật

lý cạn kiệt, hệ điều hành Linux sẽ sử dụng bộ nhớ ảo để lưu trữ dữ liệu

Ngày đăng: 26/12/2023, 04:56

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w