ĐỀ TÀI TÌM HIỂU VÀ PHÂN TÍCH KIẾN TRÚC HỆ ĐIỀU HÀNH ANDROID, KIẾN TRÚC CÁC TẦNG CỦA HỆ ĐIỀU HÀNH ANDROID

Android là một hệ điều hành mã nguồn mở, được xây dựng dựa trên Linux và có thể sử dụng cho nhiều thiết bị khác nhau. Bao gồm các thành phần chính theo sơ đồ bên dưới:

*


Nhân Lunix (The Linux Kernel )

Nhân Linux là nền tảng của nền tảng Android. Nó giúp Android trong các dịch vụ và chức năng hệ thống cốt lõi như phân luồng, cấp thấp quản lý bộ nhớ, bảo mật, quản lý quy trình, mạng và trình điều khiển phần cứng.

Bạn đang xem: Kiến trúc hệ điều hành android

Nhân Linux cũng hoạt động như một lớp trừu tượng (abstraction layer) giữa phần cứng và phần mềm của nền tảng.

Hardware Abstraction Layer (HAL)

Hardware Abstraction Layer (HAL) cung cấp các giao diện tiêu chuẩn thể hiện các khả năng của phần cứng thiết bị với framework API Java cấp cao hơn (higher-level Java API framework). HAL bao gồm nhiều mô-đun thư viện, mỗi mô-đun thực hiện một giao diện cho một loại thành phần phần cứng cụ thể, chẳng hạn như mô-đun Camera hoặc Bluetooth. Khi một framework API thực hiện cuộc gọi để truy cập phần cứng của thiết bị, hệ thống Android sẽ tải mô-đun thư viện cho thành phần phần cứng đó.

Android Runtime

Đối với các thiết bị chạy Android phiên bản 5.0 (API cấp 21) trở lên, mỗi ứng dụng chạy trong quy trình riêng và với phiên bản Android Runtime (ART) riêng. ART được viết để chạy nhiều máy ảo trên các thiết bị có bộ nhớ thấp bằng cách thực thi các tệp DEX, một định dạng bytecode được thiết kế đặc biệt cho Android được tối ưu hóa cho bộ nhớ tối thiểu. Xây dựng các công cụ, chẳng hạn như d8, biên dịch các mã nguồn Java thành DEX bytecode, có thể chạy trên nền tảng Android.

Một số tính năng chính của ART bao gồm:

Biên dịch trước thời gian (AOT) và đúng lúc (JIT)Thu gom rác tối ưu hóa (GC)Hỗ trợ debug tốt hơn, bao gồm trình biên dịch lấy mẫu chuyên dụng (profiler), các ngoại lệ chẩn đoán chi tiết và báo cáo sự cố cũng như khả năng thiết lập các điểm theo dõi để giám sát các trường cụ thể

Trước phiên bản Android 5.0 (API cấp 21), Dalvik là Android runtime. Nếu ứng dụng của bạn chạy tốt trên ART, thì ứng dụng đó cũng sẽ hoạt động trên Dalvik, nhưng điều ngược lại có thể không đúng.

Android cũng bao gồm một bộ thư viện thời gian chạy cốt lõi cung cấp hầu hết các chức năng của ngôn ngữ lập trình Java, bao gồm một số tính năng của ngôn ngữ Java 8, mà framework API Java sử dụng.

Xem thêm: Công Dụng Mãng Cầu Xiêm - Công Dụng Của Quả Mãng Cầu Xiêm

Native C/C++ Libraries

Nhiều thành phần và dịch vụ hệ thống cốt lõi của Android, chẳng hạn như ART và HAL, được xây dựng từ mã gốc (native code) yêu cầu thư viện gốc được viết bằng CC ++. Nền tảng Android cung cấp các API khung Java để hiển thị chức năng của một số thư viện gốc này cho các ứng dụng. Ví dụ: bạn có thể truy cập Open
GL ES thông qua API Java Open
GL của Android framework để thêm hỗ trợ vẽ và thao tác đồ họa 2D và 3D trong ứng dụng của bạn.

Nếu bạn đang phát triển một ứng dụng yêu cầu mã C hoặc C ++, bạn có thể sử dụng Android NDK để truy cập trực tiếp vào một số thư viện nền tảng gốc (native platform libraries) này từ mã gốc của mình.

Java API Framework

Toàn bộ tập hợp tính năng của Hệ điều hành Android có sẵn cho bạn thông qua các API được viết bằng ngôn ngữ Java. Các API này tạo thành các khối xây dựng mà bạn cần để tạo ứng dụng Android bằng cách đơn giản hóa việc sử dụng lại các thành phần (components) và dịch vụ (services) hệ thống mô-đun, cốt lõi, bao gồm những nội dung sau:

Các Developer có toàn quyền truy cập vào các framework API giống nhau mà các ứng dụng hệ thống Android sử dụng.

System Apps

Android đi kèm với nhiều ứng dụng cốt lõi được cài đặt sẵn cho email, nhắn tin, lịch, v.v … Tuy nhiên, bất kỳ ứng dụng tương ứng nào khác có thể được tạo thành một ứng dụng mặc định thay cho các lõi này ứng dụng. Các ứng dụng hệ thống (System Apps) này có thể được gọi từ ứng dụng của riêng bạn. Ví dụ, nếu bạn muốn cung cấp chức năng nhắn tin cho một ứng dụng, bạn không cần để tự xây dựng chức năng đó. Bạn có thể gọi ứng dụng hệ thống cho nhắn tin từ trong ứng dụng của bạn để gửi tin nhắn.

Thứ bậc của process trong Android được chia thành 5 cấp theo 5 mức độ quantrọ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ữngprocess dùng để chạy ứng dụng (app) bạn đang dùng. Những process kháccũ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 processmà thôi.Visible process (tạm dịch: tiến trình nhìn thấy được): Visible processkhông liên quan đến app đang chạy nhưng có tác động đến những gì thể hiệntrê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à visibleprocess. Dễ thấy nhất là khi cài các theme hỗ trợ khả năng “làm mờ” ứng dụnghoặ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àykhô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ở gamecũng là lúc process phát nhạc trở thành service process, vẫn tiếp tục chơi nhạckhi bạn làm việc khác.


*
39 trang | Chia sẻ: phamthachthat | Lượt xem: 3716 | Lượt tải: 4
*

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 Sam
Sung, 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 Web
TV). 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. 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 Kit
Kat 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 be
Touch T500, Liquid E, Stream, Liquid, betouch E110, be
Touch E130, be
Touch E400, be
Touch 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 (Lib
Web
Core): đâ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, Java
Script, 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 Kit
Kat) 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 Kit
Kat 4.4.2, ở cứng trống từ 10GB.  Phần mền Unetbootin Các bước để cài đặt Android 4.4 Kit
Kat 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 Unet
Bootin 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à Mc
Afee,.. đã 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 Active
Sync, 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 đó, Black
Berry 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!, Trust
Go 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 :

Leave a Reply

Your email address will not be published. Required fields are marked *

x

Welcome Back!

Login to your account below

Retrieve your password

Please enter your username or email address to reset your password.