Tải bản đầy đủ (.docx) (30 trang)

BÀI TẬP LỚN MÔN HỆ ĐIỀU HÀNH ĐỀ TÀI TÌM HIỂU VỀ HAI HỌ HỆ ĐIỀU HÀNH MACOS VÀ IOS

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.1 MB, 30 trang )

HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THƠNG
KHOA CƠNG NGHỆ THƠNG TIN

BÀI TẬP LỚN
MƠN: HỆ ĐIỀU HÀNH

ĐỀ TÀI: TÌM HIỂU VỀ HAI HỌ HỆ ĐIỀU HÀNH: MACOS VÀ IOS
Giảng viên HD: ThS. Đinh Xn Trường
Nhóm mơn học: 01
Nhóm bài tập : 12
Các thành viên nhóm thực hiện:
1. Nguyễn Đình Khả

B20DCCN363

2. Bùi Mạnh Hùng

B20DCCN292

3. Nguyễn Hải Phong B20DCCN495

Hà Nội 2022


MỤC LỤC
PHẦN 1: GIỚI THIỆU................................................................................................2
1.1. Giới thiệu khái quát về hệ thống: Sự ra đời của hệ thống:..................................2
1.1.1 Hệ điều hành iOS và lịch sử hình thành........................................................2
1.1.2 Hệ điều hành macOS và lịch sử hình thành...................................................3
1.2. Mục đích của hệ thống......................................................................................... 5
1.2.1 Hệ điều hành iOS........................................................................................... 5


1.2.2 Hệ điều hành macOS..................................................................................... 6
1.3. Thống kê về số lượng người sử dụng:................................................................. 6
1.3.1 Lượng người dùng và thị phần của iOS.........................................................6
1.3. Lượng người dùng và thị phần của macOS......................................................7
PHẦN 2: NỘI DUNG CHI TIÉT................................................................................9
2.1. Quản lý file như thế nào?..................................................................................... 9
2.1.1 Quản lý file trong iOS.....................................................................................11
2.1.2 Quản lý file trong macOS..............................................................................14
2.2. Quản lý bộ nhớ chính (Trong):.............................................................................14
2.2.1 Bộ nhớ chính của iOS.....................................................................................14
2.2.2 Bộ nhớ chính của macOS...............................................................................17
2.3. Quản lý tiến trình:............................................................................................... 19
2.3.1 Tiến trình trong iOS.......................................................................................19
2.3.2 Tiến trình trong macOS..................................................................................21
2.4, So sánh (nêu lên các đặc điểm khác biệt của hệ thống)......................................23
PHẦN 3: KẾT LUẬN...................................................................................................24
2


PHẦN 1: GIỚI THIỆU
1.1. Giới thiệu khái quát về hệ thống, lịch sử ra đời của hệ thống
1.1.1. Hệ điều hành iOS
-IOS là từ viết tắt của Internetwork Operating System: là hệ điều hành mạng của
Cisco, giúp các thiết bị của Cisco (switch, router) sử dụng được các tập hợp chức
năng chạy trên nó (routing, packet swithing…) để xây dựng và hình thành nên hệ
thống mạng.
Hệ điều hành IOS là gì?
-

iOS là hệ điều hành trên thiết bị di động của Apple. Ban đầu hệ điều hành này chỉ

được phát triển để chạy trên iPhone, nhưng sau đó nó đã được mở rộng để chạy
trên các thiết bị của Apple như iPod touch, iPad và Apple TV.

-

Giao diện người dùng của iOS dựa trên cơ sở thao tác bằng tay. Người dùng có
thể tương tác với hệ điều hành này thơng qua nhiều động tác bằng tay trên màn
hình cảm ứng của các thiết bị của Apple.
Lịch sử hệ điều hành iOS

-

Hệ điều hành này được tiết lộ tại Hội nghị và Triển lãm Macworld diễn ra vào
tháng 1 năm 2007 và được phát hành vào tháng 9 năm đó. Khi đó, hệ điều hành
này chưa có một cái tên riêng chỉ đơn giản là “iPhone chạy OS X”.


Hình 1.1.1. Stev Jobs tại Triển lãm Macworld diễn ra vào tháng 1 năm 2007
-

Ngày 6 tháng 3 năm 2008, Apple đã phát hành bản dùng thử đầu tiên, cùng với
một cái tên đầu tiên cho iOS, đó là "iPhone OS".

