Tiểu luận môn Hệ điều hành - Đề tài: Tìm hiểu và phân tích kiến trúc, chức năng và hoạt động của hệ điều hành Android

BỘ GIÁO DỤC VÀ ĐÀO TẠO  
TRƯỜNG ĐẠI HỌC MỞ TP.HCM  
  
HỆ ĐIỀU HÀNH  
Đề tài: Tìm hiểu và phân tích  
kiến trúc, chức năng và hoạt  
động của hệ điều hành  
Android  
Giáo viên: NGÔ MINH VƯƠNG  
Nhóm thực hiện: nhóm 11  
Tp,HCM, ngày 08 tháng 08 năm 2015  
Năm học: 2015-2016  
Lời mở đầu  
Khi nhắc đến máy vi tính ta không thể không nhắc đến hệ điều hành. Hệ điều hành là một  
chương trình chạy trên hệ thống máy tính, quản lý các tài nguyên trên máy tính và là môi  
trường cho các chương trình ứng dụng chạy trên nó.  
Ngày nay, khái niệm hệ điều hành không chỉ là trên máy vi tính mà còn được mở rộng cho  
nhiều thiết bị điện tử khác ví dụ như: điện thoại thông minh ( smart phone), các thiết bị cầm  
tay PDA (có 2 dòng chính là Palm và Pocket PC),…  
Trong bài báo cáo này, nhóm em sẽ trình bày hệ điều hành Android. Tìm hiểu và phân tích  
kiến trúc, chức năng và hoạt động của hệ điều hành Android nhằm giúp mọi người có cái  
nhìn từ tổng quan đến chi tiết về hệ điều hành Android.  
Mặc dù nhóm em đã cố gắng biên soạn, chọn lọc tài liệu, cách trình bày hợp lý nhất nhưng  
trong thời gian ngắn không tránh khỏi thiếu sót. Mong thầy đọc và cho nhận xét về bài báo  
cáo của nhóm em.  
Cảm ơn thầy!  
Nhóm 11  
DANH SÁCH NHÓM 11  
STT  
HỌ VÀ TÊN  
MSSV  
PHÂN CÔNG CÔNG VIỆC  
GHI CHÚ  
1*  
2
Lê Thị Tú Hoan  
Nguyễn An Ninh  
1354050029 Chức năng của hệ điều hành  
Nhóm trưởng  
Android  
3
Lê Nguyễn Bảo Trân 1354050101 Hoạt động của hệ điều hành  
Android  
4
Lý Đan Tâm  
1354050080  
5
Cao Thanh Thanh  
Phạm Mỹ Tâm  
1354050084 Kiến trúc của hệ điều hành  
Android  
6
1354050081  
1
MỤC LỤC  
--------------  
CHƯƠNG 0. TỔNG QUAN VỀ HỆ ĐIỀU HÀNH ANDROID…………………....4  
I.  
Giới thiệu chung về hệ điều hành Android……………………………..........4  
1. Android là gì?.............................................................................................4  
2. Sự ra đời?....................................................................................................4  
3. Lịch sử phát triển Android…………………………………………..........5  
4. Các phiên bản của Android………………………………………….........5  
5. Một số hãng sản xuất điện thoại có sử dụng hệ điều hành Android….......6  
CHƯƠNG 1. KIẾN TRÚC HỆ ĐIỀU HÀNH ANDROID……………………........8  
I.  
Kiến trúc tổng quát…………………………………………………………..8  
1. Tầng hạt nhân Linux (Linux Kernel layer)……………………………….8  
2. Tầng Library và Android Runtine………………………………………..9  
a. Phần Library…………………………………………………………..9  
b. Phần Android Runtine…………………………………………….....10  
3. Tầng Application Framework…………………………………………...10  
4. Tầng Application………………………………………………………..11  
CHƯƠNG 2. CHỨC NĂNG CỦA HỆ ĐIỀU HÀNH ANDROID………………..13  
I.  
II.  
Chức năng…………………………………………………………………..13  
Xây dựng chức năng………………………………………………………..14  
1. Tạo danh sách file trong một thư mục…………………………………..14  
2. Mở chương trình liên kết………………………………………………..15  
3. Xem và sửa đổi thuộc tính file………………………………………......15  
a. Xem thuộc tính file………………………………………………......15  
b. Đổi thuộc tính file…………………………………………………....16  
4. Xóa file……………………………………………………………….....17  
5. Sao chép file………………………………………………………….....17  
6. Di chuyển và đổi tên file…………………………………………….…..17  
7. Một số hình ảnh demo……………………………………………….….18  
CHƯƠNG 3. HOẠT ĐỘNG CỦA ANHDROID……………………………….…23  
I.  
Cách cài đặt hệ điều hành Android………………………………………....23  
1. Cài Android cho điện thoại……………………………………………...23  
2. Cài Android cho PC……………………………………………………..25  
Tính bảo mật và tính riêng tư……………………………………………….28  
II.  
2
III. Quản lý bộ nhớ……………………………………………………………...28  
IV. Ưu, khuyết điểm của chương trình Android………………………………..29  
1. Tối ưu………………………………………………………………...….29  
2. Khuyết…………………………………………………………………...30  
V.  
Quản lý tiến trình trong hệ điều hành Android……………………………..30  
1. Hệ thống phân cấp……………………………………………………....31  
2. Tính năng tự động quản lý tiến trình của Android……………………...32  
3. Ứng dụng Android có thể tự đáp ứng các sự kiện………………………33  
4. Quản lý tiến trình “cơ bản”……………………………………………...34  
TÀI LIỆU THAM KHẢO………………………………………………………….37  
3
CHƯƠNG 0: TỔNG QUAN VỀ HỆ ĐIỀU HÀNH ANDROID  
I. Giới thiệu chung về hệ điều hành Android.  
1. Android là gì ?  
Android là một “Hệ Điều Hành” được cài đặt trên một số phần cứng riêng biệt  
mà ở đây chủ yếu là cài đặt trên các thiết bị smartphone (của SamSung, LG, HTC,  
Motorola … ). Cũng giống như các hệ điều hành khác trên điện thoại (window phone  
7, ios, blackberry …), Android là một hệ điều hành dành cho điện thoại được viết từ  
java, mã nguồn mở hoàn toàn giúp có các lập trình viên cài đặt các ứng dụng trên  
thiết bị do chính mình viết ra.  
2. Sự ra đời?  
Ban đầu, Android được phát triển bởi tổng công ty Android, với sự hỗ trợ tài  
chính từ Google và sau này được chính Google mua lại vào năm 2005. Android ra  
mắt vào ngày 5 tháng 11 năm 2007 cùng với tuyên bố thành lập “Liên minh thiết  
bị cầm tay mở”: một hiệp hội gồm các công ty phần cứng, phần mền, và viễn  
thông với mục tiêu đẩy mạnh các tiêu chuẩn mở cho các thiết bị di động.  
Chiếc điên thoại đầu tiên chạy Android được bán vào tháng 10 năm 2008.  
4
3. Lịch sử phát triển Android  
Tháng 7 năm 2005, Google mua lại Android, Inc., một công ty nhỏ mới thành  
lập có trụ sở ở Palo Alto, California, Mỹ. Những nhà đồng sáng lập của Android  
chuyển sang làm việc tại Google gồm có Andy Rubin (đồng sáng lập công ty  
Danger), Rich Miner (đồng sáng lập công ty Wildfire Communications), Nick  
Sears (từng là phó chủ tịch của T-Mobile), và Chris White (trưởng nhóm thiết kế  
và phát triển giao diện tại WebTV). Khi đó, có rất ít thông tin về các công việc của  
Android, ngoại trừ việc họ đang phát triển phần mềm cho điện thoại di động. Điều  
này tạo những tin đồn về việc Google có ý định bước vào thị trường điện thoại di  
động.  
Tại Google, nhóm do Rubin đứng đầu đã phát triển một nền tảng thiết bị di  
động dựa trên hạt nhân Linux, được họ tiếp thị đến các nhà sản xuất thiết bị cầm  
tay và các nhà mạng trên những tiền đề về việc cung cấp một hệ thống mềm dẻo,  
có khả năng nâng cấp mở rộng cao.[cần dẫn nguồn] Một số nguồn tin cho biết  
trước đó Google đã lên danh sách các thành phần phần cứng và các đối tác phần  
mềm, đồng thời ra hiệu với các nhà mạng rằng họ sẵn sàng hợp tác ở nhiều cấp độ  
khác nhau. Ngày càng nhiều suy đoán rằng Google sẽ tham gia thị trường điện  
thoại di động xuất hiện trong tháng 12 năm 2006. Tin tức của BBC và Nhật báo  
phố Wall chú thích rằng Google muốn đưa công nghệ tìm kiếm và các ứng dụng  
của họ vào điện thoại di động và họ đang nỗ lực làm việc để thực hiện điều này.  
Các phương tiện truyền thông in và online cũng sớm có bài viết về những tin đồn  
cho rằng Google đang phát triển một thiết bị cầm tay mang thương hiệu Google.  
Và lại càng có nhiều suy đoán sau bài viết về việc Google đang định nghĩa các đặc  
tả công nghệ và trình diễn các mẫu thử với các nhà sản xuất điện thoại di động và  
nhà mạng.  
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ớ. Chẳng hạn như theo một đánh giá thì Android phiên bản 2.2 hoạt  
động nhanh hơn bản 2.1 tới 450%. Hiện nay, phiên bản mới nhất là 5.0. Phiên bản  
5.0 của Android được ra mắt tại hội nghị dành cho các nhà lập trình Google I/O  
2014 vừa mới đây, sau nhiều năm dưới tên các phiên bản 4.x.  
4. Các phiên bản của Android:  
Hai phiên bản đầu tiên được gọi đơn giản là Android 1.0 và 1.1  
Android 1.5 Cupcake  
Android 1.6 Doughnut  
Android 2.0-2.1 Éclair  
5
Android 2.2 Froyo  
Android 2.3 Gingerbread  
Android 3.0 Honeycomb  
Android 4.1-4.3 Jelly Bean  
Android 4.0 Ice Cream Sandwich  
Android 4.4 KitKat  
Phiên bản mới nhất: ANDROID 5.0 L (Lollipop?)  
5. Một số hãng sản xuất điện thoại có sử dụng hệ điều hành Android tiêu biểu:  
o HTC với các dòng Desire HD, Evo 4G, DROID ERIS, Desire Z, Hero, Desire,  
Tatto Wildfire, Droid Incredible, Legend, Magic, Google Nexus One, Dream,  
Aria, Paradise  
o LG với các dòng GT540 Optimus Chic E720, Optimus One P500, GW 620,  
Optimus Z, Optimus Q,KH5200 Andro-1, GW880, C710Aloha  
o MOTOROLA với các dòng MILESTONE 2, BACKFLIP, Droid XTreme,  
MT710 Zhiling, MILESTONE, XT720 MOTOROI, A1680, XT800 ZHISHANG,  
Defy, CHẢM, XT806…  
6
o SUMSUNG với các dòng máy I9000 Galaxy S, Galaxy Tab, Epic $G, i5510,  
I5500 Galaxy 5, I5700 Galaxy, Galaxy Q, I909 Galaxy S…  
o SONY với các dòng XPERIA X10, XPERIA X10 mini, XPERIA X8  
o ACER với các dòng máy beTouch T500, Liquid E, Stream, Liquid, betouch  
E110, beTouch E130, beTouch E400, beTouch E120, Liquid Metal  
o Ngoài ra còn rất nhiều hãng điện thoại vừa và nhỏ khác nữa cũng sử dụng hệ  
điều hành Android trong sản phẩm của hãng mình…  
7
CHƯƠNG I: KIẾN TRÚC HỆ ĐIỀU HÀNH ANDROID  
I. Kiến trúc tổng quát  
Android bao gồm 4 tầng từ dưới lên trên là tầng hạt nhân Linux, Tầng  
Libraries & Android runtine, Tầng Application Framework và tầng trên cùng là  
tầng Application.  
Mô hình kiến trúc nền tảng của Android  
1. Tầng hạt nhân Linux (Linux Kernel layer)  
Hệ điều hành android được phát triển dựa trên hạt nhân linux, cụ thể là hạt  
nhân linux phiên bản 2.6, điều đó được thể hiện ở mức dưới cùng. Tất cả mọi  
hoạt động của điện thoại muốn thi hành được thì đều được thực hiện ở mức cấp  
thấp ở lớp này bao gồm quản lý bộ nhớ (memory management), giao tiếp với  
phần cứng (driver model), thực hiện bảo mật (security), quản lý tiến trình  
(process).  
Tuy được phát triển dựa vào nhân linux nhưng thực ra nhân linux đã được  
nâng cấp và sửa đổi rất nhiều để phù hợp với tính chất của những thiết bị cầm  
8
tay như hạn chế về bộ vi xử lý, dung lượng bộ nhớ, kích thước màn hình, nhu  
cầu kết nối mạng không dây…  
Tầng này có các thành phần chủ yếu:  
Display Driver: Điều khiển việc hiển thị lên màn hình cũng như thu  
nhận nhứng điều khiển của người dùng lên màn hình (di chuyển,  
cảm ứng…)  
Camera Driver: Điều khiển hoạt động của camera, nhận luồng dữ  
liệu từ camera trả về.  
Bluetooth Driver: Điều khiển thiết bị phát và thu sóng Bluetooth.  
USB Driver: Quản lý hoạt động của các cổng giao tiếp USB  
Keypad Driver: Điều khiển bàm phím.  
Wifi Driver: Chịu trách nhiệm về việc thu phát sóng wifi  
Audio Driver: Điều khiển các bộ thu phát âm thanh, giải mã các  
tính hiệu dạng audio thành tín hiệu và ngược lại.  
Binder IPC Driver: Chịu trách nhiệm về việc kết nối và liên lạc với  
mạng vô tuyến như CDMA, GSM, 3G, 4G, E để đảm bảo những  
chức năng truyền thông được thực hiện.  
M-System Driver: Quản lý việc đọc ghi… lên các thiết bị nhớ như  
thẻ SD, flash.  
Power Madagement: Giám sát việc tiêu thụ điện năng.  
2. Tầng Library và Android Runtine  
Gồm 2 thành phần là phần Library và Android Runtine  
a. Phần Library  
Phần này có nhiều thư viện được viết bằng C/C++ để các phần mền có thể  
sử dụng, các thư viện đó được tập hợp thành một số nhóm như:  
Thư viện hệ thống (System C Library): thư viện dựa trên chuẩn C,  
được sử dụng chỉ bởi hệ điều hành.  
Thư viện Media (Media Library): có nhiều codec để hỗ trợ việc  
phát và ghi các loại định dạng âm thanh, hình ảnh, video thông dụng.  
Thư viện Web (LibWebCore): đây là thành phần để xem nội dung  
trên web, được sử dụng để xây dựng phần mền duyệt web (Android  
Browse) cũng như để các ứng dụng khác có thể nhúng vào. Nó cực kỳ  
mạnh, hỗ trợ được nhiều công nghệ mạnh mẽ như HTML5,  
JavaScript, CSS, DOM, AJAX…  
Thư viện SQLite: hệ cơ sở dữ liệu để các ứng dụng có thể sử dụng.  
9
…  
b. Phần Android Runtine  
Phần này chứa các thư viện mà một chương trình viết bằng ngôn ngữ Java  
có thể hoạt động. Phần này có 2 bộ phận tương tự như mô hình chạy Java  
trên máy tính thường. Thứ nhất là các thư viện lõi (Core Library), chứa các  
lớp như JAVA IO, Collection, File Access. Thứ hai là mấy ảo java(Dalvik  
Virtual Machine).  
Mặc dù cũng được viết từ ngôn ngữ java nhưng một ứng dụng Java của hệ  
điều hành Android không được chạy bằng JRE của Sun (nay là Oracle)  
(JVM) mà là chạy bằng máy ảo Dalvik do Google phát triển.  
Mô hình hợp tác giữa máy ảo Dalvik và Navite code  
3. Tầng Application Framework  
Tầng này xây dựng bộ công cụ- các phần tử ở mức cao để các lập trình viên có  
thiển nhanh chóng xây dựng ứng dụng. Nó được viết bằng Java, có khả năng  
sử dụng chung để tiết kiệm tài nguyên.  
Đây là một nền mở, có ưu điểm:  
Với các hãng sản xuất điện thoại: có thể tùy biến để phù hợp với cấu  
hình điện thoại mà họ sản xuất như để có nhiều mẫu mã, style hợp thị  
hiếu người dùng. Vì thế nên tuy cùng chung nền tảng Android mà điện  
thoại của Google có thể khác hẳn với Motorola, HTC, T-Mobile,  
Samsung…  
Với lập trình viên: cho phép lập trình viên có thể sử dụng các API ở  
tầng trên mà không cần phải hiểu rõ cấu trúc bên dưới, tạo điều kiện cho  
lập trình viên tự do sáng tạo bời vì chỉ cần quan tâm đếm nội dung mà  
10  
ứng dụng mà học làm việc. Một tập hợp API rất hữu ích được xây dựng  
sẵn như hệ thống định vị, các dịch vụ chạy nền, liên lạc giữa các ứng  
dụng, các thành phần giao diện cấp cao…  
Giới thiệu một số thành phần của phần này:  
o Activity Manager: quản lý các chu kỳ sống của một ứng dụng cũng  
như cung cấp công cụ điều khiển các Activity.  
o Telephony Manager: cung cấp công cụ để thức hiện liên lạc như gọi  
điện thoại.  
o XMPP Service: cung cấp công cụ để liên lạc trong thời gian thực.  
o Location Manager: cho phép xác định vị trí điện thoại dựa vào hệ  
thống định vị toàn cầu GPS và Google Maps.  
o Window Manager: quản lý việc xây dựng và hiển thị các giao diện  
người dùng cũng như tổ chức quản lý các giao diện giữa các ứng  
dụng.  
o Resource Manager: quản lý tài nguyên tĩnh của các ứng dụng bao  
gồm các file hình ảnh, âm thanh, layout, string. (Những thành phần  
không được viết bởi ngôn ngữ lập trình).  
o Notication Manager: quản lý việc hiển thị các thông báo (như báo có  
tin nhấn, có e-mail mới….)  
o ……  
4. Tầng Application  
Đây là lớp ứng dụng giao tiếp với người dùng, bao gồm các ứng dụng như:  
Các ứng dụng cơ bản, được cài đặt đi liền với hệ điều hành là gọi điện  
(Phone), quản lý danh bạ (Contacts), duyệt web (Browser), nhắn tin (SMS),  
lịch làm việc (Calendar), đọc e-mail (Email-Client), bản đồ (Map), quay phim  
chụp ảnh (Camera) …  
Các ứng dụng được cài thêm như các phần mền các trò chơi (Game), từ  
điển (Dictionary)…  
Các chương trình có các đặc điểm:  
Viết bằng Java, phần mở rộng là apk  
Khi mỗi ứng dụng được chạy, nó có một phiên bản Virtual Machine  
được dựng lên để phục vụ cho nó. Nó có thể là một Active Program:  
Chương trình có giao diện với người dùng hoặc là một background:  
chương trình chạy nền hay là dịch vụ.  
Android là hệ điều hành đa nhiệm, điều đó có nghĩa là trong cùng một  
thời điểm, có thể có nhiều chương trình cùng chạy một lúc, tuy nhiên,  
11  
với mỗi ứng dụng thì có duy nhất một thực thể (instance) được phép chạy  
mà thôi. Điều đó có tác dụng hạn chế sự lạm dụng tài nguyên, giúp hệ  
thống hoạt động tốt hơn.  
Các ứng dụng được gán số ID của người sử dụng nhằm phân định quyền  
hạn khi sử dụng tài nguyên, cấu hình phần cứng và hệ thống.  
Android là một hệ điều hành có tính mở, khác với nhiều hệ điều hành đi  
động khác, Android cho phép một ứng dụng của bên thứ ba được phép  
chạy nền. Các ứng dụng đó chỉ có một hạn chế nhỏ đó là nó không được  
phép sử dụng quá 5~10% công suất CPU, điều đó nhằm để tránh độc  
quyền trong việc sử dụng CPU.  
Ứng dụng không có điểm vào cố định, không có phương thức main để  
bắt đầu.  
12  
CHƯƠNG 2: PHÂN TÍCH CHỨC NĂNG CỦA HỆ ĐIỀU HÀNH  
ANDROID  
I. Chức năng  
- Hiển thị một list bao gồm các file trong một thư mục. Khi người dùng chọn 1  
file trong đó:  
Nếu file đó là file bao hàm (thư mục) thì chuyển list hiển thị danh sách  
file trong thư mục đó.  
Nếu file đó là file thông thường thì mở file đó bằng chương trình thích  
hợp chẳng hạn như file hình ảnh thì mở chương trình xem ảnh, file nhạc  
thì mở chương trình chơi nhạc…  
- Cài đặt một menu cho phép người dùng chọn các chức năng như sau:  
Properties: Xem và sửa chữa thuộc tính của file.  
Delete: Xóa file.  
Copy: Đặt file chuẩn bị sao chép.  
Paste: Thực hiện lệnh sao chép hoặc di chuyển file đã đặt trước đó.  
Rename: Đổi tên file.  
Create new directory: Tạo thư mục mới (tại thư mục hiện hành).  
Refresh: Cập nhật lại danh sách file.  
Go home: Trở về thư mục gốc.  
Go up: Trở lên thư mục cha (có thể dùng phím back trên điện thoại để  
thưc hiện nhanh lệnh này).  
Exit: Thoát chương trình.  
About: Xem giới thiệu.  
13  
II. Xây dựng chức năng  
1. Tạo danh sách file trong một thư mục  
14  
2. Mở chương trình liên kết  
3. Xem và sửa đổi thuộc tính của file  
a. Xem thuộc tính file  
15  
b. Đổi thuộc tính file  
16  
4. Xóa file  
5. Sao chép file  
6. Di chuyển và đổi tên file  
Hai chức năng này java hỗ trợ khá tốt , không cần xây dựng lại, sử dụng phương  
thức rename từ File A sang File B. Nếu A và B cùng chung thư mực thì là chức năng  
rename, nếu khác thì là phương thức di chuyển file.  
17  
7. Một số hình ảnh demo:  
Giao diện chính, xem  
danh sách file. Hiển  
thị menu...  
Giao diện chính, xem  
danh sách file. Hiển  
thị menu...  
18  
Tải về để xem bản đầy đủ
pdf 39 trang yennguyen 25860 Free
Bạn đang xem 20 trang mẫu của tài liệu "Tiểu luận môn Hệ điều hành - Đề tài: Tìm hiểu và phân tích kiến trúc, chức năng và hoạt động của hệ điều hành Android", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

File đính kèm:

  • pdftieu_luan_mon_he_dieu_hanh_de_tai_tim_hieu_va_phan_tich_kien.pdf