1. Trang chủ
  2. » Luận Văn - Báo Cáo

Đồ án tốt nghiệp Nghiên cứu hệ điều hành nhúng và giải pháp an toàn cho thiết bị chuyên dụng

92 1,3K 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

Định dạng
Số trang 92
Dung lượng 2,83 MB

Nội dung

Ngày này, sự phát triển của công nghệ thông tin (CNTT) ngày càng chiếm một vị trí quan trọng trong mọi lĩnh vực của cuộc sống. Sự bùng nổ của khoa học công nghệ nói chung và công nghệ thông tin nói riêng đã đem lại rất nhiều lợi ích cho con người, rút ngắn khoảng cách về địa lý, tăng hiệu suất, tiết kiệm thời gian và chi phí cho công việc… Có thể khẳng định công nghệ thông tin đang giữ một vai trò quan trọng trong sự phát triển của loài người nói chung và sự phát triển kinh tế, chính trị, xã hội của một đất nước nói riêng, Việt Nam cũng không là một ngoại lệ. Việc nắm bắt được vai trò, thực trạng của CNTT nước ta sẽ giúp ta có cái nhìn tổng thể về CNTT Việt Nam đồng thời đưa ra giải pháp và các xu thế phát triển của nó đối với sự phát triển xã hội, nhằm hoàn thiện, nâng cao hiệu quả và chất lượng mạng lưới CNTT nước ta.

Trang 1

để thực hiện khóa luận này.

Đặc biệt, em xin bày tỏ lòng biết ơn sâu xắc đến TS Hồ Văn Hương,người đã tận tình chỉ bảo, giúp đỡ và tạo điều kiện về nhiều mặt để em có thểhoàn thành khóa luận này

Em xin chân thành gửi lời cảm ơn đến tập thể lớp AT3C, trường Học Viện

Kỹ Thuật Mật Mã đã giúp đỡ, nhiệt tình chia sẻ đóng góp những kinh nghiệmquý báu cho em

Cuối cùng xin cảm ơn gia đình, anh chị em, bạn bè đã giúp đỡ, tạo điềukiện và đóng góp cho em nhiều ý kiến quý báu trong cuộc sống, công việc vàhọc tập nói chung cũng như trong quá trình thực hiện khóa luận này

Mặc dù, đã có nhiều cố gắng nhưng do hạn hẹp về thời gian, điều kiện vềtrình độ nên không tránh khỏi khuyết điểm Em chân thành mong nhận được sựgóp ý của thầy cô, bạn bè

Hà Nội, tháng 6 năm 2011

Người thực hiệnNguyễn Vân Thành

Trang 2

MỤC LỤC LỜI CẢM ƠN I

BẢNG CÁC TỪ VIẾT TẮT VI DANH SÁCH CÁC HÌNH VẼ………VII

LỜI NÓI ĐẦU 1

CHƯƠNG 1: 3

HỆ THỐNG NHÚNG 3

1.1 TỔNG QUAN 3

1.1.1 Khái niệm 3

1.1.2 Kiến trúc hệ thống nhúng……… 4

1.1.3 Lĩnh vực ứng dụng của hệ nhúng 5

1.1.4 Thiết kế hệ thống nhúng …… .6

1.1.5 Đặc điểm công nghệ và xu thế phát triển của hệ thống nhúng 6

1.1.5.1 Đặc điểm công nghệ 6

1.1.5.2 Xu thế phát triển của hệ thống nhúng 8

1.2 HỆ ĐIỀU HÀNH NHÚNG 9

1.2.1 Tổng quan 9

1.2.2 Bộ nạp khởi tạo 10

1.2.3 Các yêu cầu chung 12

1.2.4 Hệ điều hành thời gian thực 14

1.2.5 Ưu điểm của hệ điều hành nhúng với hệ điều hành thông thường 17

1.3 Tìm hiểu một số hệ điều hành nhúng cơ bản 18

1.3.1 Trên hệ điều hành Windows 18

1.3.1.1 Windows CE 18

1.3.1.2 Windows XP Embedded 20

1.3.2 Trên hệ điều hành Linux 22

Trang 3

1.3.2.1 Embedded Linux 22

1.3.2.2 RTLinux 25

1.3.2.2 RTLinux 25

1.3.2.4 Android 26

1.3.3 Khả năng ứng dụng và triển khai lập trình trên hệ điều hành nhúng 27

1.3.3.1 Khả năng ứng dụng 27

1.3.3.2 Triển khai lập trình trên hệ điều hành nhúng 28

1.4 KẾT CHƯƠNG 29

CHƯƠNG 2: 30

HỆ ĐIỀU HÀNH ANDROID 30

2.1 GIỚI THIỆU CHUNG 30

2.2 TÍNH NĂNG ƯU VIỆT CỦA ANDROID 32

2.3 KIẾN TRÚC HỆ ĐIỀU HÀNH ANDROID 34

2.4 ỨNG DỤNG TRÊN HỆ ĐIỀU HÀNH ANDROID 39

2.5 KHẢ NĂNG PHÁT TRIỂN CỦA HỆ ĐIỀU HÀNH ANDROID 42

2.6 MỘT SỐ RỦI RO GÂY MẤT AN TOÀN CHO HỆ ĐIỀU HÀNH ANDROID .42

2.7 MỘT SỐ GIẢI PHÁP AN TOÀN CHO HỆ ĐIỀU HÀNH ANDROID 43

2.8 KẾT CHƯƠNG 45

CHƯƠNG 3: 46

LÝ THUYẾT VỀ AN TOÀN BẢO MẬT THÔNG TIN 46

3.1 GIỚI THIỆU 46

3.2 TÌM HIỀU VỀ MÃ HÓA THÔNG TIN 47

3.3 TIÊU CHUẨN ĐÁNH GIÁ HỆ MẬT MÃ 48

3.4 PHÂN LOẠI HỆ MẬT MÃ 48

3.5 HỆ MẬT MÃ ĐỐI XỨNG 48

3.5.1 Khái niệm 48

Trang 4

3.5.2 Các thuật toán trong hệ mật mã đối xứng 49

3.5.3 Tìm hiểu về thuật toán mã hoá AES 49

3.6 HỆ MẬT MÃ BẤT ĐỐI XỨNG 52

3.6.1 Khái niệm 53

3.6.2 Các thuật toán trong hệ mật mã bất đối xứng 53

3.6.3 Thuật toán RSA 54

3.6.3.1 Mô tả thuật toán RSA 55

3.6.4 Trao đổi khóa Diffie Hellman 57

3.7 HÀM BĂM 59

3.8 CHỮ KÝ SỐ 60

3.8.1 Khái niệm chữ ký số 60

3.8.2 Sơ đồ chữ ký số 62

3.9 CHỨNG NHẬN KHÓA CÔNG KHAI 63

3.10 KẾT CHƯƠNG 65

CHƯƠNG 4: 66

MỘT SỐ GIẢI PHÁP TĂNG CƯỜNG BẢO MẬT CHO HỆ ĐIỀU HÀNH ANDROID 66

4.1 MỘT SỐ GIẢI PHÁP ĐÃ ĐƯỢC TRIỂN KHAI 66

4.1.1 Bảo vệ truy cập 66

4.1.2 Bảo vệ truy cập ứng dụng cụ thể 67

4.1.3 Ẩn các ứng dụng 69

4.1.4 Phòng chống virus 71

4.2 ĐỀ XUẤT GIẢI PHÁP AN TOÀN BẢO MẬT CHO HỆ ĐIỀU HÀNH ANDROID 72

4.2.1 Giải pháp bảo mật dữ liệu 72

4.2.2 Giải pháp bảo vệ Email trong hệ điều hành Android 75

4.2.3 Giải pháp bảo vệ phần mềm ứng dụng trên hệ điều hành Android 77

Trang 5

4.2.4 Giải pháp bảo vệ truy cập thông qua mật khẩu và xác thực 78

KẾT LUẬN 80 TÀI LIỆU THAM KHẢO 81

Trang 6

BẢNG CÁC TỪ VIẾT TẮT

Real-time operating system RTOS Hệ thống thời gian thực

API Giao diện lập trình ứng dụng

Android-Development Tools ADT Các công cụ phát triển AndroidCertificate Authority CA Chứng nhận khóa công khaiDomain Name Service DNS Dịch vụ phân giải tên miền

Avandted-Encryption

Standard

AES Chuẩn mã hóa tiên tiến

Trang 7

DANH SÁCH CÁC HÌNH VẼ

Hình 1.1.1 Một vài hình ảnh về hệ nhúng 3

Hình 1.1.2 Kiến trúc tổng thể của một hệ thống nhúng 5

Hình 1.2.1 Kiến trúc hệ điều hành 10

Hình 1.2.2 Nguyên lý hoạt động của bộ nạp khởi tạo boot-loader 11

Hình 1.2.4a Cấu trúc hệ điều hành thời gian thực 15

Hình 1.2.4b Mô hình trạng thái của quá trình 16

Hình 1.3.2.1b Embedded Linux 24

Hình 1.3.2.6 Android 26

Hình 2.3 Kiến trúc hệ điều hành Android 34

