Tầng Library và android runtime Gồm 2 thành phần là phần Library và Android Runtime a Phần Libraries • Phần này có nhiều thư viện được viết bằng C/C++ để các phần mềm có t
Trang 1Giáo viên : Đỗ Đình Trang
Nhóm 2 : Lâm Trung Cường
Dương Quốc Bảo
Lê Công Viên
Trần Viết Thư
Trang 2Tìm hiểu về hệ điều hành
Android
• Giới thiệu chung về hệ điều hành
Android
• Kiến trúc hệ điều hành Android
• Hệ thống tập tin trên hệ điều hành
Android
• So sánh giữa các hệ điều hành
• Vấn đề bảo mật
• Đánh giá và nhận xét
2
Trang 3What is android?
3
Trang 4Giới thiệu chung về hệ điều hành
Android
• Hệ điều hành nhân Linux 2.6 chạy trên các
dòng Smartphone
• Ra đời năm 2003 do Android, Inc
• Được Google mua lại và phát triển từ năm
2005.
• Là một hệ điều hành rất mạnh mạnh, có bảo mật cao, hỗ trợ được nhiều công nghệ tiên tiến như 3G, GPS, EDGE, Wifi
• Được tối ưu hóa qua mỗi
phiên bản
4
4
Trang 5Giới thiệu chung về hệ điều hành
Android
• Năm 2008, chính thức mở toàn bộ mã nguồn để các công ty viết lại cho phù hợp với điện thoại của họ.
• Nền tảng android là chung cho nhiều dòng máy.
• Máy ảo Java đã chịu trách nhiệm thực thi những ứng dụng phù hợp với mỗi dòng điện thoại mà
nó đang chạy
• Tất cả các chương trình ứng dụng được viết
bằng ngôn ngữ Java kết hợp với XML
nên có khả năng khả
chuyển cao
5
Trang 6Giới thiệu chung về hệ điều hành
Android
• 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 :
Trang 7Giới thiệu chung về hệ điều hành
Android
7
Trang 8Giới thiệu chung về hệ điều hành
Android
8
8
Trang 9Giới thiệu chung về hệ điều hành
Android
9
Trang 10Giới thiệu chung về hệ điều hành
Android
• Một số phiên bản
hệ điều hành Android
10
10
Trang 11Kiến trúc hệ điều hành Android
• Hệ điều hành android có 4 tầng từ dưới lên trên :
11
Trang 12Kiến trúc hệ điều hành Android
12
12
Tầng Application
Application Framework
Libraries & runtime
Tầng Linux Kerner
Trang 13Kiến trúc hệ điều hành Android
1 Tầng hạt nhân Linux (Linux Kernel layer)
Trang 14Kiến trúc hệ điều hành Android
1 Tầng hạt nhân Linux (Linux Kernel layer)
• 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 kiể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
14
14
Trang 15Kiến trúc hệ điều hành Android
1 Tầng hạt nhân Linux (Linux Kernel layer)
• Keypad driver : Điều khiển bàn 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 số 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
• 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
15
Trang 16Kiến trúc hệ điều hành Android
2 Tầng Library và android runtime
Gồm 2 thành phần là phần Library và Android Runtime
a) Phần Libraries
• Phần này có nhiều thư viện được viết bằng C/C++ để các phần mềm có thể sử dụng, các thư viện đó được tập hợp
thành một số nhóm như :
o Thư viện hệ thống (System C library)
o Thư viện Media (Media Libraries)
o Thư viện web (LibWebCore)
16
Trang 17Kiến trúc hệ điều hành Android
2 Tầng Library và android runtime
b) Phần Android runtime
bằng ngôn ngữ Java
o Các thư viện lõi (Core Library) , chứa các lớp như JAVA
IO, Collections, File Access
o Một máy ảo java
(Dalvik Virtual Machine)
17
Trang 18Kiến trúc hệ điều hành Android
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ó thể nhanh chóng xây dựng ứng dụng
• Được viết bằng Java
• 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
18
18
Trang 19Kiến trúc hệ điều hành Android
3 Tầng Application Framework
o Telephony Manager : Cung cấp công cụ để thực hiện việc 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í của điện thoại thoại dựa vào hệ thống định
vị toàn cầu GPS và Google Maps
19
Trang 20Kiến trúc hệ điều hành Android
3 Tầng Application Framework
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 Notication Manager : Quản lý việc hiển thị các thông báo
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
20
20
Trang 21Kiến trúc hệ điều hành Android
duyệt web (Browser), nhắn tin (SMS)
o Các ứng dụng được cài thêm như các
phần mềm chứng khoán (Stock), các
trò chơi (Game), từ điển
21
Trang 22Kiến trúc hệ điều hành Android
4 Tầng Application
• Các chương trình có các đặc điểm là :
• 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ó
• Giúp hạn chế sự lạm dụng tài nguyên, giúp hệ thống hoạt động tốt hơn
• Ứng dụng không có điểm vào cố định,
không có phương thức main để
bắt đầu
22
22
Trang 23Hệ thống tập tin trên hệ điều hành
Android
a) Tổng quan về hệ thống file trên Android :
• Các file được tổ chức thành các thư mục, theo mô hình phân cấp
• Tham chiếu đến một file bằng tên và đường dẫn
• Có thể sử dụng các ký tự, dấu gạch dưới, chữ số, dấu chấm và dấu phảy để đặt tên file
• Không được bắt đầu một tên file bằng dấu chấm hay chữ số
• Chiều dài của tên file tối đa 256 ký tự
• Phân biệt tên file chữ hoa và chữ thường
23
Trang 24Hệ thống tập tin trên hệ điều hành
Android
a) Tổng quan về hệ thống file trên Android
• Tất cả các file trong android có chung cấu trúc vật lý là chuỗi các byte (byte stream)
• Quản lý và chuyển đổi dữ liệu một cách dễ dàng
• Các thành phần được xem như các file, chúng được
phân biệt dựa trên kiểu file: ordinary file, directory file,
character device file, và block device file
24
24
Trang 25Hệ thống tập tin trên hệ điều hành
Android
b) Các kiểu file trên android
• Trong nhiều hệ điều hành như window, người ta phân biệt rõ file (tập tin) và folder (hay directory : thư mục) là 2 thành phần khác hẳn nhau
• Tuy nhiên trên hệ điều hành android (cũng như linux) thì coi directory cũng là file và nó là một loại file đặc biệt
• Một số loại file nữa có thể liệt kê theo bảng sau :
25
Trang 26Hệ thống tập tin trên hệ điều hành
Android
b) Các kiểu file trên android:
Bảng liệt kê một số kiểu file trong Linux
Chữ cái biểu diễn Kiểu file
d Thư mục (Directory)
b File kiểu khối (block-type special file)
c File kiểu ký tự (character-type special file)
l Liên kết tượng trưng (symbolic link)
p File đường ống (pipe)
s Socket
- File bình thường (regular file)
26
26
Trang 27Hệ thống tập tin trên hệ điều hành
Android
c) Tổ chức quyền sở hữu và quyền hạn trên file
• Một file có thể liên kết với một người sử dụng và một nhóm người sử dụng
• Sự liên kết đó là một tập hợp các quyền hạn truy cập bao gồm quyền được phép đọc (read), được phép ghi (write) và được phép thực thi (execute)
• Cụ thể như sau: Một file sẻ có những quyền hạn tương ứng với 9 ký tự theo mẫu sau : Với ký tự r w x nghĩa là
có quyền tương ứng với ký tự viết tắt đó,
nghĩa là không có quyền hạn đó
27
Trang 28Hệ thống tập tin trên hệ điều hành
Android
c) Tổ chức quyền sở hữu và quyền hạn trên file
• 3 ký tự đầu tiên là quyền hạn chủ nhân file
• 3 ký tự giữa là quyền hạn của nhóm tài khoản sở hữu file
• 3 ký tự cuối là quyền hạn của những
người không thuộc nhóm sở hữu file
Owner Owner Group Other
r/- w/- x/- r/- w/- x/- r/- w/- x/-
28
28
?
Trang 29Hệ thống tập tin trên hệ điều hành
Android
d) Cây thư mục trên hệ điều hành android
• Thư mục (hay có thể gọi là file) root là thư mục gốc
của tất cả các file thư mục còn lại
• Dưới nó có chứa một số file thư mục hệ thống
• Mỗi thư mục (trừ thư mục root) đều có một thư mục
cha chứa nó, bản thân nó cũng có thể có nhiều file thư mục con
• Cấu trúc đó có thể mô tả bằng một cây thư mục có
dạng như sau :
29
Trang 30Hệ thống tập tin trên hệ điều hành
Android
d) Cây thư mục trên hệ điều hành android
/root var etc mnt system cache framework Bin Lost+found font lib app
30
30
Trang 31Hệ thống tập tin trên hệ điều hành
Android
d) Cây thư mục trên hệ điều hành android
• /(root) : Là thư mục gốc Là thư mục duy nhất không
có thư mục cha
• / mnt : thư mục chứa thiết bị lưu động (removeable)
• /system : chứa những thành phần cơ bản nhất của hệ thống
• /ect : chứa những file cấu hình của hệ thống, nó cực
kỳ quan trọng vì sự hoạt động của hệ thống đều bị chi phối ở những file cấu hình này
• /system/lost+found : chứa những tập
tin bị mất lúc khởi động máy
• /system/font : chứa những font chữ
31
Trang 32So sánh giữa các hệ điều hành
1 So sánh giữa hệ điều hành di động và hệ điều hành
trên desktop
phần lõi hệ điều hành
Trang 33So sánh giữa các hệ điều hành
1 So sánh giữa hệ điều hành di động và hệ điều hành
trên desktop
• Nó phải quản lý các ứng dụng không để các ứng dụng chạy chiếm quá nhiều tài nguyên, tránh sự độc quyền, xung đột, tranh chấp tài nguyên giữa các ứng dụng
trong khi các hệ điều hành chạy desktop thì ít chú ý hơn
• Đa số các hệ điều hành trên desktop đều cho phép
nhiều ứng dụng chạy đồng thời (đa nhiệm) và khá tự
do, trong khi đó các hệ điều hành trên di động thường không cho phép chạy đa nhiệm, hoặc có đa nhiệm thì các
ứng dụng bị giới hạn khá nhiều
33
Trang 34So sánh giữa các hệ điều hành
1 So sánh giữa hệ điều hành di động và hệ điều hành
trong khi vẫn di chuyển
34
34
Trang 35So sánh giữa các hệ điều hành
2 So sánh hệ điều hành android với các hệ điều hành di động khác
Giống nhau : Đều là hệ điều hành di động nên mang đầy đủ bản chất của hệ điều hành di động nói chung.
• Các ứng dụng chạy trên android được
viết bằng Java trong khi đó, ứng dụng
trên các hệ điều hành khác chủ yếu
là viết bằng C/C++/Object C/C#
35
Trang 36Vấn đề bảo mật
• Các ứng dụng Android chạy trong một “ hộp cát
“ là một khu vực riêng lẽ 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.
• Trước khi cài đặt ứng dụng, cửa hàng Play sẽ
hiển thị tất cả các quyền mà ứng dụng đòi hỏi
Ví dụ như một trò chơi cần phải kích hoạt bộ
rung hoặc dữ liệu vào thẻ nhớ SD.
36
36
Trang 37Giới thiệu chương trình Demo
Chương trình : Android Explorer
Chức năng :
• Hiển thị hệ thống file
• Mở file có chương trình liên kết
• Xem thuộc tính, quyền hạn, đổi quyền hạn trên file
• Thực hiện các thao tác cơ bản trên file
Trang 38Giới thiệu chương trình Demo
Một vài hình ảnh demo
Giao diện chính, xem danh sách file Hiển thị menu 38
38
Trang 39Giao diện chính, xem danh sách file Hiển thị menu
39
Trang 43Chọn lệnh xóa file từ menu Tạo thư mục mới
43
Trang 44
Hộp thoại copy file khi yêu cầu copy file
44
44
Trang 45Đánh giá và nhận xét
• Android là một hệ điều hành di động hiện đại, có tiềm năng phát triển cao Hiện nay đã sử dụng rộng rãi ở
nhiều hãng điện thoại và thực sự đã trở thành một tập đoàn điện thoại mạnh mẽ khi cạnh tranh với những
dòng điện thoại khác như iPhone, Window Phone,
Sysbian
• Android có nguồn gốc từ nhân Linux nên được thừa
hưởng những đặc tính quý báu của Linux, nhất là về độ bảo mật và hiệu năng hoạt động cao
• Hệ điều hành android được tích hợp nhiều công nghệ hiện đại, hỗ trợ phần cứng tốt, liên tục được
cập nhật những phiên bản mới hơn,
hoạt động tốt hơn
45
Trang 46Đánh giá và nhận xét
• Android là hệ điều hành đa nhiệm một người dùng
• Hệ thống quản lý tập tin trong android là được phát triển từ linux nên có nhiều đặc điểm giống với hệ
thống quản lý tập tin trên linux
• Đó là những đặc điểm về quy tắc đặt tên file, đường dẫn thư mục, hệ thống cây thư mục, những thư mục đặc trưng, hệ thống quyền hạn của file đối với người/ nhóm sử dụng trên hệ thống
• Thực thi nhiều lệnh liên quan đến hệ thống file như chmod, chown, chgrp để chỉnh sửa thuộc
tính, hệ thống quyền hạn trên file
46
46
Trang 4747
Trang 48ANY
QUESTIONS:-PLEASE GO TO WWW.GOOGLE.COM
ANY
QUESTIONS:-PLEASE GO TO WWW.GOOGLE.COM
48
Trang 49THANK FOR WATCHING!