c. Chuẩn mã hóa dữ liệu AES
4.2.2 Kiến trúc hệ điều hành android
Hệđiều hành Android có các thành phần phần mềm chia thành 5 phần với 4 tầng
Nguồn: [21]
Hình 4-1 Kiến trúc hệđiều hành Android
Linux kernel
Linux là tầng dƣới cùng nhất. Tầng này cung cấp chức năng hệ thống cơ bản nhƣ
quản lý các tiến trình, quản lý bộ nhớ, quản lý thiết bị nhƣ máy ảnh, bàn phím, màn hình hiển thị, v.v...Ngoài ra, nhân Linux xử lý tất cả các vấn đề về Mạng và một loạt các trình điều khiển thiết bị giao tiếp với phần cứng ngoại vi.
Libraries
Tầng này là một tập hợp các thƣ viện bao gồm trình duyệt web mã nguồn mở sử
dụng WebKit engine, thƣ viện libc, cơ sở dữ liệu SQLite là một kho lƣu trữ hữu
lại âm thanh và video, các thƣ viện SSL chịu trách nhiệm về bảo mật Internet, v.v...
Android Runtime
Đây là thành phần thứ ba của kiến trúc của Android. Phần này cung cấp một thành phần quan trọng đƣợc gọi là máy ảo Dalvik, là một loại máy ảo Java đƣợc thiết kếđặc biệt và tối ƣu hóa cho Android.
Máy ảo Dalvik sử dụng các tính năng cốt lõi của Linux nhƣ quản lý bộ nhớvà đa
luồng, các tính năng này đều có trong ngôn ngữ Java . Máy ảo Dalvik cho phép
tất cả các ứng dụng của Android chạy trong tiến trình riêng của nó.
Android Runtime cũng cung cấp một tập các thƣ viện lõi cho phép các nhà phát
triển ứng dụng Android viết các ứng dụng Android sử dụng ngôn ngữ lập trình Java (J2SE).
Application Framework
Tầng này cung cấp nhiều dịch vụ cấp cao hơn cho các ứng dụng ở dạng các class trong Java. Các nhà phát triển ứng dụng android đƣợc phép sử dụng các dịch vụ
này cho các ứng dụng của họ. (VD: dịch vụ kết nối Internet, dịch vụ SMS,...)
Applications
Đây là tầng trên cùng, các lập trình viên sẽ viết ứng dụng và các ứng dụng đƣợc viết sẽđƣợc cài đặt ở tầng này. Ví dụ: Facebook, Skype, v.v...