Hình 3.5.1 Mã hóa khóa bí mật 49

Hình 3.5.3 Sơ đồ thuật toán AES 50

Hình 3.6.1 Mã hoá và giải mã với khóa công khai 53

Hình 3.6.3 Thuật toán RSA 55

Hình 3.6.4 Thuật toán Diffie- Hellman 59

Hình 3.8 Chữ ký số 63

Hình 4.2.1a Giải pháp mã hóa dữ liệu 73

Hình 4.2.1b Tấn công xen giữa 74

Trang 8

LỜI NÓI ĐẦU

Ngày này, sự phát triển của công nghệ thông tin (CNTT) ngày càng chiếmmột vị trí quan trọng trong mọi lĩnh vực của cuộc sống Sự bùng nổ của khoa họccông nghệ nói chung và công nghệ thông tin nói riêng đã đem lại rất nhiều lợiích cho con người, rút ngắn khoảng cách về địa lý, tăng hiệu suất, tiết kiệm thờigian và chi phí cho công việc…

Có thể khẳng định công nghệ thông tin đang giữ một vai trò quan trọngtrong sự phát triển của loài người nói chung và sự phát triển kinh tế, chính trị, xãhội của một đất nước nói riêng, Việt Nam cũng không là một ngoại lệ Việc nắmbắt được vai trò, thực trạng của CNTT nước ta sẽ giúp ta có cái nhìn tổng thể vềCNTT Việt Nam đồng thời đưa ra giải pháp và các xu thế phát triển của nó đốivới sự phát triển xã hội, nhằm hoàn thiện, nâng cao hiệu quả và chất lượng mạnglưới CNTT nước ta

Công nghệ thông tin tác động đến mọi mặt của đời sống xã hội, ảnh hưởngsâu sắc đến xã hội loài người, tạo nên những thay đổi mang tính chất đột phá.Phát triển các hệ nhúng và phần mềm nhúng là quốc sách của nhiều quốcgia trên thế giới, nhất là vào giai đoạn hậu PC hiện nay Các hệ nhúng là sự kếthợp phần cứng và phần mềm một cách tối ưu, ngày càng có độ mềm dẻo cao đápứng các yêu cầu nhanh chóng đưa sản phẩm ra thương trường, có khả năng bảotrì từ xa, có tính cá nhân cao Các phần mềm nhúng trong các chip vi hệ thốngnày rất phong phú và có độ mềm dẻo, tái sử dụng cao

Sức kéo của thị trường đòi hỏi các thiết bị phải có nhiều chức năng thânthiện với người dùng, có mức độ thông minh ngày càng cải thiện đưa đến vai trò

và tầm quan trọng của các hệ thống nhúng ngày càng cao trong nền kinh tế quốcdân

Do chức năng của hệ thống nhúng là hết sức quan trọng nên việc an toànbảo mật cho nó phải được đặt lên hàng đầu trước khi đi vào công việc triển khaixây dựng hệ thống

Trang 9

Xuất phát từ những lí do trên, em đã chọn làm đề tài “ Nghiên cứu hệ điềuhành nhúng và giải pháp an toàn cho thiết bị chuyên dụng ” nhằm đem lại nhữngkiến thức cơ bản về hệ điều hành nhúng, khai thác các ứng dụng, các công cụ vàđưa ra một số giải pháp an toàn bảo mật cho hệ điều hành nhúng.

Nội dung của đề tài được chia làm 4 chương với nội dung cơ bản sau:

Chương 1: HỆ THỐNG NHÚNG

Chương này trình bày về hệ thống nhúng, các khái niệm về hệ nhúng, vàcác vấn đề liên quan Đặc biệt trình bày về một số hệ điều hành nhúng cơ bảntrên Windows, Linux…đưa ra những khái niệm, ưu nhược điểm của nó so với hệđiều hành thông thường chạy trên PC

Chương 2: HỆ ĐIỀU HÀNH NHÚNG ANDROID

Chương này trình bày một số vấn đề về hệ điều hành Android như nguồngốc ra đời, quá trình phát triển và tầm quan trọng của nó trong cuộc sống số ngàynay Từ đó đi sâu vào nghiên cứu chức năng các tầng của kiến trúc ANDROID,ứng dụng của hệ điều hành Android trên máy tính bảng và trên điện thoại Nêunên một số rủi ro gây mất an ninh, và giải pháp an toàn trên hệ điều hànhAndroid

Chương 3: LÝ THUYẾT AN TOÀN BẢO MẬT THÔNG TIN

Chương này trình bày một số vấn đề liên quan về an toàn thông tin trênmạng, nội dung của an toàn và bảo mật thông tin Tìm hiểu hai hệ mật mã kinhđiển là Mật mã khóa bí mật và mật mã khóa công khai…

Chương 4: MỘT SỐ GIẢI PHÁP TĂNG CƯỜNG BẢO MẬT CHO

HỆ ĐIỀU HÀNH ANDROID TRÊN ĐIỆN THOẠI

Chương này trình bày một số giải pháp bảo mật cho hệ điều hành Android,các ứng dụng chạy trên hệ điều hành này đảm bảo an toàn và tránh rủi ro xảy ratrong quá trình sử dụng

Trang 10

Chương 1:

HỆ THỐNG NHÚNG

1.1 TỔNG QUAN

1.1.1 Khái niệm

Trong thế giới thực của chúng ta bất kỳ một thiết bị hay hệ thống điện/điện

tử có khả năng xử lý thông tin và điều khiển đều có thể tiềm ẩn trong đó mộtthiết bị hay hệ thống nhúng, ví dụ như các thiết bị truyền thông, thiết bị đo lườngđiều khiển, các thiết bị phục vụ sinh hoạt hàng ngày như lò vi sóng, máy giặt,camera…Rất dễ dàng để có thể kể ra hàng loạt các thiết bị hay hệ thống như vậyđang tồn tại quanh ta Vậy hệ thống nhúng là gì và nên hiểu thế nào về hệ thốngnhúng? Hiện nay cũng chưa có một định nghĩa nào thực sự thoả đáng để đượcchuẩn hoá và thừa nhận rộng rãi cho hệ thống nhúng mà vẫn chỉ là những kháiniệm để diễn tả về chúng thông qua những đặc thù chung Tuy nhiên ở đâychúng ta có thể hiểu hệ thống nhúng là một phần hệ thống xử lý thông tin nhúngtrong các hệ thống lớn, phức tạp và độc lập ví dụ như trong ôtô, các thiết bị đolường, điều khiển, truyền thông và thiết bị thông minh nói chung

Hình 1.1.1 Một vài hình ảnh về hệ nhúng

Trang 11

Hệ thống nhúng là một hệ thống máy tính, đó là một hệ thống được tíchhợp cả phần cứng và phần mềm phục vụ cho các bài toán chuyên dụng trongnhiều lĩnh vực công nghiệp, tự động hóa điều khiển, quan trắc và truyền thông

Các hệ thống nhúng bị giới hạn nhiều hơn về phần cứng và phần mềm sovới máy tính cá nhân Giới hạn phần cứng có thể bao gồm giới hạn về khả năng

xử lý, tiêu thụ điện năng, bộ nhớ, chức năng phần cứng,… Còn giới hạn phầnmềm thường liên quan đến việc hỗ trợ ít ứng dụng, ứng dụng bị thu gọn tínhnăng, hệ điều hành có nhiều hạn chế Tuy nhiên, ngày nay, những giới hạn này

đã được khắc phục đáng kể bằng các hệ thống nhúng được thiết kế phức tạp vàđầy đủ tính năng hơn

Hệ thống nhúng được thiết kế để thực hiện một chức năng chuyên biệt nào

đó Đây là điểm khác biệt so với các hệ thống máy tính khác như máy tính cánhân hoặc các siêu máy tính có thể thực hiện nhiều chức năng khác nhau vớinhững phép tính phức tạp Chuyên dụng giúp nâng cao tính dễ sử dụng và tiếtkiệm tài nguyên

Vài dòng thiết bị nhúng có những yêu cầu rất cao về chất lượng và độ tincậy Lỗi của hệ thống nhúng có thể gây ra tai nạn khủng khiếp: Hệ thống điềukhiển máy bay, tên lửa, hệ thống điều khiển động cơ ô tô…Lỗi trên hệ thốngnhúng có thể không sửa được (vd: vệ tinh nhân tạo), nếu sửa được thì chi phícũng rất cao

1.1.2 Kiến trúc hệ thống nhúng

Mỗi hệ thống nhúng đều có một kiến trúc tổng thể gồm 3 phần như sau:

 Hardware: đây là thành phần bắt buột phải có cho tất cả các hệ thốngnhúng, nó gồm có:

+ Vi xử lý, bộ nhớ, tụ điện, điện trở, mạch tích hợp, bảng mạch in,connector …

 Phần mềm hệ thống: Quản lý bộ nhớ, quản lý tiến trình, quản lý chia sẽtài nguyên, có thể tái sử dụng trên một hệ thống nhúng khác, nó gồm có:

Trang 12

+ Device driver: UART, Ethernet, ADC…

