Zalo
Facebook

Tìm hiểu kiến trúc hệ điều hành Android

Ở bài viết trước, Học viện iT.vn đã chia sẻ tới các bạn về hệ điều hành Android. Trong bài viết ngày hôm nay, chúng ta sẽ cùng tìm hiểu về kiến trúc hệ điều hành Android nhé. Từ đó, bạn có thể hiểu được quy trình xử lý dữ liệu cũng như cách mà một ứng dụng trên Android hoạt động.

Tìm hiểu kiến trúc hệ điều hành Android
Tìm hiểu kiến trúc hệ điều hành Android

Android là một mã nguồn mở, phần mềm dựa trên Linux được tạo ra cho nhiều loại thiết bị và kiểu dáng khác nhau. Kiến trúc của hệ điều hành Android bao gồm 6 phần: Nhân Linux, lớp trừu tượng phần cứng (HAL), thời gian chạy Android, thư viện C/C++ gốc, khung API Java, ứng dụng hệ thống.

Kiến trúc của hệ điều hành Android
Kiến trúc của hệ điều hành Android

Sau đây, Học viện iT.vn sẽ chia sẻ chi tiết tới các bạn về 6 thành phần trong kiến trúc của hệ điều hành Android.

 

1. Nhân Linux (Linux Kernel)

Nền tảng của kiến trúc hệ điều hành Android là nhân Linux. Ví dụ: Android Runtime (ART) dựa trên nhân Linux cho các chức năng cơ bản như phân luồng và quản lý bộ nhớ cấp thấp.

Bằng cách sử dụng nhân Linux, Android có thể tận dụng các tính năng bảo mật chính và cho phép các nhà sản xuất thiết bị phát triển trình điều khiển phần cứng.

 

2. Lớp trừu tượng phần cứng (Hardware Abstraction Layer – HAL) 

Lớp trừu tượng phần cứng (Hardware Abstraction Layer – HAL) cung cấp các giao diện tiêu chuẩn thực hiện các khả năng của phần cứng thiết bị với khung API Java cấp cao hơn. HAL bao gồm nhiều mô-đun, 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 API thực hiện truy cập phần cứng của thiết bị, hệ thống Android sẽ tải mô-đun cho thành phần phần cứng đó.

 

3. Thời gian chạy Android (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.

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).

– Trên Android 9 (API cấp 28) trở lên, chuyển đổi tệp định dạng Dalvik Executable (DEX) của gói ứng dụng thành mã máy nhỏ gọn hơn.

– Hỗ trợ gỡ lỗi tốt hơn, bao gồm trình biên dịch lấy mẫu chuyên dụng, 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 chưa hẳn đã đúng.

Android cũng bao gồm một bộ thư viện 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à khung API Java sử dụng.

 

4. Thư viện C/C++ gốc (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 được viết bằng C và C++. 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 OpenGL ES thông qua API Java OpenGL để 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 này từ mã gốc của mình.

 

5. Khung API Java (Java API Framework)

Toàn bộ tính năng có sẵn của hệ điều hành Android 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 và dịch vụ hệ thống mô-đun, cốt lõi, bao gồm những điều sau:

– Hệ thống xem phong phú và có thể mở rộng mà bạn có thể sử dụng để xây dựng giao diện người dùng của ứng dụng.

– Quản lý tài nguyên, cung cấp quyền truy cập vào tài nguyên không code.

– Quản lý thông báo cho phép tất cả các ứng dụng để cảnh báo hiển thị tùy chỉnh trong thanh trạng thái.

– Hoạt động quản lý để quản lý vòng đời của ứng dụng và cung cấp chuyển hướng trở lại màn hình.

– Nhà cung cấp nội dung cho phép ứng dụng truy cập dữ liệu từ các ứng dụng khác hoặc chia sẻ dữ liệu của riêng họ.

– Các nhà phát triển có toàn quyền truy cập vào cùng một API khung mà các ứng dụng hệ thống Android sử dụng.

 

6. Ứng dụng hệ thống (System Apps)

Android đi kèm với một tập hợp các ứng dụng cốt lõi cho email, nhắn tin SMS, lịch, trình duyệt internet, danh bạ… Các ứng dụng đi kèm với nền tảng không có trạng thái đặc biệt. Vì vậy, ứng dụng của bên thứ ba có thể trở thành trình duyệt web mặc định của người dùng, trình nhắn tin SMS hoặc thậm chí là bàn phím mặc định của người dùng.

Trên đây là chia sẻ của Học viện iT.vn về kiến trúc hệ điều hành Android. Hy vọng những kiến thức này có thể giúp ích cho bạn trong quá trình học tập và làm việc. Nếu có bất cứ thắc mắc nào thì hãy để lại bình luận ngay dưới bài viết này hoặc inbox trực tiếp cho HOCVIENiT.vn để được giải đáp tốt nhất. Chúc bạn thành công!

Mọi chi tiết xin vui lòng liên hệ:
CÔNG TY CỔ PHẦN HỌC VIỆN IT
MST: 0108733789
Tổng đài hỗ trợ: 024 3566 8686 – Hotline: 0981 223 001
Facebook: www.fb.com/hocvienit
Đăng ký kênh Youtube để theo dõi các bài học của Huấn luyện viên tốt nhất: http://bit.ly/Youtube_HOCVIENiT
Hệ thống cơ sở đào tạo: https://hocvienit.vn/lien-he/
Học viện IT.vn – Truyền nghề thực tế cùng bạn đến thành công!