Thứ bậc của process trong Android được chia thành 5 cấp theo 5 mức độ quan
trọng từ cao đến thấp:
Foreground process (tạm dịch: tiến trình nổi bật): Đây chính là những
process dùng để chạy ứng dụng (app) bạn đang dùng. Những process khác
cũng có thể được xem là foreground khi chúng có liên hệ trức tiếp với process
“xử lý” app đang chạy. Tại một thời điểm cũng chỉ có vài foreground process
mà thôi.
Visible process (tạm dịch: tiến trình nhìn thấy được): Visible process
không liên quan đến app đang chạy nhưng có tác động đến những gì thể hiện
trên màn hình. Ví dụ, foreground process có tính năng “trong suốt”
(transparent) và những ứng dụng được hiển thị đằng sau chính là visible
process. Dễ thấy nhất là khi cài các theme hỗ trợ khả năng “làm mờ” ứng dụng
hoặc “ghim” ứng dụng lên màn hình.
Service process (tạm dịch: tiến trình dịch vụ): Tiến trình dạng này
không liên quan đến bất kì ứng dụng cả đang chạy và “dưới” đang chạy nào.
Chúng thực hiện công việc một cách âm thầm như chơi nhạc hay tải tập tin.
Ví dụ bạn đang nghe nhạc và muốn chuyển sang chơi game, khi bạn mở game
cũng là lúc process phát nhạc trở thành service process, vẫn tiếp tục chơi nhạc
khi bạn làm việc khác.
Bạn đang xem trước 20 trang tài liệu Đề 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, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
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
1
DANH SÁCH NHÓM 11
STT
HỌ VÀ TÊN MSSV PHÂN CÔNG CÔNG VIỆC GHI CHÚ
1* Lê Thị Tú Hoan 1354050029 Chức năng của hệ điều hành
Android
Nhóm trưởng
2 Nguyễn An Ninh
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 1354050084 Kiến trúc của hệ điều hành
Android
6 Phạm Mỹ Tâm 1354050081
2
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. Chức năng..13
II. 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
II. Tính bảo mật và tính riêng tư.28
3
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ện33
4. Quản lý tiến trình “cơ bản”...34
TÀI LIỆU THAM KHẢO.37
4
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.
5
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
6
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
7
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
8
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
9
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.
10
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à
11
ứ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,
12
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.
13
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.
14
II. Xây dựng chức năng
1. Tạo danh sách file trong một thư mục
15
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
16
b. Đổi thuộc tính file
17
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.
18
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...
19
Xem hình ảnh khi mở file có
đuôi jpg, jpe, bmp...
Chơi nhạc khi mở file mp3
20
Khung thuộc tính của file khi chọn 1 file và chọn menu Properties
Thay đổi quyền hạn của file khi bấm button,
Change permission từ hộp thoại properties
Thay đổi quyền hạn của file khi bấm button,
Change permission từ hộp thoại properties
s
21
Đổi tên file khi chọn file và
chọn chức năng rename từ
menu
Chọn lệnh xóa file từ menu
22
Tạo thư mục mới
Hộp thoại copy file khi yêu cầu
copy file
23
CHƯƠNG 3: HOẠT ĐỘNG CỦA ANDROID
I. Cách cài đặt hệ điều hành Android
1. Cài Android cho điện thoại
Hầu hết các bản cập nhật cho Android đều có sẵn trên mạng, không cần phải chép
vào máy vi tính, USB hoặc kết nối qua cáp để truyền qua,. Nhà phát hành đưa ra các
phiên bản Android mới tùy thuộc vào nhu cầu của người dùng. Thông thường sẽ có
một bản thông báo ở trên hệ điều hành có sẵn và kèm theo cập nhật tự động trong
Smartphone hoặc máy tính bảng, trong trường hợp không có thông báo, chúng ta có
thể xem thông tin qua mạng và tải chúng về máy.
Bước 1: Trước hết cần kiểm tra lại hệ điều hành ở máy bạn là phiên bản mới hay cũ,
bạn vào Setting > About Phone sẽ biết được thông tin về phiên bản Android và
Baseband của Smartphone của bạn.
24
Bước 2: Bạn nên lưu lại các dữ liệu quan trọng như danh bạ điện thoại, mã số, mật
khẩu pin, số tài khoản, địa chỉ mail, hình ảnh, phim, trước khi bắt đầu cập nhật. Mặc
dù việc cập nhật không ảnh hưởng nhưng dù sao cũng phải cẩn thận.
Bước 3: Giống như bước 1, bạn vào menu rồi chọn Setting > ở đây bạn kéo xuống
phía dưới rồi bấm vào About Phone
Bước 4: Bạn sẽ thấy phần tùy chọn có chữ "System Update" hoặc "Software
Update". Cả hai đều có nghĩa giống nhau nhưng chỉ khác nhau về cách dùng từ do nhà
sản xuất hoặc phát hành phần mềm.
Bước 5: Sau khi vào đó thì Smartphone hoặc máy tính bảng của bạn sẽ đưa bạn vào
một menu khác và tự động nó sẽ dò tìm các bản cập nhất mới
Sau khi cập nhật hoàn tất, chúng ta sẽ thấy giao diện, màu sắc, chức năng và số phiên
bản thay đổi là cho người dùng Samrtphone thấy mới lại và thích thú. Mặc dù đây là
quá trình cài đặt tiêu chuẩn nhưng nó còn phụ thuộc vào nhiều như là thiết bị, loại
máy, nhà sản xuất, tốc độ mạng- Wifi là tốt và ổn định nhất, nguồn điện.. Tuy vậy
25
đây là quá trình cài đặt quan trọng và hầu hết đều sử dụng ở các máy có xài hệ điều
hành Android. Thông tinh đầy đủ về loại máy và cách sử dụng rất là quan trọng
2. Cài đặt cho PC (ví dụ cài Android 4.4 KitKat)
Những gì bạn cần:
Tải về các tập tin ISO Android –x86 thích hợp với máy tính của bạn cũng như
phiên bản Android ban muốn trải nghiệm.
USB trên 4GB để tạo bộ boot cài đặt hệ điều hành
Đảm bảo bộ nhớ trống của ổ cứng trên thiết bị của bạn
o Với Froyo – ICS, ở cứng từ 2GB.
o Với Jelly Bean 4.2 và 4.3, ổ cứng trống từ 8GB.
o Với KitKat 4.4.2, ở cứng trống từ 10GB.
Phần mền Unetbootin
Các bước để cài đặt Android 4.4 KitKat trên máy tính của bạn
Sau khi đã có đủ những yếu tố cần thiết như trên, bạn bắt đầu thực hiện theo
các bước sau:
Khởi động chương trình UnetBootin và duyệt tìm đến file ISO mà bạn đã tải
về trước đó. Sau đó bạn bấm OK để sang bước chương trình tạo USB boot
cài đặt hệ điều hành.
26
Nhấn Ok để Unetbootin bắt đầu giải nén tập tin ISO vào USB và thiết bị khả
năng tự khởi động cho USB.
Vẫn giữ USB kết nối với máy tính và khởi động lại máy tính để vào chế độ
BIOS, sau đó thay đổi chế độ Boot của máy tính để có thể Boot bằng USB.
Cuối cùng nhấn F10 để lưu và khởi động lại.
Sau khi máy tính đã boot được vào USB thì bạn sẽ thấy màn hình xuất hiện
ra như sau, sau đó bạn chọn Live CD – Run Android – x86 without
installion
27
Tiếp theo bạn tiến hành chọn phân vùng để cài đặt Android-x86. Nếu bạn
muốn cài đặt nó lên một phân vùng mới, hãy format nó ngay tại lúc này.
Một vài trường hợp bạn sẽ được hỏi về việc cấp phép để cài đặt GRUB
Bootloader, hãy đồng ý.
28
Sau khi cài đặt xong, hãy nhấn vào lựa chọn Run Android-x86
II. Tính bảo mật và tính riêng tư
Các ứng dụng Android chạy trong một "hộp cát", là một khu vực riêng rẽ với hệ
thống và không được tiếp cận đến phần còn lại của tài nguyên hệ thống, trừ khi nó
được người dùng trao quyền truy cập một cách công khai khi cài đặt. Sau khi xem xét
các quyền , người dùng có thể chọn đồng ý hoặc từ chối chúng, ứng dụng chỉ được cài
đặt khi người dùng đồng ý. Hệ thống hộp cát và hỏi quyền làm giảm bớt ảnh hưởng
của lỗi bảo mật hoặc lỗi chương trình có trong ứng dụng. Một số công ty bảo mật,
như Lookout Mobile Security, và McAfee,.. đã phát hành những phần mềm diệt
virus cho các thiết bị Android. Phần mềm này không có hiệu quả vì cơ chế hộp cát vẫn
áp dụng vào các ứng dụng này, do vậy làm hạn chế khả năng quét sâu vào hệ thống để
tìm nguy cơ. Bản chất mã nguồn mở của Android cho phép những nhà thầu bảo mật
lấy những thiết bị sẵn có rồi điều chỉnh để sử dụng ở mức độ bảo mật cao hơn.
III. Quản lý bộ nhớ
Vì các thiết bị Android chủ yếu chạy bằng pin, nên Android được thiết kế để
quản lý bộ nhớ (RAM) để giảm tối đa tiêu thụ điện năng, trái với hệ điều hành máy
29
tính để bàn luôn cho rằng máy tính sẽ có nguồn điện không giới hạn. Khi một ứng
dụng Android không còn được sử dụng, hệ thống sẽ tự động ngưng nó trong bộ nhớ -
trong khi ứng dụng về mặt kỹ thuật vẫn "mở", những ứng dụng này sẽ không tiêu thụ
bất cứ tài nguyên nào (như năng lượng pin hay năng lượng xử lý) và nằm đó cho đến
khi nó được cần đến. Cách làm như vậy có lợi kép là vừa làm tăng khả năng phản hồi
nói chung của thiết bị Android, vì ứng dụng không nhất phải đóng rồi mở lại từ đầu,
vừa đảm bảo các ứng dụng nền không làm tiêu hao năng lượng một cách không cần
thiết. Android quản lý các ứng dụng trong bộ nhớ một cách tự động: khi bộ nhớ thấp,
hệ thống sẽ bắt đầu diệt ứng dụng và tiến trình không hoạt động được một thời gian,
sắp theo thời điểm cuối mà chúng được sử dụng (tức là cũ nhất sẽ bị tắt trước). Tiến
trình này được thiết kế ẩn đi với người dùng, để người dùng không cần phải quản lý bộ
nhớ hoặc tự tay tắt các ứng dụng. Tuy nhiên, sự che giấu này của hệ thống quản lý bộ
nhớ Android đã dẫn đến sự thịnh hành của các ứng dụng tắt chương trình của bên thứ
ba trên cửa hàng Google Play; những ứng dụng kiểu như vậy được cho là có hại nhiều
hơn có lợi
IV. Ưu khuyết điểm của chương trình Android
1. Tối ưu:
Những ưu điểm dễ thấy nhất của Android chính là khả năng tùy biến nhanh
chóng, dễ làm quen, ứng dụng hỗ trợ phong phú, tương thích với đa cấu hình phần
cứng của các nhà sản xuất... Đặc biệt, điện thoại sử dụng HĐH Android còn có ưu
điểm là liên tục được cập nhật phiên bản mới theo chu kỳ từng năm, thậm chí là theo
quý. Dù đã hay chưa từng sử dụng smartphone Android thì bạn cũng không cần quá lo
lắng về việc thay đổi. Hầu như tất cả những smartphone sử dụng HĐH Android đều rất
dễ sử dụng, đơn giản trong tùy biến theo sở thích cá nhân, cũng như có rất nhiều ứng
dụng để thỏa mãn nhu cầu của từng người dùng. Cụ thể:
Là hệ điều hành mã nguồn mở. Android đã thu hút nhiều nhà phát triển và từ tất
cả các tầng lớp xã hội khi Google phân phối miễn phí Android và các đoạn mã
có bản quyền khác cho bất cứ ai muốn tham gia phát triển phần mềm cho
Google. Vì thế, chỉ trong một thời gian ngắn, các lập trình viên cũng như nhà
phát triển có thể nhanh chóng đưa ra phiên bản Android được tùy chỉnh của
riêng mình.
Kho ứng dụng phong phú. Với kho ứng dụng phong phú, người sử dụng có thể
tùy chọn những ứng dụng đáp ứng nhu cầu sử dụng của mình. Hiện tại, Android
Market cung cấp trên 500 nghìn ứng dụng cho người dùng.
30
Phần cứng đa dạng. Về phần cứng, Android hiện đang là hệ điều hành xuất hiện
trên nhiều thiết bị nhất. Các nhà sản xuất như Sony Ericsson, Samsung, HTC, và
Motorola cung cấp cho người dùng sự đa dạng về mẫu mã sản phẩm để lựa
chọn.
Phần mềm, Khi nói đến phần mềm, Android có khả năng chạy nhiều ứng dụng
cùng một lúc bởi có tính năng quản lí không gian chuyển đổi - đây là một tính
năng mà không phải thiết bị di động nào cũng hỗ trợ do hạn chế phần cứng.
Android cũng được cài đặt sẵn ActiveSync, cho phép bạn đồng bộ danh bạ,
mail, và thông tin cá nhân khi thiết bị được kết nối với máy tính một cách dễ
dàng. Trong khi đó, BlackBerry yêu cầu phải cài đặt một số phần mềm và máy
chủ.
2. Khuyết :
Mặc dù được cập nhật phiên bản mới liên tục nhưng chính vì vậy mà Android
có quá nhiều phiên bản, bị phân mảnh khiến cho việc nâng cấp lên phiên bản mới khó
thực hiện đồng nhất trên nhiều thiết bị. Thêm vào đó, mỗi hãng điện thoại lại có quyền
“tùy chỉnh” theo ý thích riêng nên đôi lúc lại khiến người dùng bối rối khi thay đổi
thiết bị. Một điểm yếu khác là Android có khá nhiều lỗ hổng bảo mật dù nền tảng của
nó là Linux. Cũng như: Từ khi Android chạy được trên hầu hết các điện thoại
smartphone, nhiều mẫu điện thoại không hỗ trợ hết tiềm năng của nó. Đối với một số
điện thoại bị giới hạn bởi phần cứng, máy có thể chạy chậm, bị treo và tự khởi động
lại để giải phóng bộ nhớ. Android Market có thể có một mảng các ứng dụng miễn phí
rộng lớn để tải về, tuy nhiên có khá nhiều ứng dụng vô dụng bởi Google đã không
kiểm tra trước khi cung cấp trên Android Market. Vì thế, bạn sẽ phải lướt qua nhiều
ứng dụng kém chất lượng trước khi tìm ra một ứng dụng tốt để đáp ứng tiêu chuẩn của
mình. Và Android nó có một hệ thống "lai" mở rộng cửa cho phép các ứng dụng chạy
nền nhưng lại được ẩn giấu đi để người dùng không phát hiện ra. Chính vì vậy mà bạn
không thể chủ động quản lý ứng dụng chạy hay tắt được. Khi bạn chuyển qua một
chương trình khác, chương trình mà bạn đang chạy sẽ không bị dừng lại, toàn bô tiến
trình của nó vẫn sẽ được mở cho đến khi nào máy còn chịu được. Khi Android xác
định máy đang thiếu bộ nhớ, nó sẽ tự động tắt tiến trình đó đi để giải phóng tài
nguyên. Trước khi tắt, trạng thái làm việc của chương trình sẽ được lưu lại để khi truy
xuất lần nữa, mọi công việc bạn làm vẫn được giữ nguyên. Tất nhiên, với các quản lý
này bạn sẽ không biết được chương trình đó vừa bị tắt.
V. Quản lý tiến trình trong hệ điều hành Android
31
1. Hệ thống phân cấp
Thứ bậc của process trong Android được chia thành 5 cấp theo 5 mức độ quan
trọng từ cao đến thấp:
Foreground process (tạm dịch: tiến trình nổi bật): Đây chính là những
process dùng để chạy ứng dụng (app) bạn đang dùng. Những process khác
cũng có thể được xem là foreground khi chúng có liên hệ trức tiếp với process
“xử lý” app đang chạy. Tại một thời điểm cũng chỉ có vài foreground process
mà thôi.
Visible process (tạm dịch: tiến trình nhìn thấy được): Visible process
không liên quan đến app đang chạy nhưng có tác động đến những gì thể hiện
trên màn hình. Ví dụ, foreground process có tính năng “trong suốt”
(transparent) và những ứng dụng được hiển thị đằng sau chính là visible
process. Dễ thấy nhất là khi cài các theme hỗ trợ khả năng “làm mờ” ứng dụng
hoặc “ghim” ứng dụng lên màn hình.
Service process (tạm dịch: tiến trình dịch vụ): Tiến trình dạng này
không liên quan đến bất kì ứng dụng cả đang chạy và “dưới” đang chạy nào.
Chúng thực hiện công việc một cách âm thầm như chơi nhạc hay tải tập tin.
Ví dụ bạn đang nghe nhạc và muốn chuyển sang chơi game, khi bạn mở game
cũng là lúc process phát nhạc trở thành service process, vẫn tiếp tục chơi nhạc
khi bạn làm việc khác.
Background process (tạm dịch: tiến trình nền): Background process
không xuất hiện, cũng không thực hiện vai trò dễ nhận ra (như chơi nhạc),
chúng không ảnh hưởng đến trải nghiệm sử dụng. Tại một thời điểm, có rất
nhiều background process đang chạy và bạn có thể xem chúng là những ứng
dụng đang “tạm dừng”. Background process vẫn sử dụng RAM, cho phép bạn
nhanh chóng chuyển đổi trở lại nhưng không sử dụng thêm tài nguyên phần
cứng nào khác. Ví dụ khi dùng Chrome và bấm phím Home, Chrome trở thành
background process và khi mở lại Chrome, nó cũng lập tức mở lại tab đang
xem.
Empty process (tạm dịch: tiến trình rỗng): Tiến trình này không còn
tiêu tốn tài nguyên nào nữa. Chúng được giữ lại nhằm mục đích tạo bộ nhớ
đệm cho lần khởi động sau và hệ thống có thể tùy ý loại bỏ chúng.
32
Một ví dụ tổng quát sẽ giúp bạn hình dung dễ hơn: Angry Birds là foreground
process khi bạn đang “bắn heo”. Ngừng chơi và mở Gmail, Angry Birds trở thành
background process và Gmail thành foreground process. Kiểm tra xong email và trở
lại Angry Birds, trò chơi hiện lại ngay màn bạn đang chơi. Trong khoảng thời gian đó,
Angry Birds được duy trì trên RAM, bộ nhớ đệm và luôn trong tình trạng sẵn sàng
khôi phục.
2. Tính năng tự động quản lý tiến trình của Android
Android có khả năng quản lý process một cách tự động, do đó bạn không cần cài
đặt bất kì ứng dụng “quản lý ứng dụng” nào.
Khi cần nhiều tài nguyên, Android tự động xóa các process ít quan trọng nhất, bắt
đầu từ empty và background process. Khi cần nhiều tài nguyên hơn nữa như lúc chơi
game nặng, hệ thống tự động loại bỏ thêm service process. Chơi game nặng, nhạc của
bạn sẽ tự tắt, tập tin tải về tự động dừng.
Trong đa số trường hợp, bạn không cần lo về lượng RAM của máy. Nhiều người
lo rằng máy mình chỉ còn 1 ít RAM và “đổ thừa” cho hệ thống là không đúng. Cơ chế
quản lý thông minh của Android tự động lưu giữ các ứng dụng và dữ liệu khác trên
RAM cho bạn trải nghiệm tốt nhất có thể.
Dĩ nhiên, sự linh hoạt cũng có điểm yếu. Nếu một ứng dụng được lập trình không
tốt, một service process có thể tiếp tục sử dụng tài nguyên CPU và RAM khiến máy
33
nóng lên và tụt pin nhanh chóng. Về mặt kĩ thuật, tình trạng này được gọi là “memory
leaked” (rò rỉ bộ nhớ).
Một số ứng dụng được lập trình đặt icon trên thanh thông báo notification như
avast!, TrustGo Antivirus hay Advanced Task Killer. Nếu bạn cố tắt icon này, ứng
dụng “chống lại”. Bằng cách luôn giữ icon trên thanh thông báo, chúng cho biết mình
không phải là background process để khỏi bị hệ thống loại bỏ khi cần tài nguyên.
avast! “chống lệnh” tắt icon
3. Ứng dụng Android có thể tự đáp ứng các sự kiện
Các lập trình viên có thể cho ứng dụng của mình quyền tự khởi động cùng hệ thống
hay chạy một dịch vụ ngầm. Ứng dụng có thể tự khởi động bởi nhiều loại “sự kiện”
khác nhau: khi mở máy, khi chụp ảnh, khi thay đổi mạng. Khả năng này cho phép ứng
dụng làm việc mà không cần tiêu tốn tài nguyên “chạy nền” (background process). Ví
dụ Facebook Messenger biết khi nào bạn mở wifi để tự nhận tin nhắn.
34
“Quyền đặc biệt” của ứng dụng
4. Quản lý tiến trình “cơ bản”
Người dùng không cần tự mình làm việc này, nhưng cũng có vài cách để bạn “làm
chủ” thiết bị. Có thể dùng menu đa nhiệm của Android 4.0 trở lên (thường gọi Recent
Apps). Kích hoạt menu này bằng cách nhấn và giữ Home, nhấn liên tiếp Home 2 lần,
chọn biểu tượng chỉ định (thường là 2 hình chữ nhật xếp chồng) tùy vào loại máy.
Những ứng dụng hiện lên là chúng đang ở trạng thái “background process”. Dùng
tay “quét bỏ” sẽ loại bỏ hoàn toàn ứng dụng khỏi bộ nhớ RAM của máy. Cách này thực
sự cũng không quá cần thiết nhưng cũng có thể giải quyết các trường hợp ứng dụng gặp
lỗi (đứng hình, vẫn chạy nhưng mất cảm ứng).
35
Menu Recent Apps
Cũng có thể vào mục Settings > Apps > chọn ứng dụng và bấm Force stop để tắt chúng
đi.
36
Force stop cũng có thể dừng ứng dụng
Android là hệ điều hành dựa trên Linux, mỗi ứng dụng được gán một mã số người
dùng riêng (Linux user ID hoặc user account). Mã số này giúp phân biệt ứng dụng này
với ứng dụng khác. Khi root Android, ứng dụng có thể tự “phá rào” và chạy với quyền
cao nhất, quyền root.
Trường hợp này không thường xảy ra nhưng cũng đáng để cảnh báo, đây là một
trong những lý do Android không được root sẵn khi đến tay người dùng.
37
TÀI LIỆU THAM KHẢO
[1] Tổng quan về hệ điều hành Android https://toolandroid.wordpress.com/
[2] Đề tài về tìm hiểu hệ điều hành Android, viết chương trình minh họa
chuong-trinh-minh-hoa-7769/
[3] Trang hệ điều hành
[4] Trang hướng dẫn cài hệ điều hành Android x86 trên máy tính
may-tinh.10929/
[5] Trang thông tin dành cho tín đồ công nghệ
[6] Trang thông tin công nghệ www.thongtincongnghe.com
[7] Trang phát triển Android
[8] Trang chợ công nghệ
[9] Trang chia sẽ kiến thức phân tích thiết kế hệ thống :
Các file đính kèm theo tài liệu này:
- he_dieu_hanh_nhom11_de_tai_4_5308.pdf