+ Hệ điều hành nhúng: eCos, ucLinux, Monta Vista Linux, BIOS…

 Phần mềm ứng dụng: Quyết định hành vi (chức năng) của một hệ thốngnhúng, khó tái sử dụng trên một hệ thống nhúng khác

Hình 1.1.2 Kiến trúc tổng thể của một hệ thống nhúng

1.1.3 Lĩnh vực ứng dụng của hệ nhúng

Chúng ta có thể kể ra được rất nhiều ứng dụng của hệ thống nhúng đangđược sử dụng hiện nay, và xu thế sẽ còn tiếp tục tăng nhanh Một số các lĩnh vực

và sản phẩm thị trường rộng lớn của các hệ nhúng có thể được nhóm như sau:

Các thiết bị điều khiển

Ô tô, tàu điện

Trang 13

1.1.5 Đặc điểm công nghệ và xu thế phát triển của hệ thống nhúng

1.1.5.1 Đặc điểm công nghệ

Các hệ thống nhúng đều có chung một số đặc điểm như yêu cầu về khảnăng thời gian thực, độ tin cậy, tính độc lập và hiệu quả Một câu hỏi đặt ra là tạisao hệ thống nhúng lại phát triển và được phổ cập một cách nhanh chóng nhưhiện nay Câu trả lời thực ra nằm ở các yêu cầu tăng lên không ngừng trong cácứng dụng công nghệ hiện nay Một trong những yêu cầu cơ bản đó là:

Trang 14

Khả năng độc lập và thông minh hoá: Điều này được chỉ rõ hơn thông quamột số các thuộc tính yêu cầu, cụ thể như:

+ Hiệu quả về thời gian thực hiện

+ Kích thước và khối lượng

+ Giá thành

Phân hoạch tác vụ và chức năng hoá:

Các bộ vi xử lý trong các hệ nhúng thường được sử dụng để đảm nhiệm

và thực hiện một hoặc một nhóm chức năng rất độc lập và cũng đặc thù cho từngphần chức năng của hệ thống lớn mà nó được nhúng vào Ví dụ như một vi xử lýthực hiện một phần điều khiển cho một chức năng thu thập, xử lý và hiển thị củaôtô hay hệ thống điều khiển quá trính Khả năng này làm tăng thêm sự chuyênbiệt hoá về chức năng của một hệ thống lớn và dễ dàng hơn cho quá trính xâydựng, vận hành và bảo trì

Khả năng thời gian thực:

Các hệ thống đều gắn liền với việc đảm nhiệm một chức năng chính vàphải được thực hiện đúng theo một khung thời gian qui định Thông thường một

Trang 15

chức năng của hệ thống phải được thực hiện và hoàn thành theo một yêu cầu thờigian định trước để đảm bảo thông tin cập nhật kịp thời cho phần xử lý của cácchức năng khác và có thể ảnh hưởng trực tiếp tới sự hoạt động đúng và chính xáccủa toàn hệ thống Tuỳ thuộc vào từng bài toán và yêu cầu của hệ thống mà yêucầu về khả năng thời gian thực cũng rất khác nhau.

Tuy nhiên, trong thực tế không phải hệ nhúng nào cũng đều có thể thoả mãntất cả những yêu cầu nêu trên, vì chúng là kết quả của sự thoả hiệp của nhiều yêucầu và điều kiện nhằm ưu tiên cho chức năng cụ thể mà chúng được thiết kế.Chính điều này lại càng làm tăng thêm tính chuyên biệt hoá của các hệ/thiết bịnhúng mà các thiết bị đa năng không thể cạnh tranh được

1.1.5.2 Xu thế phát triển của hệ thống nhúng

Vì sự phát triển hệ nhúng là sự kết hợp nhuần nhuyễn giữa phần cứng vàphần mềm nên công nghệ gắn liền với nó cũng chính là công nghệ kết hợp giữacác giải pháp cho phần cứng và mềm Vì tính chuyên biệt của các thiết bị/hệnhúng như đã giới thiệu nên các nền phần cứng cũng được chế tạo để ưu tiên đápứng cho chức năng hay nhiệm vụ cụ thể của yêu cầu thiết kế đặt ra

Lớp hệ nhúng ưu tiên phát triển theo tiêu chí về kích thước nhỏ gọn, tiêuthụ năng lượng ít, giá thành thấp

Lớp hệ nhúng ưu tiên thực thi khả năng xử lý tính toán với tốc độ thực hiệnnhanh

Lớp hệ thống ưu tiên cả hai tiêu chí phát triển của hai lớp trên, tức là kíchthước nhỏ gọn, mức tiêu thụ năng lượng thấp, tốc độ tính toán nhanh Đó cũng

là sự kết hợp đa dạng và sự ra đời của các hệ nhúng nói chung nhằm thoả mãncác ứng dụng phát triển không ngừng

Trong xu thế phát triển không ngừng và nhằm thoả mãn được nhu cầu pháttriển nhanh và hiệu quả có rất nhiều các công nghệ cho phép thực thi các giảipháp hệ nhúng Hiện nay cũng đã có nhiều nhà phát triển công nghệ phần mềmlớn đang hướng vào thị trường hệ nhúng bao gồm cả Microsoft Ngoài một số

Trang 16

các hệ điều hành Windows quen thuộc dùng cho PC, Microsoft cũng đã tung ra các phiên bản mini như WindowsCE, WindowsXP Embedded và các công cụ

phát triển ứng dụng kèm theo để phục vụ cho các thiết bị nhúng, điển hình nhưcác thiết bị PDA, một số thiết bị điều khiển công nghiệp như các máy tínhnhúng, IPC của Siemens

Có thể nói hệ nhúng đã trở thành một giải pháp công nghệ và phát triển mộtcách nhanh chóng, hứa hẹn nhiều thiết bị nhúng sẽ chiếm lĩnh được thị trườngrộng lớn trong tương lai nhằm đáp ứng nhu cầu ứng dụng không ngừng trongcuộc sống của chúng ta Đối với lĩnh vực công nghiệp về điều khiển và tự độnghoá, hệ nhúng cũng là một giải pháp đầy tiềm năng đã và đang được ứng dụngrộng rãi Nó rất phù hợp để thực thi các chức năng thông minh hoá, chuyên biệttrong các hệ thống và thiết bị công nghiệp, từ các hệ thống tập trung đến các hệthống phân tán

1.2 HỆ ĐIỀU HÀNH NHÚNG

1.2.1 Tổng quan

Nguồn gốc ra đời của hệ điều hành là để đảm nhiệm vai trò trung gian đểtương tác trực tiếp với phần cứng của máy tính, phục vụ cho nhiều ứng dụng đadạng Các hệ điều hành cung cấp một tập các chức năng cần thiết để cho phépcác gói phần mềm điều khiển phần cứng máy tính mà không cần phải can thiệptrực tiếp sâu Điều này tạo ra một giao diện rất thuận lợi cho các ứng dụng vàngười sử dụng phát triển phần mềm trên các nền phần cứng đã có Đồng thờitránh được yêu cầu và hiểu biết sâu sắc về phần cứng và có thể phát triển dựatrên các ngôn ngữ bậc cao

Hệ điều hành bản chất cũng là một loại phần mềm nhưng nó khác với cácloại phần mềm thông thường Sự khác biệt điển hình là hệ điều hành được nạp vàthực thi đầu tiên khi hệ thống bắt đầu khởi động và được thực hiện trực tiếp bởi

bộ xử lý của hệ thống Hệ điều hành được viết để phục vụ điều khiển bộ xử lýcũng như các tài nguyên khác trong hệ thống bởi vì nó sẽ đảm nhiệm chức năngquản lý và lập lịch các quá trình sử dụng CPU và cùng chia sẻ tài nguyên

Trang 17

Hình 1.2.1 Kiến trúc hệ điều hành

Tóm lại, hệ điều hành thực chất chính là một giao diện quan trọng, giao tiếptrực tiếp với tầng phần cứng cấp thấp phục vụ cho cả người sử dụng cũng nhưcác chương trình ứng dụng thực thi trên nền phần cứng hệ thống Hơn nữa hệđiều hành còn có vai trò quan trọng trong việc đảm nhiệm 3 tác vụ nguyên lýchính:

(1) Quản lý quá trình

(2) Quản lý tài nguyên

(3) Bảo vệ tài nguyên khỏi sự xâm phạm của các quá trình thực thi sai

1.2.2 Bộ nạp khởi tạo

Bộ nạp khởi tạo thực chất là một chương trình nhỏ thực hiện trong hệ thống

và đảm nhiệm chức năng cần thiết để đưa hệ điều hành vào hoạt động Chươngtrình này thường rất nhỏ gọn và đảm nhiệm chức năng tiền hoạt động của hệ điềuhành Trong các hệ nhúng, các lệnh được thực hiện đầu tiên thường nằm trongcác vùng nhớ ROM và thường thuộc loại chậm Dó đó, một trong những tác vụphổ biến của bộ nạp khởi tạo là sao chép chương trình ứng dụng chính (mainprogram) vào trong vùng bộ nhớ nhanh trước khi chúng được thực hiện

