Cấu trúc hệ điều hành Android
Trong bài này chúng ta sẽ tìm hiểu một chút về cấu trúc của hệ điều hành Android, để từ đó các bạn có thể hiểu rõ quy trình xử lý và cách mà một ứng dụng android hoạt động.
I. Các lớp của hệ điều hành Android
Hệ điều hành android là tập hợp một nhóm những phần mềm khác nhau, được chia thành 5 phần riêng biệt và 4 phân lớp được thể hiện như hình dưới đây.
Các lớp gồm:
- Linux Kernel
- Libraries
- Android Runtime
- Application Framework
- Applications
Bạn có thể xem trong hình để thấy một cách thông quát hơn.
Bài viết này được đăng tại [free tuts .net]
II. Chức năng các lớp trong hệ điều hành Android
Bây giờ mình sẽ tìm hiểu chi tiết hơn chức năng của từng lớp nhé.
1. Linux kernel
Đây là lớp thấp nhất, nhiệm vụ của nó là xử lý tiếp nhận các thiết bị ngoại vi như: bàn phím, camera, màn hình, wifi, ... Các driver của thiết bị sẽ được cài đặt tại đây.
2. Native Libraries
Trên đầu kernel linux, chúng là các thư viện gốc như WebKit, OpenGL, FreeType, SQLite, Media, thư viện thời gian chạy C (libc), v.v.
Thư viện WebKit chịu trách nhiệm hỗ trợ trình duyệt, SQLite dành cho cơ sở dữ liệu, FreeType để hỗ trợ phông chữ, Phương tiện để phát và ghi các định dạng âm thanh và video.
3. Android Runtime
Trong Android Runtime, có các thư viện lõi và DVM (Máy ảo Dalvik) chịu trách nhiệm chạy ứng dụng Android. DVM giống như JVM nhưng nó được tối ưu hóa cho các thiết bị di động. Nó tiêu thụ ít bộ nhớ hơn và cung cấp hiệu suất nhanh.
4. Android Framework
Phía trên Native libraries và Android Runtime là các android framework. Android framework bao gồm các API của Android như UI (Giao diện người dùng), điện thoại, tài nguyên, địa điểm, Nhà cung cấp nội dung (dữ liệu) và người quản lý gói. Nó cung cấp rất nhiều lớp và giao diện để phát triển ứng dụng Android.
5. Applications
Phía trên Android framework có các ứng dụng (application). Tất cả các ứng dụng như nhà, liên hệ, cài đặt, trò chơi, trình duyệt đang sử dụng khung Android sử dụng thời gian chạy và thư viện Android. Thời gian chạy Android và thư viện riêng đang sử dụng linux kernal.