.1 Kiến trúc Android

Một phần của tài liệu Quy trình điều tra số, bằng chứng số, ứng dụng trong điều tra tội phạm máy tính (Trang 80 - 82)

3.1.1.1 Linux Kernel

Android OS được xây dựng dựa trên Linux kernel với một số sự thay đổi bởi hãng Google. Có nhiều lý do để chọn Linux kernel. Lý do quan trọng nhất đó là Linux là một “Portable Flatform” có thể được biên dịch và chạy trên nhiều phần cứng khác

67

nhau . Tất cả mọi hoạt động của điện thoại muốn thực thi được thì đều phải thực hiện ở mức cấp thấp trong lớp này bao gồm quản lý bộ nhớ (Memory managerment), giao tiếp với phần cứng (driver model), thực thi bảo mật (security), quản lý tiến trình (process). Phiên bản KitKat Android hiện giờ sử dụng Linux kernel bản 3.8.

3.1.1.2 Thư viện

Lớp tiếp theo trong kiến trúc Android bao gồm các thư viện nguồn gốc của Android. Các thư viện được viết bằng ngôn ngữ C , C ++ và giúp thiết bị để xử lý các loại dữ liệu khác nhau. Ví dụ, các thư viện SQLite là hữu ích để lưu trữ và lấy dữ liệu từ một cơ sở dữ liệu. Các thư viện khác bao gồm Media Framework, WebKit , Surface Manager, SSL cũng tương tự như vậy. Thư viện Media Framework hoạt động như giao diện chính để cung cấp một dịch vụ cho các thư viện cơ bản khác . Thư viện WebKit cung cấp các trang web trong các trình duyệt Web và quản lý đồ họa. Trong cùng lớp này còn có Android Runtime , trong đó bao gồm máy Dalvik ảo ( DVM ) và các thư viện lõi. Android runtime chịu trách nhiệm cho việc chạy các ứng dụng trên các thiết bị Android. Thuật ngữ " runtime" đề cập đến việc thời gian từ khi một ứng dụng được chạy cho đến khi nó được tắt .

3.1.1.3 Máy o Dalvik

Tất cả các ứng dụng mà bạn cài đặt trên các thiết bị Android được viết bằng ngôn ngữ lập trình Java. Khi một chương trình Java được biên dịch, chúng ta sẽ nhận được bytecode. JVM là một máy ảo (một máy ảo là một ứng dụng hoạt động như một hệ điều hành, có nghĩa là, nó có thể chạy hệ điều hành Windows trên máy Mac hoặc ngược lại bằng cách sử dụng một máy ảo) có thể thực hiện bytecode này. Nhưng Android sử dụng Dalvik virtual machine (DVM) để chạy các ứng dụng của nó.

DVM chạy Dalvik bytecode, đó là Java bytecode chuyển đổi bởi trình biên dịch Dex. Do đó, các tập tin .class được chuyển đổi thành Dex file bằng cách sử dụng công cụ Dx. Dalvik bytecode khi so sánh với Jave bytecode là phù hợp hơn cho các môi trường low- memory và low-processing. Ngoài ra, lưu ý rằng bytecode JVM bao gồm một hoặc nhiều file .class tùy thuộc vào số lượng file Java có mặt trong một ứng dụng, nhưng Dalvik bytecode gồm chỉ có một tập tin dex. Mỗi ứng dụng Android chạy riêng trên một

68

thể hiện của máy ảo Dalvik. Đây là một khía cạnh quan trọng của bảo mật của Android. Hình 3.2 thể hiện DVM Android khác với JVM Java.

Một phần của tài liệu Quy trình điều tra số, bằng chứng số, ứng dụng trong điều tra tội phạm máy tính (Trang 80 - 82)

Tải bản đầy đủ (PDF)

(156 trang)