Bộ nạp khởi tạo cũng có nhiệm vụ khởi tạo vùng nhớ dữ liệu và các thanhghi hệ thống trước khi nhảy tới chương trình ứng dụng chính Cũng có rất nhiều

Trang 18

dạng khác nhau của bộ nạp khởi tạo, từ dạng đơn giản đến phức tạp Dạng đơngiản nhất có thể chỉ là một lệnh nhảy tới chương trình ứng dụng chính ngay sau

khi reset mà không thực hiện bất kỳ một tác vụ khởi tạo hay nạp chương trình gì.

Chương trình ứng dụng chính sẽ phải tự thiết lập để thực thi tác vụ của mình.Các bộ nạp khởi tạo phức tạp hơn có thể thực hiện nhiệm vụ chuẩn đoán bộ nhớ

và khởi tạo hệ thống, kiểm tra chương trình và nạp chúng trước khi cho bộ xử lýnhảy tới thực hiện chương trình ứng dụng chính

Hình 1.2.2 Nguyên lý hoạt động của bộ nạp khởi tạo boot-loader Boot-loader cũng có nhiều dạng khác nhau Trong các trường hợp hệ thống

phức tạp hơn, bộ nạp khởi tạo có thể bao hàm cả tác vụ sao chép chương trình

chính vào trong vùng nhớ fast volatile trước khi nó được gọi và thực thi Bộ nạp

khởi tạo cũng có thể đảm nhiệm cả chức năng chuẩn đoán, gỡ rối và nâng cấp hệthống nếu có

Chức năng chuẩn đoán có thể chỉ là kiểm tra bộ nhớ, ngoại vi và độ tươngthích tích hợp trong hệ thống Chức năng gỡ rối cũng có thể là một giao diệngiám sát cung cấp thông tin và trạng thái thời gian thực về hệ thống mà người tavẫn thường biết tới với tên gọi là chương trình monitoring Việc nâng cấp hoặcthay đổi chương trình bộ nạp khởi tạo cũng có thể được thực thi nhờ khả năng

lập trình FLASH in-circuit và nạp từ bộ nhớ ngoài thông qua giao diện với trạm

chủ hoặc chức năng tương tự

Trang 19

1.2.3 Các yêu cầu chung

Như chúng ta đã được biết đối với các hệ thống thời gian thực, yêu cầu thiết

kế một hệ điều hành khá đặc biệt Hệ nhúng thời gian thực lại yêu cầu hệ điềuhành phải thực hiện với một nguồn tài nguyên thường rất hạn hẹp Mặc dù kích

thước bộ nhớ tích hợp on-chip sẽ có thể tăng lên trong tương lai nhưng với sự

phát triển hiện nay hệ điều hành cho các hệ nhúng chỉ nên cỡ khoảng nhỏ hơn 32Kbytes

Hệ điều hành đảm nhiệm việc điều khiển các chức năng cơ bản của hệthống bao gồm chủ yếu là quản lý bộ nhớ, ngoại vi và vào ra giao tiếp với hệthống phần cứng Một điểm khác biệt cơ bản như chúng ta đã biết về hệ điềuhành với các phần mềm khác là nó thực hiện chức năng điều khiển sự kiện thựcthi trong hệ thống Có nghĩa là nó thực hiện các tác vụ theo mệnh lệnh yêu cầu từcác chương trình ứng dụng, thiết bị vào ra và các sự kiện ngắt

Bốn nhân tố chính tác động trực tiếp tới quá trình thiết kế hệ điều hành là: (1) Khả năng thực hiện

(2) Năng lượng tiêu thụ

(3) Giá thành

(4) Khả năng tương thích

Hiện nay chúng ta cũng có thể bắt gặp rất nhiều hệ điều hành khác nhauđặc biệt cho các hệ nhúng cũng vì sự tác động của 4 nhân tố nêu trên Hầu hếtchúng đều có kiểu dạng và giao diện khá giống nhau nhưng cơ chế quản lý vàthực thi các tác vụ bên trong rất khác nhau Mỗi hệ điều hành được thiết kế phục

vụ trực tiếp các chức năng đặc thù phần cứng của hệ nhúng và không dễ dàng sosánh được giữa chúng với nhau

Hai thành phần chính trong thiết kế hệ điều hành là: phần hạt nhân (kernel)

và các chương trình hệ thống

Trang 20

Hạt nhân chính là phần lõi của hệ điều hành Nó được sử dụng để phục vụcho các bộ quản lý quá trình, bộ lập lịch bộ quản lý tài nguyên và bộ quản lý vào

ra Phần hạt nhân đảm nhiệm chức năng lập lịch, đồng bộ và bảo vệ hệ thống bởiviệc sử dụng sai, xử lý ngắt…

Chức năng điều khiển chính của nó là phục vụ điều khiển phần cứng baogồm ngắt, các thanh ghi điều khiển, các từ trạng thái và các bộ định thời gian Nónạp các phần mềm điều khiển thiết bị để cung cấp các tiện ích chung và phối hợpvới các hoạt động vào ra với hệ thống Phần hạt nhân có vai trò điều khiển rấtquan trọng để đảm bảo tất cả các phần của hệ thống có thể làm việc ổn định vàthống nhất

Hai kiến trúc thiết kế phần hạt nhân kinh điển nhất là kiến trúc vi hạt nhân

và đơn hạt nhân (monolithic)

Các vi hạt nhân cung cấp các chức năng điều hành cơ bản cốt lõi (thô) theo

cơ chế các module tương đối độc lập đảm nhiệm các tác vụ cụ thể và chuyển rời

rất nhiều các dịch vụ điển hình điều hành hệ thống thực thi trong không gianngười sử dụng Nhờ cơ chế này mà các dịch vụ có thể được khởi tạo hoặc cấuhình lại mà không nhất thiết phải khởi tạo lại toàn bộ hệ thống

Kiến trúc vi hạt nhân cung cấp độ an toàn cao bởi vì dịch vụ hệ thống chạy

ở tầng người sử dụng với hạn chế về truy nhập vào tài nguyên của hệ thống và cóthể được giám sát Kiến trúc vi hạt nhân có thể được xây dựng một cách mềmdẻo để phù hợp với cấu hình phần cứng khác nhau một cách linh hoạt hơn so vớikiểu kiến trúc hạt nhân monolithic

Tuy nhiên do tính độc lập tương đối giữa các modul trong vi hạt nhân nên

cần thiết phải có một cơ chế trao đổi thông tin hay truyền thông giữa các modul

đó vì vậy có thể là lý do làm chậm tốc độ và giảm tính hiệu quả hoạt động của hệthống Đặc điểm nổi bật và cốt lõi của kiến trúc vi hạt nhân là kích thước nhỏ và

dễ dàng sửa đổi cũng như xây dựng linh hoạt hơn Các dịch vụ thực thi ở tầngtrên của hạt nhân vì vậy đạt được độ an toàn cao

Trang 21

Kiến trúc vi hạt nhân được phát triển mạnh mẽ trong các hệ thống đa xử lý

ví dụ như Windows 2000, Mach và QNX

Kiểu kiến trúc monolithic cung cấp tất cả chức năng/dịch vụ chính yếu

thông qua một qua trình xử lý đơn lẻ Chính vì vậy kích thước của chúng thườnglớn hơn kiểu kiến trúc vi hạt nhân Loại hình kiến trúc này thường được áp dụng

chủ yếu cho các phần cứng cụ thể mà hạt nhân monolithic có sự tương tác trực

tiếp với phần cứng nhờ vậy mà khả năng tối ưu cũng dễ dàng hơn so với áp dụngkiểu kiến trúc vi hạt nhân Chính vì vậy cũng là lý do tại sao kiến trúc monolithickhông thể thay đổi mềm dẻo linh hoạt như kiểu vi hạt nhân

Ví dụ điển hình về loại hình kiến trúc hạt nhân monolithic bao gồm Linux,MacOS, và DOS

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

Hệ điều hành thời gian thực là hệ điều hành hỗ trợ khả năng xây dựng các

hệ thống thời gian thực Hệ điều hành với phần lõi là hạt nhân phải đảm nhiệmcác tác vụ chính như sau:

Điều khiển ngoại vi

+ Xử lý ngắt+ Khởi tạo giao tiếp vào ra

Trang 22

Hình 1.2.4a Cấu trúc hệ điều hành thời gian thực.

Tuỳ theo cơ chế thực hiện và xây dựng hoạt động của hạt nhân người taphân ra một số loại hình sau:

(1) Hệ thống thời gian thực nhỏ: Với loại này các phần mềm được pháttriển mà không cần có hệ điều hành, người lập trình phải tự quản lý và xử lý cácvấn đề về điều khiển hệ thống bao gồm:

+ Xử lý ngắt+ Điều khiển quá trình/ tác vụ+ Quản lý bộ nhớ

(2) Công nghệ đa nhiệm:

+ Mỗi quá trình có một không gian bộ nhớ riêng

+ Các quá trình phải được chia nhỏ thành các Thread cùng chia sẻ

không gian bộ nhớ

(3) Các dịch vụ cung cấp bởi hạt nhân:

+ Tạo và kết thúc quá trình/ tác vụ+ Các dịch vụ về định thời gian+ Một số các dịch vụ cung cấp hỗ trợ việc thực thi liên quan đếnđiều khiển hệ thống