Hình 1.1.2. Các phiên bản iOS từ 2007 - 2022


1.1.2. Hệ điều hành macOS
Hệ điều hành macOS
- macOS (trước đây là OS X và ban đầu là Mac OS X ) là một hệ điều
hành Unix [9] được Apple Inc. phát triển và tiếp thị từ năm 2001. Đây là hệ điều

hành chính cho Máy tính Mac của Apple. Trong thị trường máy tính để bàn và máy
tính xách tay, nó là hệ điều hành máy tính để bàn được sử dụng rộng rãi thứ hai ,
sau Microsoft Windows và trước ChromeOS .
-

macOS đã kế tục Mac OS cổ điển , một hệ điều hành Mac với chín bản phát hành
từ năm 1984 đến năm 1999. Trong thời gian này, người đồng sáng lập Apple Steve
Jobs đã rời Apple và thành lập một công ty khác, NeXT , phát triển nền
tảng NeXTSTEP mà sau này được Apple mua lại để hình thành. nền tảng của
macOS.

-

Phiên bản dành cho máy tính để bàn đầu tiên, Mac OS X 10.0 , được phát hành
vào tháng 3 năm 2001, với bản cập nhật đầu tiên, 10.1, đến vào cuối năm đó. Tất
cả các bản phát hành từ Mac OS X 10.5 Leopard [10] trở về sau đều được chứng
nhận UNIX 03 , [11] ngoại trừ OS X 10.7 Lion . [12] Hệ điều hành di động của
Apple, iOS , được coi là một biến thể của macOS. [
Lịch sử hình thành

Hình 1.1.3. Logo của Mac OS X / OS X / macOS , từ Cheetah 10.0 / Puma 10.1 đến Ventura 13.

Dòng thời gian của các phiên bản:


Hình 1.1.4. Dịng thời gian của hệ điều hành macOS.

1.2. Mục đích của hệ thống
1.2.1. Hệ điều hành iOS
-


Apple (AAPL) iOS là hệ điều hành dành cho iPhone, iPad và các thiết bị di động
khác của Apple. Dựa trên Mac OS, hệ điều hành chạy trên dịng máy tính để bàn
và máy tính xách tay Mac của Apple, Apple iOS được thiết kế để kết nối dễ dàng,
liền mạch giữa các sản phẩm của Apple.

-

Trước khi nó tồn tại, phần mềm điện thoại di động rất cồng kềnh, phức tạp và hình
ảnh khơng hấp dẫn. Nhưng sau khi ra mắt, khái niệm về điện thoại di động đã
được định nghĩa lại hoàn toàn. Với hệ điều hành dựa trên cảm ứng được ưu tiên
hơn các nút vật lí.


-

Hệ điều hành này có một lưới đơn giản gồm các biểu tượng đầy màu sắc giúp
thiết bị có cảm giác dễ tiếp cận và dễ sử dụng. Chỉ cần nhấn vào ứng dụng bạn
muốn mở và nhấn nút vật lý để quay lại trang chủ. Nhìn lại thì có vẻ là một khái
niệm hiển nhiên, nhưng những chiếc điện thoại thông minh trước đây như
Blackberry nổi tiếng là CỒNG KỀNH KHI SỬ DỤNG.

-

Cuối cùng, ảnh hưởng của iOS trên vơ số ngành cơng nghiệp. Từ máy tính bảng,
đến đồng hồ, ơ tơ và thậm chí cả tủ lạnh
1.2.2. Hệ điều hành macOS

-


macOS X có thiết kế mơ-đun nhằm giúp việc bổ sung các tính năng mới vào hệ
điều hành trong tương lai dễ dàng hơn. Nó chạy các ứng dụng UNIX cũng như
các ứng dụng Mac cũ hơn. Mac OS đi kèm với dịng máy tính iMac và Power
Macintosh của Apple Computer.
1.3. Thống kê về số lượng người sử dụng
1.3.1. Hệ điều hành iOS

Hình 1.3.1. Thị phần iOS từ 2010 - 2020


-

Dưới đây là bảng với thị phần iOS toàn cầu kể từ năm 2010:
NĂM

THỊ PHẦN IOS

2010

25,48%

2011

22,29%

2012

24,04%

2013


24,03%

2014

23,95%

2015

20,2%

2016

19,29%

2017

19,65%

2018

20,47%

2019

22,71%

Năm 2020

26,28%


Nguồn: Statcounter.


1.3.2. Hệ điều hành macOS
-

Thị phần toàn cầu do hệ điều hành macOS từ tháng 1 năm 2013 đến tháng 6 năm
2022

Hình 1.3.2. Thị phần tồn cầu của macOS từ 2013 - 2022


PHẦN 2: NỘI DUNG CHI TIẾT
2.1. Quản lý file như thế nào?
-

-

-

Tất cả các dữ liệu trên máy vi tính của bạn bao gồm hệ điều hành, chương trình
ứng dụng, và thông tin do bạn tạo ra đều tồn tại dưới dạng tập tin - File. Các tập
tin được sắp xếp trong một hoặc nhiều thư mục.
Thư mục - Folder là một dạng tập tin đặc biệt có cơng dụng như là một ngăn
chứa, được dùng trong việc quản lý và sắp xếp các tập tin. Bất kể bạn sử dụng hệ
điều hành nào, máy vi tính của bạn sử dụng các thư mục để sắp xếp tất cả các
tập tin và ứng dụng khác nhau mà nó có.
Khái niệm về quản lý file?
Trình quản lý tập tin cho phép người dùng tạo, đổi tên, di chuyển, in, sao chép, tìm

kiếm và xóa các tệp tin và thư mục, cũng như thiết lập các quyền hạn (thuộc tính)
như lưu trữ, chỉ đọc, ẩn hoặc hệ thống và liên kết tệp Loại với các chương trình.
Người dùng cũng được cấp sẵn các công cụ để đổi tên và định dạng đĩa, quản lý
các thư mục để chia sẻ tập tin và để kết nối đến một ổ đĩa mạng.
2.1.1. MacOs

-

MacOS sử dụng phần mềm Finder để quản lý tập tin
Finder là gì?
- Finder là trình quản lý tệp mặc định và trình bao giao diện người dùng đồ họa
được sử dụng trên tất cả các hệ điều hành Macintosh.

-

Nó chịu trách nhiệm khởi chạy các ứng dụng khác và quản lý người dùng tổng
thể về tệp, đĩa và khối lượng mạng. Nó được giới thiệu cùng với máy tính
Macintosh đầu tiên và cũng tồn tại như một phần của GS / OS trên Apple II GS.
Nó đã được viết lại hồn toàn với việc phát hành Mac OS X vào năm 2001.

-

Theo truyền thống thì nó có từ thời Mac OS Cổ điển của những năm 1980 và
1990, biểu tượng Finder là màn hình cười của máy tính, được gọi là logo
Happy Mac.
-Tính năng của Finder








Finder sử dụng chế độ xem hệ thống tệp được hiển thị bằng cách sử
dụng phép ẩn dụ trên máy tính để bàn
Nghĩa là, các tệp và thư mục được biểu diễn dưới dạng các biểu tượng
thích hợp. Nó sử dụng giao diện tương tự như trình duyệt Safari của Apple,
nơi người dùng có thể nhấp vào một thư mục để di chuyển đến nó và di
chuyển giữa các vị trí bằng cách sử dụng các nút mũi tên "quay lại" và
"chuyển tiếp".
Giống như Safari, Finder sử dụng các tab để cho phép người dùng xem
nhiều thư mục; các tab này có thể được kéo ra khỏi cửa sổ để biến
chúng thành các cửa sổ riêng biệt.

Hình 2.1.1. Finder sử dụng tab để cho người dùng xem nhiều thư mục


Trong Finder cổ điển, việc mở một thư mục mới sẽ mở ra vị trí trong một
cửa sổ mới: Các cửa sổ của Finder bị 'khóa' để chúng chỉ hiển thị nội dung
của một thư mục. Nó cũng cho phép tùy chỉnh rộng rãi, người dùng có thể
cung cấp cho các thư mục các biểu tượng tùy chỉnh phù hợp với nội dung
của họ.



Finder hiện đại sử dụng API đồ họa macOS để hiển thị bản xem trước của
một loạt tệp, chẳng hạn như hình ảnh, ứng dụng và tệp PDF. Tính năng
Quick Look cho phép người dùng nhanh chóng kiểm tra tài liệu và hình ảnh
chi tiết hơn từ cơng cụ tìm kiếm bằng cách nhấn phím cách mà khơng cần
mở chúng trong một ứng dụng riêng biệt. Người dùng có thể chọn cách

xem


tệp, với các tùy chọn như biểu tượng lớn hiển thị bản xem trước của tệp,
danh sách với các chi tiết như ngày tạo hoặc sửa đổi lần cuối,
2.1.2. Về iOS
-

iOS sử dụng ứng dụng Files để quản lý tập tin.

Hình 2.1.2. iOS dùng ứng dụng Files để quản lý tập tin

Files là gì?
-

-

Files là một ứng dụng quản lý tệp do Apple Inc. phát triển dành cho các thiết bị
chạy iOS 11 trở lên của iOS và các thiết bị chạy iPadOS.
Được phát hiện như một tiêu đề giữ chỗ trong App Store ngay trước Hội nghị các
nhà phát triển tồn cầu năm 2017 của cơng ty, ứng dụng đã chính thức được cơng
bố tại hội nghị ngay sau đó.
Tệp cho phép người dùng duyệt các tệp cục bộ được lưu trữ trong ứng dụng, cũng
như các tệp được lưu trữ trên các dịch vụ lưu trữ đám mây bao gồm iCloud, Box,
Dropbox, Google Drive, OneDrive, v.v.


Hình 2.1.3. Các dịch vụ lưu trữ đám mây
-


Người dùng có thể lưu, mở và sắp xếp tệp, bao gồm cả việc đặt tệp vào thư mục
có cấu trúc và thư mục con.

Hình 2.1.4. Lưu, mở và sắp xếp tệp, gồm cả việc đặt tệp vào thư mục có cấu trúc và thư mục con.
-

Trên iPad, người dùng có thể kéo và thả tệp giữa ứng dụng Tệp và các ứng dụng
khác, nhưng trên iPhone, chức năng này chỉ giới hạn trong từng ứng dụng tương
ứng. Người dùng có thể thêm các thẻ có màu và có tên tùy chỉnh vào tệp, thêm
chúng vào phần "Tags".


Hình 2.1.5. chức năng kéo, thả tệp giữa các ứng dụng giới hạn trong từng ứng dụng tương ứng.
-

Thanh tìm kiếm liên tục ở trên cùng cho phép tìm kiếm các tệp bên trong các thư
mục con, mặc dù nó khơng tìm kiếm trong các ứng dụng khác.

Hình 2.1.6. Thanh tìm kiếm liên tục ở trên cùng.
-

Chế độ xem danh sách cho phép phân loại tùy chọn theo kích thước hoặc ngày
tháng.
Khi nhấn và giữ một tệp, ứng dụng cung cấp một số tùy chọn, bao gồm "Sao
chép", "Đổi tên", "Di chuyển", "Chia sẻ", "Thẻ", "Thơng tin" và "Xóa". Các tệp
được lưu trữ trên các dịch vụ của bên thứ ba có thể được sao chép vào thiết bị
để truy cập ngoại tuyến.


Hình 2.1.7. Ứng dụng cung cấp một số tùy chọn khi nhấn và giữ tệp.


2.2. Quản lý bộ nhớ chính
2.2.1 MacOS:
a. Phân vùng nhớ
-

Khi Hệ điều hành khởi động, nó chia RAM khả dụng thành hai phần lớn. Nó dự trữ
cho chính nó một vùng hoặc phân vùng bộ nhớ được gọi là phân vùng hệ thống.
Phân vùng hệ thống ln bắt đầu ở byte bộ nhớ có địa chỉ thấp nhất
(địa chỉ bộ nhớ 0) và mở rộng lên trên. Phân vùng hệ thống chứa một đống hệ
thống và một tập hợp các biến tồn cục, được mơ tả trong hai phần tiếp theo.

-

Tất cả bộ nhớ bên ngoài phân vùng hệ thống đều có sẵn để cấp phát cho các ứng
dụng hoặc các thành phần phần mềm khác. Người dùng có thể mở nhiều ứng dụng
cùng một lúc. Khi một ứng dụng được khởi chạy, Hệ điều hành sẽ gán cho nó một
phần bộ nhớ được gọi là phân vùng ứng dụng của nó. Nói chung, một ứng dụng chỉ
sử dụng bộ nhớ có trong phân vùng ứng dụng của chính nó.


Hình 2.2.1. Minh họa cách tổ chức bộ nhớ khi một số ứng dụng được mở cùng một lúc
-

Khi ứng dụng của bạn được khởi chạy, Hệ điều hành sẽ phân bổ cho nó một phân
vùng bộ nhớ được gọi là phân vùng ứng dụng của nó. Phân vùng đó chứa các phân
đoạn bắt buộc của mã của ứng dụng cũng như dữ liệu khác được liên kết với ứng
dụng.



Hình 2.2.2. Minh họa cách tổ chức chung của một phân vùng ứng dụng

b. MultiFinder
-

Mỗi ứng dụng được cấp phát heap riêng từ RAM có sẵn. Lượng RAM thực tế
được phân bổ cho mỗi heap được đặt bởi một giá trị được mã hóa trong mỗi ứng
dụng, do lập trình viên đặt. Ln ln có giá trị này khơng đủ cho các loại cơng
việc cụ thể, vì vậy cài đặt giá trị phải được hiển thị cho người dùng để cho phép họ
điều chỉnh kích thước đống cho phù hợp với yêu cầu của riêng họ. Ngoài việc
khiến người dùng phải tiếp xúc với các kỹ thuật bí truyền, nó cịn khơng hiệu quả,
vì một ứng dụng sẽ lấy (một cách không chủ ý) tất cả RAM đã phân bổ của nó,
ngay cả khi nó khơng sử dụng phần lớn sau đó. Một ứng dụng khác có thể bị thiếu
bộ nhớ nhưng không thể sử dụng bộ nhớ trống do ứng dụng khác "sở hữu".

-

MultiFinder đã trở thành Finder sau này, bộ nhớ tạm thời là một nơi ứng dụng có
thể "mượn" RAM trống nằm ngồi đống của nó trong thời gian ngắn, nhưng điều
này khơng được các lập trình viên ưa chuộng nên phần lớn không giải quyết được
vấn đề.


Hình 2.2.3. Finder trên Macbook
2.2.2. iOS
Cơ chế quản lý bộ nhớ trong iOS
a.
-

ARC


ARC được viết tắt bởi Automatic Reference Counting: Cơ chế tự động đếm số
lượng tham chiếu ARC để theo dõi và quản lý bộ nhớ app được sử dụng. Nó tự
động giải phóng bộ nhớ khơng dùng đến nữa. Reference counting chỉ áp dụng
cho instances of class. Struct và enum là value type nên sẽ không được lưu trữ và
passed by reference.
*Cách thức hoạt động của ARC

-

Mỗi lần mà bạn tạo 1 instance mới của một class, ARC cấp phát một vùng nhớ để
lưu trữ thông tin về cái instance đó. Vùng nhớ đó nó sẽ giữ thơng tin về loại của
instance cùng với bất kì những biến lưu trữ với instance đó. Khi mà instance đó
khơng cần dùng đến nữa, ARC sẽ tự động giải phóng bộ nhớ được sử dụng bởi
instance đó vì thế vùng nhớ được giải phóng có thể cho những mục đích khác.
Điều này đảm bảo rằng class instance không chiếm dụng vùng nhớ khi nó khơng
làm cần dùng đến nữa. Tuy nhiên nếu ARC đã deallocated một instance mà nó vẫn
được sử dụng, nó sẽ khơng cịn có thể truy cập vào instance của properties hoặc
instance của methods. Vì vậy nếu tiếp tục cố gắng truy cập vào chúng thì app sẽ bị
crash. Tuy nhiên ,1 instance không tự dưng biến mất đột ngột trong khi nó đang


được sử dụng thì có biện pháp để khắc phục là ARC sẽ theo dõi có bao nhiêu thuộc
tính, hằng số, biến số hiện tại đang referring tới class instance đó. ARC sẽ khơng
giải phóng một instance ngay khi vẫn cịn 1 strong reference. Đến đây sẽ có 1 định
nghĩa mới là strong reference. Như vậy strong reference là gì?
* Strong reference là gì?
-

Đó chính là hiện tượng khi 2 class có reference tới nhau và khi giải phóng class

instance thì một trong 2 instance vẫn cịn tồn tại. Cách giải quyết đó là xác định
mối quan hệ giữa các class là weak hay unowned. Cịn nếu khơng giải phóng thì sẽ
xảy ra hiện tượng rị rỉ bộ nhớ.
b.

-

-

MRC

MRC được viết tắt của Manual memory management: tự quản lý mọi hoạt động
của đối tượng.
Thành lập 1 quyền sở hữu đến đối tượng để sử dụng nó và điều khiển nó đi khi
khơng sử dụng nó nữa, một cách hồn tồn thủ công. Apple cung cấp một số
phương pháp để thực hiện điều này:
Alloc: khởi tạo 1 đối tượng và yêu cầu quyền sở hữu đối tượng đó
Retain: Tăng retain count của đối tượng lên 1, gửi giữ 1 phương pháp đến 1 đối
tượng đã tồn tại
Copy: Copy một đối tượng ra một một vùng mới và giữ một quyền sở hữu đến nó
Release: Giảm retainCount đối tượng đi 1.
Autorelease: Giảm đối tượng đi 1 nhưng khơng lập tức.

Hình 2.2.4. Các phương pháp thực hiện


2.3. Quản lý tiến trình.
2.3.1.

Hệ điều hành macOS


Mỗi một chương trình là một tệp thực thi và một tiến trình (TT – procces) làm một
khoảnh khắc của chương trình được thực hiện theo trục thời gian. TT bao gồm:
-

Mã trình thực thi

-

Dữ liệu(data)của TT

-

Program (user) stack

-

CPU program counter

-

Kernel stack

-

CPU registers

-

Thông tin khác cần thiết để chạy trình.

Các dữ liệu này tạo ra bối cảnh của TT, mỗi TT có bối cảnh riêng biệt. Có rất
nhiều tiến trình (TT) được thực hiện đồng thời trên MacOS (đặc tính này cịn gọi là
đa trình - multiprogramming hay đa nhiệm - multitasking) theo nguyên lí phân chia
thời gian, mà tổng số các TT về logic là khơng có giới hạn. Các TT có thể tạo ra
các TT mới, kết thúc các TT, đồng bộ các giai đoạn thực hiện TT, kiểm soát phản
ứng với các sự kiện khác nhau.

Hình 2.3.1. Ví dụ chạy 4 chương trình A, B, C, D trên cùng một CPU


Người dùng có thể viết các chương trình thực hiện các thao tác rất tinh tế mà bản
thân kernel không cần có nhiều chức năng hơn là cần thiết. Có thể đề cập tới một
số các chức năng, chẳng hạn các trình thơng dịch, bộ soạn thảo thuộc lớp các
chương trình cấp người dùng và quan trọng hàng đầu là shell, là trình thơng dịch
mà người dùng sử dụng ngay sau khi login vào hệ thống: shell thông dịch các từ
trong dòng lệnh thành tên lệnh máy, phát sinh TT con và TT con thực hiện lệnh
đưa vào, xử lí các từ cịn lại trong dịng lệnh như các thơng số của lệnh. Shell
thực hiện ba kiểu lệnh:
+ Lệnh là tệp có thể thực hiện được chứa mã máy phát sinh do bộ dịch tạo ra từ mã
nguồn (chương trình C chẳng hạn).
+ Lệnh là tệp chứa một xâu các dòng lệnh của shell.
+ Là các lệnh bên trong của shell. Các lệnh bên trong này làm cho shell trở thành
một ngơn ngữ lập trình rất mạnh trong MacOS.
Shell là chương trình thuộc lớp người dùng, khơng phải là phần của kernel, cho
nên có thể dể dàng biến cải cho mỗi mơi trường đặc thù. Bản thân shell cũng có ba
loại khác nhau thích hợp cho các nhu cầu sử dụng khác nhau và hệ thống có thể
chạy các shell đó đồng thời. Sức mạnh của mỗi kiểu shell thể hiện ở khả năng lập
trình của mỗi kiểu. Mỗi TT được thực hiện trong MacOS có một mơi trường
(execution environment) thực hiện, bao gồm cả thư mục hiện hành. Thư mục hiện
hành của TT là thư mục dùng để chỉ đường dẫn khơng bắt đầu bằng “/”. Người

dùng có thể thực hiện nhiều TT cùng một lúc, và các TT lại có thể tạo ra các TT
khác một cách động, và đồng bộ việc thực hiện các TT đó. Đặc tính này tạo ra một
mơi trường thực hiện chương trình rất mạnh trong MacOS.
Kernel thực hiện vô số các thao tác cơ bản thay mặt cho các TT của nguời dùng để
hỗ trợ cho giao diện người dung, bao gồm:
-

Kiểm sốt việc thực hiện các TT gồm có: cho phép TT tạo TT mới, kết thúc TT,
treo việc thực hiện và trao đổi thông điệp giữa các TT.

-

Lập thời gian biểu để các TT được thực hiện trên CPU. Các TT chia sẻ CPU theo
phương thức phân chia thời gian, một TT sẽ bị treo sau khi thời gian phân bổ đã
hết, kernel lấy TT khác đưa vào thực hiện. Sau này kernel sẽ lại lựa chọn TT bị
treo để đưa vào thực hiện trở lại.


-

Cấp phát bộ nhớ cho TT đang thực hiện, cho phép TT chia sẻ không gian địa chỉ
của TT dưới những điều kiện nhất định, bảo vệ miền địa chỉ riêng của TT đối với
các TT khác. Nếu hệ thống chạy trong hồn cảnh thiếu bộ nhớ, kernel sẽ giải
phóng bộ nhớ bằng cách ghi lại các TT tạm thời vào bộ nhớ dự phòng (còn gọi là
thiết bị swap). Nếu tồn bộ TT được ghi vào swap, thì hệ MacOS gọi là hệ tráo đổi
(swapping system); Nếu kernel ghi các trang của bộ nhớ lên swap, thì hệ đó gọi là
hệ lưu trang.

-


Cấp phát bộ nhớ thứ cấp để cất và tìm lại dữ liệu của người dùng có hiệu quả. Dịch
vụ này cấu tạo nên hệ thống tệp. Kernel cấp vùng nhớ thứ cấp cho tệp của người
dùng, khôi phục lại vùng nhớ, xây dựng cấu trúc tệp theo một cách thức hiểu được,
bảo vệ tệp của người dùng trước các truy nhập bất hợp pháp.
2.3.2 Hệ điều hành iOS
Tiến trình iOS trải qua các trạng thái như sau:

Hình 2.3.2. Tiến trình trong iOS

a. Trạng thái khởi tạo (Create):
-

Khi mà một tiến trình mới được tạo, nó nhận vùng stack riêng của mình và vào
trạng thái mới (new). Tiến trình có thể di chuyển đến trạng thái điều chỉnh
(Modify). Nếu khơng có thay đổi cần thiết, thì tiến trình chuyển sang trạng thái
thực thi (Execute).
b. Trạng thái điều chỉnh (Modify):


-

Không giống như hầu hết các hệ điều hành, iOS không tự động truyền tải các
tham số khởi tạo hoặc gán một giao tiếp đến một tiến trình mới khi nó được tạo,
bởi vì nó cho rằng hầu hết các tiến trình khơng cẩn tài ngun này. Nếu một tiến
trình cần nguồn tại nguyên này, tuyến mà tạo nó có thể điều chỉnh để thêm vào.
c. Trạng thái thức thi (Execute):

-

Sau khi một tiến trình mới được tạo thành cơng và điều chỉnh, nó chuyển sang

trạng thái sẵn sàng (Ready) và vào trạng thái thực thi (Execute). Trong suốt trạng
thái này, một tiến trình có thể truy cập CPU và chạy. Trong suốt trạng thái thực thi,
một tiến trình có thể truy cập CPU và chạy. Trong suốt trạng thái thực thi, một tiến
trình có thể là một trong 3 trạng thái: sẵn sàng, chạy và rồi (Idle). Một tiến trình ở
trạng thái sẵn sàng sẽ đợi chuyển sang trạng thái truy cập CPU và bắt đầu thực thi
lệnh. Một tiến trình ở trạng thái rỗi là đang ngủ, đợi sự | kiện bên ngồi xuất hiện
trước khi nó có thể chạy. Một tiến trình chuyển từ trạng thái sẵn sàng sang trạng
thái chạy khi mà nó được lập lịch để chạy.

-

Với đa tác vụ mà không ưu tiên (non-preemptive multitasking), một tiến trình
được lập lịch chạy trên CPU cho đến khi tạm ngừng hoặc kết thúc. Một tiến trình
có thể tạm dừng theo 2 cách: nó có thể tự dưng bởi việc báo cho kernel, nó muốn
nhường cho CPU và chuyển sang trạng thái sẵn sàng, và đợi đến lúc chạy lại. Tiến
trình cũng có thể dừng bởi một hoạt động bên ngoài xảy ra. Khi mà một tiến trình
đợi một sự kiện, kernel hồn tồn dừng tiến trình này và chuyển nó sang trạng
thái rỗi. Sau khi một sự kiện xảy ra rồi thì kernel chuyển tiến trình trở lại trạng
thái sẵn sàng để đợi chạy lại.
d. Trạng thái kết thúc (Terminal):

-

Trạng thái cuối cùng trong vòng đời của tiến trình là trạng thái kết thúc. Một tiến
trình vào trạng thái kết thúc khi nó hồn thành chức năng của mình và đóng lại
hoặc khi một tiến trình khác đóng nó. Khi một tiến trình bị đóng hoặc tự động, tiến
trình chuyển sang trạng thái chết (Dead). Tiến trình này trạng thái chết (khơng hoạt
động) cho đến khi kernel thu hồi tất cả các tài nguyên của nó. Sau khi tài nguyên
được thu hồi, tiến trình bị kết thúc thốt khỏi trạng thái chết và xóa khỏi hệ thống.
Độ ưu tiên tiến trình iOS:


-

iOS thực hiện chế độ ưu tiên để lập lịch các tiến trình trên CPU. Tại thời điểm
tạo, mỗi tiến trình được gán một trong 4 độ ưu tiên dựa trên mục đích của tiến
trình. Độ ưu tiên là không đổi, chúng được gán khi một tiến trình được tạo và
khơng bao giờ thay đổi. Các độ ưu tiên:


-

Critical: Dành riêng cho những tiến trình hệ thống thiết yếu mà giải quyết những
vấn đề cấp phát tài nguyên.

-

High: Được gán cho những tiến trình mà cung cấp đáp ứng nhanh, như tiến trình
nhận gói trực tiếp từ giao tiếp mạng.

-

Medium: Độ ưu tiên mặc định sử dụng bởi hầu hết các tiến trình.

-

Low: Được gán cho những tiến trình cung cấp những tác vụ mang tính định kỳ
như bảng ghi lỗi... Độ ưu tiên các tiến trình cung cấp sự ưu đãi cho một vài tiến
trình để truy cập CPU dựa trên sự quan trọng của nó đối với hệ thống và iOS
không thực hiện quyền ưu tiên. Một tiến trình có sự ưu tiên cao hơn khơng thể
ngắt một tiến trình có độ ưu tiên thấp hơn, thay vào đó, tiến trình có độ ưu tiên cao

hơn thì có nhiều cơ hội hơn để truy cập CPU hơn.

2.4. So sánh về cấu trúc hệ thống
2.4.1.

Hệ điều hành Mac OS

Hình 2.4.1. Sơ đồ kiến trúc Mac OS X


- Mơi trường ứng dụng
(Application Services)
• bao gồm các khung, thư
viện và dịch vụ cần thiết cho
việc thực thi thời gian chạy
của các chương trình được
phát triển bằng API đó.
• Mac OS X hiện cung cấp
năm môi trường ứng dụng
(hoặc thực thi): Các lệnh
Carbon, Cacao, Java, Cổ điển
và BSD.

- Dịch vụ cốt lõi (Core Services)
• Kết hợp các dịch vụ hệ thống không ảnh hưởng đến giao diện người dùng đồ họa.
• Nó bao gồm Nền tảng cốt lõi, Vận tải mở và một số phần cốt lõi nhất định của
Carbon.
- Mơi trường nhân (Kernel Environment)
• cung cấp lớp nền tảng của Mac OS X.
• Mơi trường nhân cung cấp các phương tiện để phát triển trình điều khiển thiết bị

(I/O Kit) và các phần mở rộng nhân có thể tải được, bao gồm Phần mở rộng Nhân
mạng (NKEs).
2.4.2. Hệ điều hành iOS
– Tổng quan về kiến trúc của iOS:

Hình 2.4.2 Kiến trúc hệ điều hành iOS


×