Đặc điểm cơ bản của hạt nhân thời gian thực điển hình:

Kích thước nhỏ (lưu trữ toàn bộ trong ROM)

Hệ thống ngắt

Trang 23

Không nhất thiết phải có các cơ chế bảo vệ:

+ Chỉ hỗ trợ phần kiểm tra chương trình ứng dụng+ Tăng tốc độ chuyển ngữ cảnh và truyền thông giữa các quá trình+ Khi các quá trình ứng dụng đang thực hiện thì các yêu cầu hệthống điều hành có thể được thực hiện thông qua các lời gọi hàm thay vì sử dụng

cơ chế ngắt mềm

Vi hạt nhân (Micro-kernel): Bao gồm một tập nhỏ các dịch vụ hỗ trợ

Quản lý quá trình

Các dịch vụ truyền thông giữa các quá trình nếu cần

Các phần mềm điều khiển thiết bị là các quá trình ứng dụng

Các kiểu loại hạt nhân cơ bản:

Hạt nhân thực hiện vòng lặp thăm dò

Hạt nhân thực hiện theo cơ chế ngắt

Hạt nhân quá trình vận hành quá trình

Việc lựa chọn loại hạt nhân nào hoàn toàn tùy thuộc vào các bộ xử lý vàkích thước phần mềm, tuy nhiên riêng loại hạt nhân vận hành theo quá trìnhkhông phù hợp với các bộ xử lý nhỏ

Hạt nhân quá trình:

Các hạt nhân quá trình rõ ràng là phức tạp hơn các hạt nhân thực hiệntheo cơ chế thăm dò và điều khiển ngắt Các đường truyền tín hiệu logic bêntrong các quá trình và các dịch vụ ngắt được tích hợp và thực hiện thông quaviệc truyền dữ liệu

Hình 1.2.4b Mô hình trạng thái của quá trình.

Trang 24

Hạt nhân sẽ phải đảm nhiệm chức năng lập lịch cho các quá trình theo đúng

mô hình trạng thái

+ RUN: quá trình được thực hiện

+ WAIT: các quá trình chờ một sự kiện hoặc tín hiệu vào ra kích hoạt quátrình

+ READY: các quá trình sẵn sàng được thực hiện

Các phần tử thuộc tính của một quá trình: Các phần tử này cần thiết đểphục vụ cho việc lập lịch Ví dụ đối với cơ chế lập lịch theo mức độ ưu tiên sẽyêu cầu thông tin sau với mỗi quá trình:

+ Tên (địa chỉ bộ nhớ của phần tử quá trình)+ Trạng thái: RUN, WAIT, READY

+ Mức độ ưu tiên+ Ngữ cảnh

1.2.5 Ưu điểm của hệ điều hành nhúng với hệ điều hành thông thường

Đặc điểm của các hệ điều hành nhúng là hoạt động ổn định và có tínhnăng tự động hoá cao Hệ điều hành nhúng thường được thiết kế để thực hiệnmột chức năng chuyên biệt nào đó

Khác với các máy tính đa chức năng, chẳng hạn như máy tính cá nhân, một

hệ thống nhúng chỉ thực hiện một hoặc một vài chức năng nhất định, thường đikèm với những yêu cầu cụ thể và bao gồm một số thiết bị máy móc và phần cứngchuyên dụng mà ta không tìm thấy trong một máy tính đa năng nói chung

Vì hệ thống chỉ được xây dựng cho một số nhiệm vụ nhất định nên các nhà thiết kế có thể tối ưu hóa nó nhằm giảm thiểu kích thước và chi phí sản xuất

Xét về độ phức tạp, hệ thống nhúng có thể rất đơn giản với một vi điều khiển hoặc rất phức tạp với nhiều đơn vị, các thiết bị ngoại vi và mạng lưới đượcnằm gọn trong một lớp vỏ máy lớn

Trang 25

 Một số tính năng của hệ thống nhúng so với hệ thống trên PC

Hệ điều hành nhúng Hệ điều hành thông thường

1.3 Tìm hiểu một số hệ điều hành nhúng cơ bản

Khác với PC thường chạy trên nền hệ điều hành Windows hoặc Unix, các

hệ thống nhúng có các hệ điều hành nhúng riêng của mình Các hệ điều hànhdùng trong các hệ nhúng nổi trội hiện nay bao gồm Windows CE, Windows XPEmbedded, Embedded linux, Lynyos, BSD, Green Hills, QNX và DOS…

1.3.1 Trên hệ điều hành Windows

1.3.1.1 Windows CE

Đặc điểm: Windows CE, là tên của một hệ điều hành thuộc Microsoft.Đây là một hệ điều hành mã nguồn mở 32 bit, được sử dụng cho các hệ thốngnhúng Nó nhỏ gọn, có hiệu suất cao trong các cấu hình bộ nhớ hạn chế, hỗ trợmột loạt các nhúng, điện thoại di động hay dòng sản phẩm đa phương tiện Nóđược sử dụng cho các thiết bị thông minh như các vi điều khiển dùng trong côngnghiệp, các thiết bị đầu cuối trong tiêu dùng như camera, điện thoại di động, cácthiết bị giải trí gia đình

- Ưu điểm:

+ Chi phí thấp, công cụ phát triển quen thuộc: Các công cụ phát triển đầu

tiên dành cho hệ điều hành chính: Platform Builder, Platform Builder chứa tất cảcác trình biên dịch chéo, lắp ráp, công cụ gỡ lỗi từ xa, bộ tải khởi động, điều

Trang 26

khiển thiết bị mẫu (bàn phím, màn hình LCD, nối tiếp, hồng ngoại, màn hìnhcảm ứng…), các nền tảng mẫu, và các thành phần hệ điều hành

+ Khả năng mở rộng, đầy đủ tính năng hệ điều hành: Windows CE có thểđược tùy chỉnh cho một sản phẩm bằng cách chọn từ một tập các module phầnmềm có sẵn Ngoài ra, một số các mô-đun componentizable, có nghĩa là bạn cóthể tuỳ chỉnh các mô-đun bằng cách chọn từ một tập hợp các thành phần có sẵncho module đó Bởi vì hệ điều hành Windows CE là từng phần, bạn có thể thiết

kế hệ thống nhúng vào các nền tảng sử dụng các thiết lập tối thiểu của cácmodule phần mềm và các thành phần cần thiết để hỗ trợ các yêu cầu hệ thốngcủa nền tảng Điều này giảm thiểu bộ nhớ và tối đa hóa hiệu suất của hệ điềuhành Windows CE quy mô từ một hạt nhân với một hệ điều hành đầy đủ tínhnăng với mạng lưới và GUI

+ Hỗ trợ thiết bị mở rộng: Windows CE trực tiếp hỗ trợ nhiều loại thiết bịngoại vi và các thiết bị phần cứng, chẳng hạn như bàn phím, thiết bị chuột, mànhình cảm ứng, cổng nối tiếp, Ethernet, modem, thiết bị USB, các thiết bị âmthanh, cổng song song, các thiết bị máy in, và thiết bị lưu trữ (ATA hoặc phươngtiện truyền thông flash)

+ Hỗ trợ nhiều bộ vi xử lý: Hiện nay các kiến trúc vi xử lý hỗ trợ bao gồm:NEC, Philips, Toshiba MIPS 39xx và 4xxx, Motorola PowerPC 821, 823, 850,

860, Hitachi SH3 và SH4, Intel 486 và Pentium (và tương đương: AMD, Cyrix,SGS Thomson) , ARM, và Intel X-Scale Nhiều sự lựa chọn cho phép các OEMchọn kiến trúc có giá tốt nhất / hiệu quả cho ứng dụng cụ thể của họ

- Nhược điểm :

+ Mã nguồn: Microsoft cung cấp cho các nhà phát triển một phần của mã

nguồn Windows CE, cũng như các công cụ phát triển để sửa đổi hệ điều hànhvới mục đích cụ thể Windows CE vẫn được coi là một hệ thống hoàn toàn đóngcửa, tuy nhiên điều này có thể là một bất lợi lớn nếu mức độ tuỳ biến vượt xanhững gì được cung cấp trong gói phần mềm phát triển Linux là một lựa chọnphổ biến cho một sự thay thế nếu tình hình này xảy ra

Trang 27

+ Giá thành cao: Windows CE tốn kém so với tùy chọn hệ thống nhúngkhác Phát triển gói công cụ của nó là $ 995, và thời gian chạy giấy phép là 3 $mỗi lõi và 16 $ cho mỗi chuyên nghiệp Phát triển một nhà điều hành trong hệthống nhúng có thể được ít tốn kém hơn so với Windows CE, tùy thuộc vào mức

độ sản xuất của các thiết bị có hệ điều hành sẽ được sử dụng trên

+ Hệ thống hạn chế: Các nền tảng Windows CE cung cấp hạn chế đáng kểkhi nói đến giới hạn quy trình và bộ nhớ Có giới hạn là 32 quá trình đồng thời

Ngoài ra còn có một giới hạn 32 MB không gian ảo cho mỗi ứng dụng Điều này

chỉ áp dụng đối với Windows CE 5.0 và trước đó, Windows CE 6.0 không còn

có những hạn chế này

1.3.1.2 Windows XP Embedded

Đặc điểm: Windows XP Embedded là một phiên bản từng phần của

Windows XP Professional có chứa tất cả các tính năng, chức năng, và sự quenthuộc của Windows XP Professional Windows XP Embedded cho phép bạnnhanh chóng phát triển đáng tin cậy và đầy đủ tính năng thiết bị kết nối Bằngcách hỗ trợ phần cứng và phần mềm tiêu chuẩn, Windows XP Embedded làmcho nó dễ dàng hơn và ít tốn kém cho bạn để xây dựng một hình ảnh thời gianchạy

Hình 1.3.1.2 Mối quan hệ của Windows XP Professional và Windows XP

Embedded

XPe được dựa trên những chương trình tương tự như XP Pro, nhưng XPeđược tiếp thị theo hướng phát triển cho các OEM (nhà sản xuất thiết bị gốc), cácISV (nhà cung cấp phần mềm độc lập) và IHVs (nhà cung cấp phần cứng độc

Trang 28

lập) mà muốn đầy đủ Win32 API hỗ trợ của Windows nhưng không có chi phícủa các chuyên nghiệp Nó chạy các ứng dụng Windows hiện tại và điều khiểnthiết bị ngoài sẵn có trên các thiết bị với kỹ thuật thấp hơn so với những gìchuyên nghiệp đòi hỏi

Các thiết bị nhắm mục tiêu cho XPe đã bao gồm các máy ATM, máy khe,tính tiền, máy arcade, robot công nghiệp, máy trạm mỏng, đồng hồ thời gian…tùy phiên bản của hệ điều hành có thể được triển khai vào bất cứ điều gì, nhưngmột máy tính hoàn chỉnh, thậm chí mặc dù XPe hỗ trợ các phần cứng tương tựnhư XP Pro hỗ trợ (kiến trúc x86), cấp giấy phép hạn chế ngăn cản bạn từ việctriển khai nó vào máy tính để bàn tiêu chuẩn / máy tính xách tay

- Ưu điểm:

+ Windows XP Embedded được xây dựng trên cơ sở mã khi đã được chứngminh của Windows XP, có tính năng một kiến trúc tính toán 32-bit và bộ nhớmột mô hình bảo vệ đầy đủ Windows XP Embedded cho phép các nhà phát triển

sử dụng công nghệ mới nhất trên nền Windows cung cấp

+ Phát triển nhúng có thể tận dụng lợi thế của tất cả các tính năng tuyệt vời

có sẵn trong Windows XP chẳng hạn như khả năng đa phương tiện Tính năngbao gồm Universal Serial Bus (USB) và Internet Explorer 6.0

+ Windows XP Embedded cũng bao gồm các tính năng cho phép nhúng,chẳng hạn như khởi động linh hoạt và lưu trữ Options, và Enhanced Write Filter

Hỗ trợ giao thức mạng toàn diện bao gồm Hiệp hội dữ liệu hồng ngoại (IrDA).+ Windows XP Embedded bao gồm một bộ công cụ hoàn toàn được thiết kếlại cho phép các thiết bị dựa trên Windows XP Embedded được đưa ra thị trườngnhanh hơn Các Windows mới nhúng Studio streamlines quá trình phát triển đầucuối đến đầu cuối cho phép phát triển nhanh chóng cấu hình, xây dựng và triểnkhai thiết kế thông minh với các ứng dụng phong phú

- Nhược điểm

+ Sử dụng bản cập nhật bảo mật chỉ được cung cấp bởi Microsoft

Trang 29

+ Không cung cấp bản vá lỗi quét.

+ Hệ thống nặng: Mặc dù yêu cầu hệ thống của XPe không cao (128 MBRAM, 20GB ổ cứng không gian, bộ xử lý 500MHz), Microsoft khuyến cáo hailần những con số này để chạy hệ thống Trong thực tế, hệ thống này là vụng về

và dễ bị xâm nhập Những yêu cầu này là cao đối với một hệ thống mà dành cho

một hoạt động cá nhân

+ Windows API là dễ bị tổn thương: Không giống như hệ điều hànhMacintosh và các bản phân phối Linux khác nhau, Windows là rất dễ bị virus và

phần mềm độc hại Các API Windows (chương trình ứng dụng) đã được phát

triển trên một khung xây dựng và vá lỗi Hệ thống này dựa vào phần mềm chốngvirus để bắt các phần mềm tấn công lỗ hổng của nó trong khi các lỗ hổng không

cố định Từ năm 2001 Microsoft đã tiếp tục phát hành các gói dịch vụ mà cố

gắng để cắm lỗ hổng bảo mật, nhưng trách nhiệm sâu sắc hơn về các API vẫncòn

1.3.2 Trên hệ điều hành Linux

1.3.2.1 Embedded Linux

Do thị trường của các sản phẩm nhúng tăng mạnh nên các nhà sản xuấtngày càng sử dụng các hệ điều hành nhúng để bảo đảm sản phẩm có sức cạnhtranh và Embedded Linux đang là sản phẩm hệ điều hành nhúng có uy tín chiếm

vị trí hàng đầu

Trang 30

Hình 1.3.2.1a Một số sản phẩm ứng dụng công nghệ Embedded Linux

Cách đây 10 năm, Embedded Linux là một ý tưởng gây ngạc nhiên đối vớimọi người Những năm sau đó, Embedded Linux được phát triển bởi nhiều phiên

bản khác nhau như bản DIY (do-it-yourself), MontaVista, WindRiver…

Số lượng công ty sử dụng các phiên bản của embedded Linux vẫn tiếp tụctăng nhanh Các hãng lớn như Motorola, NEC, Panasonic áp dụng thành côngphiên bản MontaVista Linux trên hàng triệu sản phẩm điện thoại di động

Theo thống kê của hãng Embedded System Design, trong năm vừa qua, thì

có 21% trong tổng số các nhà phát triển sử dụng embeddedLinux.Trong năm naythì con số là 36,7% (theo Embedded Market Forecasters)

Hiện nay, Embedded Linux đang phát triển mạnh và chiếm vị trí số 1.Hiện nay 40% các nhà thiết kế các hệ nhúng cân nhắc đầu tiên sử dụngEmbedded Linux cho các ứng dụng mới của mình và sau đó mới đến các hệ điềuhành nhúng truyền thống như Win CE

Trang 31

+ Giao diện Hệ Điều Hành gọn nhẹ (Portable Operation System Interface)+ Khả năng xử lí mạnh: Hiệu suất thực thi cao, nhanh, tần suất thất bạithấp, chạy ổn định, hỗ trợ nhiều tập công cụ và tiện ích, khả năng làm việc vớimạng cao.

+ Hỗ trợ đa dạng phần cứng: từ 1 đến nhiều vi xử lí, từ các hệ thống đơngiản đến phức tạp, hỗ trợ đầy đủ khả năng tùy biến người dùng trong tất cả cácthành phần của nó

+ Embedded Linux thiếu một chuẩn thống nhất và không phải là sản phẩmcủa một nhà cung cấp duy nhất nên khả năng hỗ trợ kỹ thuật ít

Hình 1.3.2.1b Embedded Linux

Trang 33

RT-Linux dựa trên Linux để khởi động, điều khiển thiết bị mạng, file hệthống, kiểm soát quá trình Linux, và cho các mô-đun hạt nhân thể nạp được sửdụng để làm cho mở rộng hệ thống thời gian thực và dễ dàng chỉnh sửa

Thực tế là RTLinux là một sản phẩm tốt, tuy nhiên, sử dụng rộng rãi chocác sản phẩm nhạy cảm trong lĩnh vực viễn thông và các ứng dụng quân sự Giaodiện chương trình khá đơn giản và có thể phát triển các nhiệm vụ thời gian thựcchính xác RTLinux cung cấp hệ thống truyền thông FIFO hoặc bộ nhớ chia sẻgiữa các nhiệm vụ thời gian thực và không gian người sử dụng trong các ứngdụng đang chạy bình thường

+ Tính di động cao hơn, và phát triển nhanh hơn

+ Cải thiện hiệu suất lịch trình,

+ Điều khiển Kit, một hệ thống dựa trên XML cho đơn giản, hội nhập, lọc

kỹ thuật số

+ Mở rộng POSIX hỗ trợ, bao gồm cả chia sẻ bộ nhớ với phát triển kiếnthức

Trang 34

+ Hỗ trợ đặt tên tùy tiện thời gian thực.

1.3.2.4 Android

Android là hệ điều hành trên điện thoại di động phát triển bởi Google vàdựa trên nền tảng Linux Trước đây, Android được phát triển bởi công ty liênhợp Android ( sau đó được Google mua lại vào năm 2005)

Android có một cộng đồng những nhà phát triển rất lớn viết các ứng dụngcho hệ điều hành của mình Hiện tại có khoảng 70,000 ứng dụng cho Android os

và vào khoảng 100,000 ứng dụng đã được đệ trình, điều này khiến Android trởthành hệ điều hành di động có môi trường phát triển lớn thứ 2 Các nhà phát triểnviết ứng dụng cho Android dựa trên ngôn ngữ Java

Sự ra mắt của Android vào ngày 5 tháng 11 năm 2007 gắn với sự thànhlập của liên minh thiết bị cầm tay mã nguồn mở, bao gồm 78 công ty phần cứng,phần mềm và viễn thông nhằm mục đính tạo nên một chuẩn mở cho điện thoại diđộng trong tương lai

Google công bố hầu hết các mã nguồn của Android theo bản cấp phépApache Hệ điều hành Android bao gồm 12 triệu dòng mã; 3 triệu dòng XML,2.8 triệu dòng mã C, 2.1 triệu mã Java và 1.75 triệu dòng mã C++

Hình 1.3.2.4 Android

Trang 35

1.3.3 Khả năng ứng dụng và triển khai lập trình trên hệ điều hành nhúng 1.3.3.1 Khả năng ứng dụng

Các hệ điều hành nhúng rất đa dạng và có nhiều kích cỡ, khả năng tínhtoán khác nhau Ví dụ đối với một bộ điều khiển từ xa chỉ cần tới độ tính toán

100 KIPS và bộ nhớ vài KB, đối với thiết bị điều khiển cần tốc độ 1MIPS, 1MB

bộ nhớ và đối với các hệ nhúng quân sự tốc độ xử lý có thể lên đến 1GIPS, tốc

độ truyền 1GB/sec và 32 MB bộ nhớ

Ngoài ra các hệ điều hành nhúng thường phải hoạt động trong môi trườngkhắc nghiệt có độ nóng ẩm, rung xóc cao Ví dụ các hệ điều khiển các máydiesel cho tàu biển, các thiết bị cảnh báo cháy nổ trong hầm lò

Xu hướng phát triển của các hệ thống nhúng hiện nay là:

- Phần mềm ngày càng chiếm tỷ trọng cao và đã trở thành một thành phầncấu tạo nên thiết bị bình đẳng như các phần cơ khí, linh kiện điện tử, linh kiệnquang học…

- Các hệ nhúng ngày càng phức tạp hơn đáp ứng các yêu cầu khắt khe vềthời gian thực, tiêu ít năng lượng và hoạt động tin cậy ổn định hơn

- Các hệ nhúng ngày càng có độ mềm dẻo cao đáp ứng các yêu cầu nhanhchóng đưa sản phẩm ra thương trường, có khả năng bảo trì từ xa, có tính cá nhâncao

- Các hệ nhúng ngày càng có khả năng hội thoại cao, có khả năng kết nốimạng và hội thoại được với các đầu đo cơ cấu chấp hành và với người sử dụng,

- Các hệ nhúng ngày càng có tính thích nghi, tự tổ chức cao có khả năng táicấu hình như một thực thể, một tác nhân

- Các hệ nhúng ngày càng có khả năng tiếp nhận năng lượng từ nhiều nguồnkhác nhau (ánh sáng, rung động, điện từ trường, sinh học….) để tạo nên các hệthống tự tiếp nhận năng lượng trong quá trình hoạt động

Trang 36

1.3.3.2 Triển khai lập trình trên hệ điều hành nhúng

Tương tự như các sản phẩm phần mềm khác, phần mềm hệ thống nhúngcũng được phát triển nhờ việc sử dụng các trình biên dịch (compilers), chươngtrình dịch hợp ngữ (assembler) hoặc các công cụ gỡ rối (debuggers) Tuy nhiên,các nhà thiết kế hệ thống nhúng có thể sử dụng một số công cụ chuyên dụngnhư:

• Bộ gỡ rối mạch hoặc các chương trình mô phỏng (emulator)

• Tiện ích để thêm các giá trị checksum hoặc CRC vào chương trình, giúp

hệ thống nhúng có thể kiểm tra tính hợp lệ của chương trình đó

• Đối với các hệ thống xử lý tín hiệu số, người phát triển hệ thống có thể sửdụng phần mềm workbench như MathCad hoặc Mathematica để mô phỏng cácphép toán

• Các trình biên dịch và trình liên kết (linker) chuyên dụng được sử dụng đểtối ưu hóa một thiết bị phần cứng

• Một hệ thống nhúng có thể có ngôn ngữ lập trình và công cụ thiết kế riêngcủa nó hoặc sử dụng và cải tiến từ một ngôn ngữ đã có sẵn

Các công cụ phần mềm có thể được tạo ra bởi các công ty phần mềmchuyên dụng về hệ thống nhúng hoặc chuyển đổi từ các công cụ phát triển phầnmềm GNU Đôi khi, các công cụ phát triển dành cho máy tính cá nhân cũngđược sử dụng nếu bộ xử lý của hệ thống nhúng đó gần giống với bộ xử lý củamột máy PC thông dụng

Các ngôn ngữ được dùng trong lập trình cho hệ điều hành nhúng gồm cóJava,C+ +, ASM, Fortran, Cobol, Lisp

Các hệ điều hành nhúng hoạt động ổn định, tự động hoá cao, độc lập vàbảo mật

Trang 37

1.4 KẾT CHƯƠNG

Nội dung chương này trình bày một số khái niệm về hệ nhúng, và vấn đềliên quan Giúp ta hiểu được đặc điểm công nghệ và các ứng dụng của nó trongthực tế Đồng thời tìm hiểu một số hệ điều hành nhúng trên Windows, Linux…đưa ra những khái niệm, ưu nhược điểm của mỗi hệ điều hành, xu hướng pháttriển Từ cái nhìn tổng quan về hệ điều hành nhúng đó sẽ chọn một hệ điều hànhđặc biệt để nghiên cứu sâu hơn trong chương tiếp, cụ thể là hệ điều hànhAndroid

Trang 38

Chương 2:

HỆ ĐIỀU HÀNH ANDROID

2.1 GIỚI THIỆU CHUNG

Android Application Framework là một gói phần mềm dạng ngănxếp dành cho các thiết bị di động, gồm một hệ điều hành(Linux), phần tiện ích và các ứng dụng chính Các ứng dụngđược viết bằng ngôn ngữ lập trình Java và chạy trên Dalvik, mộtmáy ảo thông thường được thiết kế dành cho thiết bị nhúng thựcthi trên nhân Linux

Android là một hệ điều hành di động dựa trên nền tảnglinux phiên bản 2.6 dành cho các dòng điện thoại SmartPhone.Đầu tiên được ra đời bởi công ty liên hợp Android, sau đó đượcGoogle mua lại và phát triển từ năm 2005 và trở thành một hệđiều hành di động mã nguồn mở, miễn phí, mạnh mẽ và được ưachuộng cao trên thế giới

Trang 39

Năm 2008, hệ điều hành android đã chính thức mở toàn bộ

mã nguồn, điều đó cho phép các hãng điện thoại có thể đem mãnguồn về tùy chỉnh, thiết kế lại sao cho phù hợp với mỗi mẫu

mã điện thoại của họ và điều quan trọng nữa là hệ điều hành

mở này hoàn toàn miễn phí, không phải trả tiền nên giúp họ tiếtkiệm khá lớn chi phí phát triển hệ điều hành Những điều đó làcực kỳ tốt không chỉ đối với các hãng sản xuất điện thoại nhỏ

mà ngay cả với những hãng lớn như Samsung, HTC

Android liên tục được phát triển, mỗi bản cập nhật từgoogle là mỗi lần android được tối ưu hóa để hoạt động tốt hơn,nhanh và ổn định hơn, hỗ trợ thêm công nghệ mới Chẳng hạnnhư theo một đánh giá thì android phiên bản 2.2 hoạt độngnhanh hơn bản 2.1 tới 450% Hiện nay, phiên bản mới nhất 2.3phát hành ngày 6/12/2010 và đang tiếp tục được cập nhật

Với Google, vì android hoàn toàn miễn phí, Google khôngthu tiền từ những hãng sản xuất điện thoại, tuy không trực tiếphưởng lợi từ android nhưng bù lại, những dịch vụ của hãng nhưGoogle Search, Google Maps, nhờ có android mà có thể dễdàng xâm nhập nhanh vào thị trường di động vì mỗi chiếc điệnthoại được sản xuất ra đều được tích hợp hàng loạt dịch vụ củaGoogle Từ đó hãng có thể kiếm bội, chủ yếu là từ các nguồnquảng cáo trên các dịch vụ đó

Với các nhà phát triển ứng dụng (developers), việc hệ điềuhành android được sử dụng phổ biến đồng nghĩa với việc họ cóthể thoải mái phát triển ứng dụng trên nền android với sự tintưởng là ứng dụng đó sẽ có thể chạy được ngay trên nhiều dòngđiện thoại của các hãng khác nhau Họ ít phải quan tâm là đangphát triển cho điện thoại nào, phiên bản bao nhiêu vì nền tảngandroid là chung cho nhiều dòng máy, máy ảo Java đã chịutrách nhiệm thực thi những ứng dụng phù hợp với mỗi dòng điện

Trang 40

thoại mà nó đang chạy Tất cả các chương trình ứng dụng đượcviết bằng ngôn ngữ Java kết hợp với XML nên có khả năng khảchuyển cao

Hệ điều hành android là một hệ điều hành rất mạnh, cóbảo mật cao, hỗ trợ được nhiều công nghệ tiên tiến như 3G,GPS, Wifi tương thích với nhiều phần cứng, hỗ trợ nhiều loại bộnhập dữ liệu như keyboard, touch

Android là hệ điều hành di động nên có khả năng kết nốicao với các mạng không dây Hỗ trợ công nghệ OpenGL nên cókhả năng chơi các phương tiện media, hoạt hình cũng như trìnhdiễn các khả năng đồ họa khác cực tốt, là tiền đề để phát triểncác ứng dụng có giao diện phức tạp chẳng hạn như là các tròchơi

Một số hãng sản xuất điện thoại có sử dụng hệ điều hànhandroid tiêu biểu:

HTC , LG, MOTOROLA, SAMSUNG, ACER…

2.2 TÍNH NĂNG ƯU VIỆT CỦA ANDROID

Cùng với sự phong phú về chủng loại, cấu hình và giá thành, điện thoạiAndroid đã trở nên phổ biến và xâm nhập ngày càng sâu rộng tới người sử dụngtrên thế giới Sau đây là một vài tính năng ưu việt giúp cho hệ điều hành Androidđược sử dụng phổ biến vậy

 Mã nguồn mở: Khi mới bắt đầu sử dụng hệ điều hành này mọi ngườithường thấy rất khó khăn nhưng chỉ cần bỏ chút thời gian mày mò là họ có thểquen và thấy thích hệ điều hành này Sở dĩ Android được người dùng ưa chuộngnhất có lẽ vì chúng được tạo nên từ nền tảng nguồn mở nên cho phép người dùng

có thể tùy biến nhiều trên đó Mặt khác, với Android thiết bị người dùng khôngđòi hỏi phải có một cầu hình tối thiểu nào cả Chúng có thể hoạt động trên mọi

Ngày đăng: 22/07/2014, 11:08

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1]. Học viện Kỹ thuật Mật mã , Giáo trình chứng thực điện tử, 2006 Khác
[2]. Doãn Cao Cường, Nghiên cứu, khai thác hệ điều hành nhúng (embedded OS) và khả năng xây dựng hệ thống Firewall trên hệ điều hành nhúng, 2010 Khác
[3]. Nguyễn Xuân Thành, Nghiên cứu, khai thác hệ điều hành nhúng (Embedded OS) và khả năng xây dựng hệ thống mạng riêng ảo (VPN) trên hệ điều hành nhúng, 2010Tiếng Anh Khác
[4]. Stallings, William - Cryptography And Network Security 4Th Ed - Prentice Hall, 2005 Khác
[5]. Jerome DiMarzio, Android a Programmers Guide, McGraw-Hill, ISBN 0071599886, 2008 Khác
[6]. www.leaf.sourceforge.net [7]. www.vnlinux.org Khác

HÌNH ẢNH LIÊN QUAN

BẢNG CÁC TỪ VIẾT TẮT - Đồ án tốt nghiệp Nghiên cứu hệ điều hành nhúng và giải pháp an toàn cho thiết bị chuyên dụng
BẢNG CÁC TỪ VIẾT TẮT (Trang 4)
Hình 1.1.1 Một vài hình ảnh về hệ nhúng - Đồ án tốt nghiệp Nghiên cứu hệ điều hành nhúng và giải pháp an toàn cho thiết bị chuyên dụng
Hình 1.1.1 Một vài hình ảnh về hệ nhúng (Trang 8)
Hình 1.1.2 Kiến trúc tổng thể của một hệ thống nhúng - Đồ án tốt nghiệp Nghiên cứu hệ điều hành nhúng và giải pháp an toàn cho thiết bị chuyên dụng
Hình 1.1.2 Kiến trúc tổng thể của một hệ thống nhúng (Trang 10)
Hình 1.2.1 Kiến trúc hệ điều hành - Đồ án tốt nghiệp Nghiên cứu hệ điều hành nhúng và giải pháp an toàn cho thiết bị chuyên dụng
Hình 1.2.1 Kiến trúc hệ điều hành (Trang 15)
Hình 1.2.2 Nguyên lý hoạt động của bộ nạp khởi tạo boot-loader - Đồ án tốt nghiệp Nghiên cứu hệ điều hành nhúng và giải pháp an toàn cho thiết bị chuyên dụng
Hình 1.2.2 Nguyên lý hoạt động của bộ nạp khởi tạo boot-loader (Trang 16)
Hình 1.2.4a Cấu trúc hệ điều hành thời gian thực. - Đồ án tốt nghiệp Nghiên cứu hệ điều hành nhúng và giải pháp an toàn cho thiết bị chuyên dụng
Hình 1.2.4a Cấu trúc hệ điều hành thời gian thực (Trang 20)
Hình 1.2.4b Mô hình trạng thái của quá trình. - Đồ án tốt nghiệp Nghiên cứu hệ điều hành nhúng và giải pháp an toàn cho thiết bị chuyên dụng
Hình 1.2.4b Mô hình trạng thái của quá trình (Trang 21)
Hình 1.3.1.2 Mối quan hệ của Windows XP Professional và Windows XP   Embedded - Đồ án tốt nghiệp Nghiên cứu hệ điều hành nhúng và giải pháp an toàn cho thiết bị chuyên dụng
Hình 1.3.1.2 Mối quan hệ của Windows XP Professional và Windows XP Embedded (Trang 25)
Hình 1.3.2.1a Một số sản phẩm ứng dụng công nghệ  Embedded Linux - Đồ án tốt nghiệp Nghiên cứu hệ điều hành nhúng và giải pháp an toàn cho thiết bị chuyên dụng
Hình 1.3.2.1a Một số sản phẩm ứng dụng công nghệ Embedded Linux (Trang 28)
Hình 1.3.2.1b  Embedded Linux - Đồ án tốt nghiệp Nghiên cứu hệ điều hành nhúng và giải pháp an toàn cho thiết bị chuyên dụng
Hình 1.3.2.1b Embedded Linux (Trang 29)
Hình 1.3.2.4 Android - Đồ án tốt nghiệp Nghiên cứu hệ điều hành nhúng và giải pháp an toàn cho thiết bị chuyên dụng
Hình 1.3.2.4 Android (Trang 32)
Hình 2.3 Kiến trúc hệ điều hành Android. - Đồ án tốt nghiệp Nghiên cứu hệ điều hành nhúng và giải pháp an toàn cho thiết bị chuyên dụng
Hình 2.3 Kiến trúc hệ điều hành Android (Trang 41)
Hình 3.5.1 Mã hóa khóa bí mật - Đồ án tốt nghiệp Nghiên cứu hệ điều hành nhúng và giải pháp an toàn cho thiết bị chuyên dụng
Hình 3.5.1 Mã hóa khóa bí mật (Trang 55)
Hình 3.5.3. Sơ đồ thuật toán AES. - Đồ án tốt nghiệp Nghiên cứu hệ điều hành nhúng và giải pháp an toàn cho thiết bị chuyên dụng
Hình 3.5.3. Sơ đồ thuật toán AES (Trang 56)
Hình 3.6.1 Mã hoá và giải mã với khóa công khai - Đồ án tốt nghiệp Nghiên cứu hệ điều hành nhúng và giải pháp an toàn cho thiết bị chuyên dụng
Hình 3.6.1 Mã hoá và giải mã với khóa công khai (Trang 59)
Hình 3.6.3 Thuật toán RSA - Đồ án tốt nghiệp Nghiên cứu hệ điều hành nhúng và giải pháp an toàn cho thiết bị chuyên dụng
Hình 3.6.3 Thuật toán RSA (Trang 61)
Hình 3.6.4 Thuật toán Diffie- Hellman - Đồ án tốt nghiệp Nghiên cứu hệ điều hành nhúng và giải pháp an toàn cho thiết bị chuyên dụng
Hình 3.6.4 Thuật toán Diffie- Hellman (Trang 65)
Hình 3.7 Hoạt động của một hàm băm - Đồ án tốt nghiệp Nghiên cứu hệ điều hành nhúng và giải pháp an toàn cho thiết bị chuyên dụng
Hình 3.7 Hoạt động của một hàm băm (Trang 65)
Hình 3.8 Chữ ký số - Đồ án tốt nghiệp Nghiên cứu hệ điều hành nhúng và giải pháp an toàn cho thiết bị chuyên dụng
Hình 3.8 Chữ ký số (Trang 69)
Hình 4.2.1b Tấn công xen giữa - Đồ án tốt nghiệp Nghiên cứu hệ điều hành nhúng và giải pháp an toàn cho thiết bị chuyên dụng
Hình 4.2.1b Tấn công xen giữa (Trang 80)
Hình 4.2.2 Email được mã hoá khi gửi và người nhận đọc thư đã mã hoá - Đồ án tốt nghiệp Nghiên cứu hệ điều hành nhúng và giải pháp an toàn cho thiết bị chuyên dụng
Hình 4.2.2 Email được mã hoá khi gửi và người nhận đọc thư đã mã hoá (Trang 81)

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w