You are on page 1of 42

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

KHOA CÔNG NGHỆ THÔNG TIN 1


o0o

BÀI TẬP LỚN


Đề tài 05: Tìm hiểu chung về họ hệ điều hành MacOS
và iOS

Môn học: Hệ điều hành


Số thứ tự nhóm: 04

Nguyễn Tấn Tài MSSV: B21DCAT170


Nguyễn Tiến Thành MSSV: B21DCAT178
Nguyễn Anh Đức MSSV: B21DCAT066
Ngô Văn Nam MSSV: B21DCAT138
Lê Văn Bằng MSSV: B21DCAT042
Trần Anh Sơn MSSV: B21DCAT166

Giảng viên hướng dẫn: Ths. Đinh Xuân Trường

HÀ NỘI, 11/2023
MỤC LỤC

CHƯƠNG 1. GIỚI THIỆU VỀ HỆ ĐIỀU HÀNH .................................... 1

1.1 Hệ điều hành là gì................................................................................. 1

1.1.1 Hệ điều hành máy tính................................................................ 1

1.1.2 Hệ điều hành điện thoại .............................................................. 2

1.2 Cấu trúc của hệ điều hành...................................................................... 2

1.2.1 Cấu trúc nguyên khối ................................................................. 2

1.2.2 Cấu trúc phân lớp....................................................................... 3

1.2.3 Cấu trúc vi nhân......................................................................... 4

1.3 Các thành phần của hệ điều hành ........................................................... 5

1.3.1 Quản lý tiến trình ....................................................................... 5

1.3.2 Quản lý bộ nhớ .......................................................................... 6

1.3.3 Quản lý vào ra ........................................................................... 6

1.3.4 Quản lý file và thư mục .............................................................. 6

1.3.5 Hỗ trợ mạng và xử lý phân tán..................................................... 7

1.3.6 Giao diện người dùng ................................................................. 7

1.3.7 Các chương trình tiện ích của người dùng..................................... 7

1.3.8 Nhân của hệ điều hành ............................................................... 7

1.4 Một số hệ điều hành cụ thể .................................................................... 8

1.4.1 Hệ điều hành Windows............................................................... 8

1.4.2 Hệ điều hành MacOS ................................................................. 9

1.4.3 Hệ điều hành Linux.................................................................... 9

CHƯƠNG 2. GIỚI THIỆU HỆ ĐIỀU HÀNH MACOS ............................ 10

2.1 Hoàn cảnh ra đời .................................................................................. 10


2.2 Cấu trúc hệ thống ................................................................................. 10

2.2.1 CoreOS ..................................................................................... 11

2.2.2 Hệ thống con đồ họa(Graphics Subsystem)................................... 11

2.2.3 Hệ thống con ứng dụng(Application Subsystem)........................... 11

2.2.4 Giao diện người dùng(User Interface) .......................................... 12

2.3 Các hàm shell....................................................................................... 12

2.4 Quản lý File ......................................................................................... 12

2.5 Quản lý bộ nhớ ..................................................................................... 14

CHƯƠNG 3. GIỚI THIỆU HỆ ĐIỀU HÀNH IOS ................................... 16

3.1 Hoàn cảnh ra đời .................................................................................. 16

3.2 Đặc điểm ............................................................................................. 16

3.3 Cấu trúc hệ thống ................................................................................. 18

3.3.1 Lớp CoreOS .............................................................................. 18

3.3.2 Lớp Core Services...................................................................... 18

3.3.3 Lớp Media (Truyền thông) .......................................................... 18

3.3.4 Lớp Cocoa Touch ....................................................................... 19

3.4 Quản lý tiến trình.................................................................................. 19

3.4.1 Vòng đời của một tiến trình......................................................... 19

3.4.2 Độ ưu tiên tiến trình iOS............................................................. 21

3.5 Quản lý bộ nhớ ..................................................................................... 21

3.5.1 Bộ quản lý Region...................................................................... 22

3.5.2 Bộ quản lý pool.......................................................................... 22

3.5.3 Bộ quản lý Chunk ...................................................................... 23

CHƯƠNG 4. SO SÁNH HỆ ĐIỀU HÀNH MACOS VÀ IOS..................... 24

4.1 Hệ điều hành iOS với các hệ điều hành điện thoại khác ............................ 24

4.1.1 Hệ sinh thái ............................................................................... 24


4.1.2 Giao diện người dùng ................................................................. 24

4.1.3 Bảo mật .................................................................................... 25

4.1.4 Tích hợp với thiết bị khác............................................................ 25

4.1.5 Tương thích phần cứng ............................................................... 25

4.1.6 Giá cả ....................................................................................... 26

4.2 Hệ điều hành MacOS với các hệ điều hành máy tính khác ........................ 26

4.2.1 Hệ sinh thái ............................................................................... 26

4.2.2 Giao diện người dùng ................................................................. 26

4.2.3 Bảo mật .................................................................................... 27

4.2.4 Tích hợp với thiết bị khác............................................................ 28

4.2.5 Tương thích phần cứng ............................................................... 28

4.2.6 Giá cả ....................................................................................... 28

CHƯƠNG 5. KẾT LUẬN ........................................................................ 29

5.1 Hệ điều hành điện thoại iOS .................................................................. 29

5.1.1 Ưu điểm .................................................................................... 29

5.1.2 Nhược điểm............................................................................... 30

5.2 Hệ điều hành máy tính MacOS .............................................................. 31

5.2.1 Ưu điểm .................................................................................... 31

5.2.2 Nhược điểm............................................................................... 32

TÀI LIỆU THAM KHẢO......................................................................... 34

PHÂN CHIA CÔNG VIỆC ...................................................................... 34


DANH MỤC HÌNH VẼ

Hình 1.1 Các hệ điều hành quen thuộc trên máy tính và điện thoại . . . 1
Hình 1.2 Cấu trúc nguyên khối . . . . . . . . . . . . . . . . . . . . . . . 3
Hình 1.3 Cấu trúc phân lớp . . . . . . . . . . . . . . . . . . . . . . . . . 4
Hình 1.4 Cấu trúc vi nhân . . . . . . . . . . . . . . . . . . . . . . . . . . 5
Hình 1.5 Hệ điều hành Windows . . . . . . . . . . . . . . . . . . . . . . 8
Hình 1.6 Hệ điều hành MacOS . . . . . . . . . . . . . . . . . . . . . . . 9
Hình 1.7 Hệ điều hành Linux . . . . . . . . . . . . . . . . . . . . . . . . 9

Hình 2.1 Các phiên bản MacOS . . . . . . . . . . . . . . . . . . . . . . 10


Hình 2.2 Các file trong MacOS . . . . . . . . . . . . . . . . . . . . . . . 13
Hình 2.3 Hệ thống quản lý dữ liệu của MacOS . . . . . . . . . . . . . . 15

Hình 3.1 iOS và sự ra đời của iPhone . . . . . . . . . . . . . . . . . . . 16


Hình 3.2 Sự vượt trội về tính năng của iOS . . . . . . . . . . . . . . . . 17
Hình 3.3 Cấu trúc hệ điêu hành iOS . . . . . . . . . . . . . . . . . . . . 18
Hình 3.4 Vòng đời của một tiến trình iOS . . . . . . . . . . . . . . . . . 20
Hình 3.5 Sự phân mảnh của bộ nhớ . . . . . . . . . . . . . . . . . . . . 22

Hình 4.1 Giao diện hệ điều hành iOS . . . . . . . . . . . . . . . . . . . 24


Hình 4.2 Giao diện hệ điều hành Android . . . . . . . . . . . . . . . . . 25
Hình 4.3 Giao diện hệ điều hành MacOS . . . . . . . . . . . . . . . . . 26
Hình 4.4 Giao diện hệ điều hành Windows . . . . . . . . . . . . . . . . 27
Hình 4.5 Máy tính Macbook dùng hệ điều hành MacOS . . . . . . . . . 27
Hình 4.6 Máy tính Macbook đang được đồng bộ với điện thoại iPhone . 28

i
DANH MỤC THUẬT NGỮ VÀ TỪ VIẾT TẮT

Thuật ngữ Ý nghĩa


CPU Bộ xử lý trung tâm (Central Processing
Unit)
GUI Giao diện đồ họa (Graphical User
Interface)
OS Hệ điều hành (Operating System)
RAM Bộ nhớ truy cập ngẫu nhiên (Random
Access Memory)

ii
CHƯƠNG 1. GIỚI THIỆU VỀ HỆ ĐIỀU HÀNH

1.1 Hệ điều hành là gì


Hệ điều hành, trong tiếng Anh gọi là Operating System (viết tắt: OS), là một
phần mềm quan trọng dùng để quản lý và điều hành các bộ phận ở trong thiết bị
điện tử bao gồm cả phần cứng và phần mềm. Hệ điều hành đóng vai trò trung gian
trong việc giao tiếp giữa người sử dụng và những thiết bị điện tử. Hiện nay, hệ điều
hành được chia thành 2 loại chính là hệ điều hành cho máy tính và hệ điều hành
cho điện thoại. Điều này là do hoạt động phần cứng và các phần mềm trên hai loại
thiết bị này có những cấu tạo và đặc tính riêng. Nếu như hệ điều hành trên máy tính
được tạo ra để đáp ứng thiên về nhu cầu công việc thì ngược lại ở hệ điều hành trên
các thiết bị di động sẽ tập trung chủ yếu vào việc giải trí và liên lạc hơn. Nhưng
hiện nay, hầu hết các hệ điều hành đang được cải tiến và hầu như có thể đáp ứng
được toàn bộ chức năng.

Hình 1.1: Các hệ điều hành quen thuộc trên máy tính và điện thoại

Các hệ điều hành quen thuộc trên máy tính và laptop như là Windows, trên
MacBook, iMac là macOS, còn trên điện thoại thì phổ biến nhất vẫn là Android và
IOS.
1.1.1 Hệ điều hành máy tính
Hệ điều hành máy tính được thiết kế để sử dụng trên các thiết bị như: Máy tính
để bàn, laptop. Đây là hệ điều hành sử dụng giao diện đồ họa GUI (Graphical User
Interface), là một hệ điều hành máy tính được thiết kế để tương tác với người dùng
thông qua giao diện đồ họa. Với hệ điều hành GUI, người dùng có thể sử dụng
chuột và bàn phím để thao tác trên máy tính một cách thuận tiện và trực quan hơn.

1
CHƯƠNG 1. GIỚI THIỆU VỀ HỆ ĐIỀU HÀNH

Giao diện đồ họa của hệ điều hành GUI bao gồm: các biểu tượng, cửa sổ, nút và
menu kéo xuống,. . . cho phép người dùng truy cập nhanh chóng và dễ dàng. GUI
của mỗi hệ điều hành có giao diện khác nhau nhưng hầu hết đều dễ sử dụng và
không quá khác biệt. Các loại hệ điều hành dành cho máy tính phổ biến hiện nay:
Hệ điều hành Windows, Hệ điều hành MacOS, Hệ điều hành Linux, Hệ điều hành
ChromeOS, ...
1.1.2 Hệ điều hành điện thoại
Hệ điều hành cho thiết bị di động là một loại hệ điều hành được thiết kế để sử
dụng trên các thiết bị di động như: điện thoại thông minh, máy tính bảng, đồng hồ
thông minh và các thiết bị điện tử khác. Hệ điều hành này có thể được tìm thấy trên
các thiết bị của các hãng công nghệ lớn như: Samsung, Xiaomi, OPPO,... Ngoài
các tính năng cơ bản như: quản lý điện thoại, nhắn tin, cuộc gọi, định vị GPS và lưu
trữ dữ liệu thì hệ điều hành điện thoại còn cung cấp các tính năng cao cấp như: màn
hình cảm ứng, camera, đa nhiệm, trình duyệt web, ứng dụng thông minh,...Các hệ
điều dành cho điện thoại phổ biến hiện nay:Hệ điều hành Android, Hệ điều hành
IOS, ...
1.2 Cấu trúc của hệ điều hành
Hệ điều hành là một hệ thống phần mềm phức tạp được tạo thành từ nhiều thành
phần đảm đương những nhiệm vụ hoặc cung cấp những dịch vụ khác nhau. Các
thành phần của hệ điều hành cần được tổ chức, kết hợp với nhau theo một cách nào
đó để tạo ra một hệ thống thống nhất là hệ điều hành. Từng thành phần cũng như
cách tổ chức toàn bộ hệ thống có thể rất khác nhau, tùy vào hệ điều hành cụ thể.
Cách tổ chức, liên kết các thành phần xác định cấu trúc của hệ điều hành
1.2.1 Cấu trúc nguyên khối
Cấu trúc nguyên khối (monolithic), hay cấu trúc đơn giản, là cấu trúc trong đó
toàn bộ các chương trình và dữ liệu của hệ điều hành có chung một không gian
nhớ và do vậy có thể coi như một khối duy nhất. Hệ điều hành lúc đó trở thành
một chương trình lớn, là tập hợp các thủ tục hay các chương trình con. Mỗi chương
trình con có thể tự do gọi chương trình con khác khi cần thiết. Cách tổ chức hệ điều
hành như vậy cho ta hình ảnh tương tự với chương trình được viết theo kiểu lập
trình cấu trúc, trong đó toàn bộ chương trình tạo thành từ các chương trình con, ví
dụ chương trình viết trên ngôn ngữ C hay Pascal. Các chương trình con được dịch,
sau đó liên kết thành một chương trình lớn.

2
CHƯƠNG 1. GIỚI THIỆU VỀ HỆ ĐIỀU HÀNH

Hình 1.2: Cấu trúc nguyên khối

Việc che dấu thông tin hoàn toàn không có, tức là bất cứ chương trình con nào
cũng có thể gọi chương trình con khác hoặc truy cập vào các dữ liệu chung của
chương trình. Khi chương trình ứng dụng cần dùng tới các dịch vụ của hệ điều
hành, chương trình ứng dụng sẽ sử dụng lời gọi hệ thống do hệ điều hành cung cấp.
Lời gọi hệ thống được chuyển cho chương trình con tương ứng của hệ điều hành
thực hiện. Chương trình con này sẽ gọi thêm các chương trình con khác để thực
hiện nhiệm vụ nếu cần thiết.
1.2.2 Cấu trúc phân lớp
Cấu trúc phân lớp là cấu trúc trong đó các thành phần của hệ điều hành được
phân thành các lớp nằm chồng lên nhau hay tiếp xúc với nhau theo một thứ tự nhất
định (hình 1.16). Lớp trên cùng (hay ngoài cùng) là lớp các chương trình ứng dụng,
lớp dưới cùng (hoặc trong cùng) tương ứng với phần cứng. Việc liên lạc giữa các
lớp được quy định sao cho mỗi lớp chỉ có thể liên lạc với lớp nằm kề bên trên và kề
bên dưới. Điểm đặc biệt của cấu trúc phân lớp là mỗi lớp chỉ có thể sử dụng dịch
vụ do lớp nằm ngay bên dưới cung cấp. Dịch vụ này được cung cấp qua giao diện
của lớp dưới, thường là dưới dạng các hàm mà lớp trên có thể gọi. Các chi tiết cụ
thể của lớp dưới như cấu trúc dữ liệu, mã chương trình được che dấu khỏi lớp trên.
Lớp trên chỉ quan tâm tới dịch vụ được cung cấp mà không cần quan tâm đến các
chi tiết này. Như vậy, ta có thể thay đổi các lớp độc lập với nhau, chỉ cần đảm bảo
giữ nguyên giao diện với lớp trên. Phần lớn các lớp chạy trong chế độ nhân hay chế
độ đặc quyền

3
CHƯƠNG 1. GIỚI THIỆU VỀ HỆ ĐIỀU HÀNH

Hình 1.3: Cấu trúc phân lớp

Một ưu điểm rõ nét của cấu trúc phân lớp là cấu trúc này cho phép thực hiện dò
lỗi và hoàn thiện hệ điều hành một cách tương đối dễ dàng. Việc dò lỗi và hoàn
thiện được thực hiện từ dưới lên trên. Tuy nhiên, khó khăn thường gặp khi thiết kế
hệ điều hành có cấu trúc phân lớp là việc xác định số lớp cũng như phân chia thành
phần cụ thể của mỗi lớp là không dễ dàng. Do mỗi lớp chỉ có thể gọi lớp nằm ngay
bên dưới, cần xác định và phân hoạch chính xác các lớp trên cơ sở chức năng và
tương tác giữa các phần của hệ điều hành. Một nhược điểm nữa của cấu trúc phân
lớp là tốc độ tương đối thấp so với các kiểu cấu trúc khác. Do các nhược điểm nêu
trên, cấu trúc phân lớp hoàn toàn ít được sử dụng trong thời gian gần đây.
1.2.3 Cấu trúc vi nhân
Một kiểu cấu trúc mới hơn và khá phổ biến khác là cấu trúc vi nhân (microkernel).
Ở các hệ điều hành có cấu trúc kiểu này, phần nhân chỉ chứa các chức năng quan
trọng nhất như quản lý tiến trình, quản lý bộ nhớ, liên lạc giữa các tiến trình. Các
chức năng còn lại của hệ điều hành được tổ chức thành các mô đun khác, mỗi
mô đun có thể là một chương trình riêng biệt. Các mô đun này có thể hoạt động
trong chế độ đặc quyền như phần nhân hoặc như các chương trình ứng dụng thông
thường. Mỗi khi có yêu cầu cung cấp dịch vụ từ chương trình ứng dụng, chẳng hạn
yêu cầu đọc hoặc ghi file, yêu cầu sẽ chuyển cho nhân. Nhân sẽ chuyển tiếp yêu
cầu cho mô đun tương ứng thực hiện, trong trường hợp này là mô đun quản lý hệ
thống file. Như vậy, nhiệm vụ của nhân khi đó chỉ là đảm bảo liên lạc giữa chương
trình ứng dụng và mô đun cung cấp dịch vụ. Cách tổ chức này cho phép giảm tối
thiểu kích thước nhân (từ đây sinh ra tên gọi vi nhân) cũng như kích thước các mô

4
CHƯƠNG 1. GIỚI THIỆU VỀ HỆ ĐIỀU HÀNH

đun.

Hình 1.4: Cấu trúc vi nhân

Ưu điểm chính của cách tổ chức này là việc thiết kế, cài đặt, quản lý các mô đun
sẽ dễ dàng và mềm dẻo hơn so với cấu trúc khối. Một ưu điểm khác là do đa số
các mô đun chạy trong chế độ người dùng như các chương trình ứng dụng thông
thường, khi các các mô đun này có lỗi sẽ không ảnh hưởng tới toàn bộ hệ điều hành.
Nhược điểm của cấu trúc vi nhân là việc chuyển đổi giữa các mô đun đòi hỏi thời
gian và tài nguyên hệ thống. Các mô đun chỉ có thể liên lạc với nhau theo những cơ
chế liên lạc nhất định (thường là bằng cách chuyển thông điệp - message passing)
chứ không thể trực tiếp gọi hàm và truy cập dữ liệu của mô đun khác. Cách liên lạc
như vậy chậm hơn nhiều so với cách gọi hàm trực tiếp
1.3 Các thành phần của hệ điều hành
1.3.1 Quản lý tiến trình
Hệ điều hành là một hệ thống phần mềm phức tạp được tạo thành từ nhiều thành
phần đảm đương những nhiệm vụ hoặc cung cấp những dịch vụ khác nhau. Một hệ
điều hành tiêu biểu thường có các thành phần thực hiện những nhiệm vụ sau:
• Tạo và xoá tiến trình (bao gồm cả tiến trình người dùng lẫn tiến trình hệ thống
- tiến trình hệ điều hành). Lưu thông tin về các tiến trình.
• Tạm dừng và khôi phục các tiến trình bị dừng. Một tiến trình bị dừng sẽ bị
tạm không được thực hiện tiếp và có thể bị chuyển từ bộ nhớ trong ra đĩa. Khi
được khôi phục, tiến trình sẽ thực hiện tiếp từ điểm bị dừng thay vì thực hiện
lại từ đầu. Người sử dụng Linux có thể treo một tiến trình bằng cách sử dụng
lệnh suspend.
• Lập lịch cho các tiến trình (process scheduling), hay còn gọi là lập lịch cho
CPU, là quyết định tiến trình nào được cấp phát CPU để chạy
• Đồng bộ hoá các tiến trình: khi có nhiều tiến trình cũng tồn tại cần đảm bảo
để các tiến trình được thực hiện sao cho không dẫn tới xung đột về tài nguyên

5
CHƯƠNG 1. GIỚI THIỆU VỀ HỆ ĐIỀU HÀNH

hoặc có thể hợp tác với nhau để dẫn tới kết quả mong muốn.
• Giải quyết các bế tắc, ví dụ như khi có xung đột về tài nguyên.
• Tạo cơ chế liên lạc giữa các tiến trình.
1.3.2 Quản lý bộ nhớ
Bộ nhớ (nếu không nói gì thêm thì được hiểu là bộ nhớ trong hay bộ nhớ sơ cấp,
hay RAM) là nơi chứa các tiến trình và dữ liệu. Đây là tài nguyên quan trọng thứ
hai sau CPU. Bộ nhớ là khối ô nhớ được nhóm lại thành các từ hay các byte và
được đánh địa chỉ. Địa chỉ được sử dụng khi cần đọc hoặc ghi thông tin vào bộ nhớ.
Trong những hệ điều hành đa nhiệm, nhiều tiến trình có thể cùng thực hiện một lúc
và được chứa trong bộ nhớ. Thành phần quản lý bộ nhớ của hệ điều hành thực hiện
các công việc sau:
• Cấp phát, phân phối bộ nhớ cho các tiến trình.
• Tạo ra bộ nhớ ảo và ánh xạ địa chỉ bộ nhớ ảo vào địa chỉ bộ nhớ thực. Ngăn
chặn các truy cập bộ nhớ không hợp lệ, chẳng hạn truy cập sang vùng bộ nhớ
không thuộc tiến trình.
• Cung cấp và giải phóng bộ nhớ theo yêu cầu của các tiến trình.
• Quản lý không gian nhớ đã được cấp và không gian còn trống.
1.3.3 Quản lý vào ra
Một trong các nhiệm vụ của hệ điều hành là đơn giản hoá và tăng hiệu quả quá
trình trao đổi thông tin giữa các tiến trình với thiết bị vào/ra.Nhờ có hệ điều hành,
người dùng không phải quan tâm tới các chi tiết liên quan tới thiết bị vào/ra cụ thể.
Việc điều khiển trực tiếp thiết bị do các chương trình điều khiển thiết bị (driver)
thực hiện. Ngoài ra còn có các giao diện lớp trên driver do hệ điều hành cung cấp.
Các thành phần này nằm trong hệ thống vào ra của hệ điều hành. Một nhiệm vụ
khác của hệ vào ra là tăng hiệu quả trao đổi thông tin với thiết bị ngoại vi nhờ hệ
thống vùng đệm (buffer) và bộ nhớ cache.
1.3.4 Quản lý file và thư mục
File là tập hợp các thông tin có liên quan đến nhau, là nơi có thể ghi thông tin
vào hoặc đọc thông tin ra. Các chương trình và người dùng không cần quan tâm tới
việc file được cất giữ trên bộ nhớ ngoài như thế nào. Hệ điều hành sẽ chịu trách
nhiệm ánh xạ file lên các thiết bị nhớ này. Khi số lượng file lớn tới một mức nào đó,
cần có cơ chế tổ chức các file sao cho dễ tìm kiếm và sử dụng. Chẳng hạn, nếu so
sánh mỗi file như một quyển sách, khi số sách tương đối như trong thư viện, người
ta cần phân loại sách theo thể loại, tác giả v.v. cho dễ tìm kiếm. Hệ điều hành phân

6
CHƯƠNG 1. GIỚI THIỆU VỀ HỆ ĐIỀU HÀNH

chia các file thành các nhóm gọi là thư mục. Mỗi thư mục chứa các file có cùng
một đặc điểm nào đó, ví dụ thư mục chứa các văn bản, thư mục chứa chương trình
của cùng một hãng.
1.3.5 Hỗ trợ mạng và xử lý phân tán
Điều này cho phép trao đổi, chia sẻ thông tin giữa các máy, đồng thời tạo khả
năng xử lý phân tán. Các máy tính được nối với nhau qua các môi trường truyền
thông cho phép truyền thông tin và dữ liệu. Đối với những bài toán lớn, đòi hỏi tốc
độ tính toán cao hoặc khả năng lưu trữ dữ liệu lớn có thể phân tán việc xử lý trên
các máy tính đã nối mạng. Xử lý phân tán cho phép tận dụng tài nguyên của các
máy riêng lẻ để tạo nên một hệ thống tính toán có khả năng lớn hơn nhiều.
1.3.6 Giao diện người dùng
Thành phần này được gọi bằng nhiều tên khác nhau như bộ dịch lệnh (command
intepreter), vỏ (shell). Thực chất đây là giao diện giữa người dùng với hệ điều hành.
Bộ dịch lệnh hay vỏ nhận lệnh từ người dùng và thực hiện các lệnh này, có thể bằng
cách sử dụng dịch vụ do các phần khác của hệ điều hành cung cấp. Trong các hệ
điều hành hiện nay, bộ dịch lệnh thường được thay thế bằng các hệ giao diện đồ
hoạ. Thay vì gõ các lệnh dưới dạng văn bản, người sử dụng làm việc với các đối
tượng đồ hoạ như cửa sổ, biểu tượng rất trực giác và dễ hiểu. Các giao diện đồ họa
thường được biết đến là Windows Explorer cho Windows, X windows cho Linux.
1.3.7 Các chương trình tiện ích của người dùng
Hệ điều hành thường chứa sẵn một số chương trình tiện ích và chương trình ứng
dụng. Đây là thành phần không bắt buộc của hệ điều hành. Các chương trình tiện
ích cung cấp cho người dùng một số dịch vụ giúp cho việc sử dụng hệ thống dễ
dàng, hiệu quả hơn. Chẳng hạn có các tiện ích giúp nén tệp, chép các tệp dài ra đĩa
mềm, tiện ích giúp lưu trữ dữ liệu. Trong nhiều trường hợp, việc xác định chương
trình nào là tiện ích, chương trình nào thuộc hệ điều hành không đơn giản do không
có tiêu chí rõ ràng để phân biệt.
1.3.8 Nhân của hệ điều hành
Nhân (kernel) là phần cốt lõi, là phần thực hiện các chức năng cơ bản nhất, quan
trọng nhất của hệ điều hành và thường xuyên được giữ trong bộ nhớ. Kernel có
nhiệm vụ quản lý tài nguyên hệ thống (liên lạc giữa các thành phần phần cứng và
phần mềm). Máy tính hiện đại thường được thiết kế với hai chế độ thực hiện chương
trình:

7
CHƯƠNG 1. GIỚI THIỆU VỀ HỆ ĐIỀU HÀNH

• Nhân chạy trong chế độ đặc quyền – chế độ nhân: là chế độ mà chương trình
thực hiện trong đó có đầy đủ quyền truy cập và điều khiển phần cứng máy
tính.
• Nhân chạy chế độ người dùng: chương trình thực hiện trong chế độ người dùng
bị hạn chế rất nhiều quyền truy cập và sử dụng phần cứng.
Việc phân biệt chế độ nhân và chế độ người dùng nhằm mục đích ngăn không cho
chương trình ứng dụng vô tình hoặc cố ý thực hiện những thao tác làm ảnh hưởng
tới hệ thống. Đây là điều kiện cần thiết để hệ thống máy tính hoạt động ổn định và
hiệu quả.
1.4 Một số hệ điều hành cụ thể
1.4.1 Hệ điều hành Windows
Windows là hệ điều hành cực kỳ phổ biến khắp thế giới, được Microsoft ra mắt
lần đầu vào năm 1980. Windows được tích hợp sẵn trên hầu hết máy tính. Hệ điều
hành này đã trải qua rất nhiều phiên bản cho đến nay. Trong đó, Windows 10 và
Windows 7 là hai phiên bản được sử dụng nhiều nhất.

Hình 1.5: Hệ điều hành Windows

8
CHƯƠNG 1. GIỚI THIỆU VỀ HỆ ĐIỀU HÀNH

1.4.2 Hệ điều hành MacOS


MacOS là hệ điều hành được tạo ra bởi thương hiệu Apple và được cài đặt sẵn
trên tất cả thiết bị máy tính để bàn, Laptop Macbook của Apple. Hệ điều hành
MacOS được đánh giá cao hơn Windows ở độ mượt mà, ổn định và tốc độ hoạt
động.

Hình 1.6: Hệ điều hành MacOS

1.4.3 Hệ điều hành Linux


Linux là một hệ điều hành mở. Tức là bạn có thể chỉnh sửa hay làm bất cứ gì
trên chúng. Giống như Windows và macOS, Linux cũng tập hợp nhiều phần mềm
là máy chủ, có ngôn ngữ lập trình và hệ thống quản trị cơ sở dữ liệu. Hơn nữa,
Linux cũng có tính bảo mật cao, giúp người dùng tránh các nguy cơ bị xâm phạm
bằng mã độc hay virus.

Hình 1.7: Hệ điều hành Linux

9
CHƯƠNG 2. GIỚI THIỆU HỆ ĐIỀU HÀNH MACOS

2.1 Hoàn cảnh ra đời


MacOS, cái tên xuất phát từ cụm từ Macintosh operating system, là hệ điều hành
do Apple phát triển, và được giới thiệu lần đầu vào 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. Trải qua nhiều cái tên khác nhau, mà ban
đầu là Mac OS X, sau đó được rút gọn thành OS X vào năm 2012, và mãi đến năm
2016 thì cái tên macOS mới xuất hiện. MacOS đã kế tục MacOS 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.

Hình 2.1: Các phiên bản 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 trở về sau đều được chứng nhận
UNIX 03, till ngoại trừ OS X 10.7 Lion. Hệ điều hành di động của Apple, iOS ,
được coi là một biến thể của macOS.
2.2 Cấu trúc hệ thống
MacOS là một hệ điều hành chạy trên mọi máy tính của nhà Apple, nó chứa một
số lượng lớn các chương trình được thiết kế rất là tốt. Cấu trúc Mac OS X được cấu
tạo bởi nhiều lớp khác nhau, lớp cơ bản của hệ thống đó là Darwin – core Unix.
Lớp tiếp theo là hệ thống đồ họa bao gồm: Quartz, Open-GL và Quick-Time. Còn

10
CHƯƠNG 2. GIỚI THIỆU HỆ ĐIỀU HÀNH MACOS

về lớp ứng dụng, chúng được tạo thành bởi bốn thành phần chính đó la: classic,
carbon, cocoa và java. Cuối cùng đó là lớp giao diện người dùng nằm ở trên cùng
đó là là lớp Aqua
2.2.1 CoreOS
Core Darwin được phát triển dựa trên phiên bản BSD (Berkeley Software Distribution)
– một phiên bản khác của UNIX (Darwin là một hệ điều hành UNIX mã nguồn mở
do chính Apple ra mắt năm 2000). Trong đó Mach là phần chính của core Darwin
và nó sẽ đảm nhận nhiệm vụ là thực hiện các hoạt động như: sử dụng bộ nhớ, đường
truyền dữ liệu,... Darwin cũng là một nguồn mở, điều này đồng nghĩa với việc bất
cứ ai cũng có thể lấy được mã nguồn của nó và chỉnh sửa nó. Các phiên bản khác
nhau của Darwin có thể được sử dụng để nâng cao Mac OS X. Một số tính năng
nổi bật của Darwin đó chính là bảo vệ bộ nhớ, quản lý bộ nhớ tự động, bộ nhớ ảo
nâng cao, ưu tiên đa nhiệm, ... Ngoài ra nó cũng cung cấp các dịch vụ input output
cho Mac OS X và có hỗ trợ plug-and-play, hot-swapping và quản lý năng lượng
2.2.2 Hệ thống con đồ họa(Graphics Subsystem)
Trong Mac OS X thì hệ thống con đồ họa chứa ba phần chính đó là: Quartz,
OpenGL và QuickTime. Mỗi bộ phận này đều sẽ đảm nhận các chức năng và
nhiệm vụ khác nhau. Trong đó, Quartz sẽ đảm nhận nhiệm vụ là quản lý đồ họa
2D trong hệ thống con đồ họa, ngoài ra nó còn cung cấp phông chữ, kiểu chữ, hiển
thị hình ảnh, đồ họa giao diện,... OpenGL cung cấp, hỗ trợ đồ họa 3-D trong hệ
thống như ánh xạ kết cấu, độ trong suốt, khử răng cưa, hiệu ứng khí quyển, hiệu
ứng đặc biệt, ... Ngoài ra, nó cũng có thể được sử dụng trong các hệ thống Unix và
Windows. QuickTime được sử dụng thường xuyên trong các phương tiện kỹ thuật
số khác nhau như video kỹ thuật số, truyền phát video, âm thanh,... Nó cũng cho
phép sử dụng các ứng dụng sáng tạo trong hệ thống như là iMovie, iTunes,...
2.2.3 Hệ thống con ứng dụng(Application Subsystem)
Hệ thống con ứng dụng trong Mac OS X cung cấp môi trường cổ điển (Classic
Environment) để có thể chạy các ứng dụng cổ điển. Ba môi trường phát triển ứng
dụng có sẵn có thể kể đến như là: Carbon, Cocoa và Java Môi trường cổ điển sẽ
đảm bảo rằng các ứng dụng được viết cho các phiên bản trước của hệ điều hành
có thể chạy một cách mượt mà và trơn tru. Môi trường Carbon được sử dụng để
chuyển các ứng dụng hiện đang có sang giao diện mới là giao diện chương trình
ứng dụng Carbon. Quá trình này được gọi là Cacbon hóa ứng dụng. Còn về môi
trường Cacao, nó cung cấp môi trường phát triển ứng dụng hướng đối tượng. Các
ứng dụng Cacao sẽ sử dụng các lợi ích của Cấu trúc Mac OS X là nhiều nhất. Các
ứng dụng Java và Java applet có thể chạy bằng môi trường Java.

11
CHƯƠNG 2. GIỚI THIỆU HỆ ĐIỀU HÀNH MACOS

2.2.4 Giao diện người dùng(User Interface)


Giao diện người dùng của Mac OS X còn được gọi là Aqua. Nó cung cấp, hỗ
trợ các tính năng trực quan tốt cũng như các công cụ có chức năng tùy chỉnh giao
diện người dùng phù hợp theo yêu cầu, sở thích của người dùng. Aqua sử dụng rất
nhiều màu sắc và kết cấu khác nhau, các biểu tượng của nó cực kì chi tiết và chân
thực, vừa bắt mắt vừa thú vị vừa thiết thực mà còn hiệu quả để sử dụng.
2.3 Các hàm shell
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
• 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 cải
biến 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 tiến trình đượ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 tiến trình 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 tiến trình cùng một lúc, và các tiến
trình lại có thể tạo ra các tiến trình khác một cách động, và đồng bộ việc thực
hiện các tiến trình đó. Đặ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.
.
2.4 Quản lý File
Hệ thống tệp của MacOS được đặc tả bởi:
• Cấu trúc cấp bậc (cây thư mục);
• Cách xử lý nhất quán dữ liệu của tệp (chuỗi các byte, byte stream );
• Khả năng tạo và hủy tệp (tạo mới, xóa);
• Tính tăng trưởng động của tệp (thêm bớt, cắt dán);
• Khả năng bảo vệ dữ liệu của tệp (bởi các kiểu thuộc tính như quyền truy nhập);
• Xử lí các thiết bị ngoại vi như xử lí các tệp (cách nhìn thiết bị bởi mô tả kiểu

12
CHƯƠNG 2. GIỚI THIỆU HỆ ĐIỀU HÀNH MACOS

tệp). File System - FS được tổ chức như một cây bắt đầu từ một nút đơn gọi
là root, được biểu diễn như sau: “/ ”; từ đó sẽ có các thư mục khác tạo thành
nhánh của cây, trong các nhánh có thể có các nhánh (con) khác. Dưới các
nhánh sẽ là tệp. Tệp có thể là tệp bình thường (regular files) hay cũng có thể
là tệp đặc biệt (special files). Tệp được truy nhập qua đường dẫn (path name)
mô tả cách thức định vị được tệp trong FS. Đường dẫn đầy đủ, hay đường dẫn
tuyệt đối, bắt đầu bởi dấu / và nó xác định sẽ tìm tệp bằng cách đi từ root qua
cấu trúc cây thư mục theo các nhánh chỉ thị trong đường dẫn.

Hình 2.2: Các file trong MacOS

Ví dụ ta có:/usr/src/cmd/date.c là đường dẫn tuyệt đối tới tệp date.c. Đường dẫn
không bắt đầu từ root gọi là đường dẫn tương đối, chỉ tới thư mục hiện tại của tệp.
Thư mục cũng là một loại tệp, hệ thống xử lý dữ liệu trong thư mục cũng bằng byte
stream, nhưng dữ liệu ở đây chứa tên các tệp trong thư mục có khuôn dạng dự đoán
được, sao cho OS và các chương trình, ví dụ l, có thể nhận ra các tệp trong thư
mục. Việc truy nhập tệp được kiểm soát bởi quyền truy nhập (access permission)
kết hợp với tệp. Quyền truy nhập được lập ra một cách độc lập để kiểm soát truy
nhập đọc (read), ghi (write), và thực hiện (execute) cho ba lớp người sử dụng:người
sở hữu tệp (u - user), nhóm người được truy nhập (g- group), những người khác (o
- other). Người dùng có thể tạo tệp nếu họ được phép và các tệp mới tạo sẽ là các
nhánh lá của cấu trúc thư mục hệ thống. Đối với người dùng, MacOS xử lí các thiết
bị như thể đó là các tệp. Các thiết bị được mô tả bởi các tệp thiết bị đặc biệt và nằm
ở một nhánh trong cấu trúc hệ thống thư mục (/dev). Các chương trình truy nhập
các thiết bị bằng cú pháp giống như đã dùng để truy nhập tệp bình thường, các thiết
bị cũng được bảo vệ cùng phương thức như các tệp, qua việc ấn định quyền truy
nhập. Bởi vì tên các thiết bị cũng giống như tên các tệp bình thường và các thao tác

13
CHƯƠNG 2. GIỚI THIỆU HỆ ĐIỀU HÀNH MACOS

trên chúng là như nhau, nên hầu hết các chương trình đều không biết tới kiểu tệp
bên trong của tệp mà chúng thao tác.
2.5 Quản lý bộ nhớ
Quản lý bộ nhớ bao gồm việc điều phối, phân bổ và quản lý không gian bộ nhớ
để đảm bảo các ứng dụng chạy mượt mà và hiệu quả. Bộ nhớ ảo:
• Paging System (Hệ thống phân trang): Hệ điều hành macOS sử dụng hệ thống
phân trang để quản lý bộ nhớ ảo. Khi bộ nhớ RAM không đủ cho các tiến
trình chạy, dữ liệu không sử dụng thường được chuyển đổi sang ổ đĩa để tạo ra
không gian ảo, giúp tiếp tục thực hiện các tiến trình.
• Swap Space: macOS sử dụng không gian swap (trên ổ đĩa) để lưu trữ dữ liệu
từ bộ nhớ RAM khi cần thiết. Khi bộ nhớ thực sự đầy, dữ liệu sẽ được chuyển
vào swap space để tạo ra không gian cho các tiến trình khác.
Quản lý bộ nhớ trong ứng dụng:
• ARC (Automatic Reference Counting): Đây là một kỹ thuật quản lý bộ nhớ tự
động dành cho việc quản lý vùng nhớ được sử dụng bởi các đối tượng trong
mã nguồn Objective-C và Swift. ARC tự động theo dõi số lượng tham chiếu
đến một đối tượng và giải phóng bộ nhớ khi đối tượng không còn được sử
dụng.ARC (Automatic Reference Counting): Đây là một kỹ thuật quản lý bộ
nhớ tự động dành cho việc quản lý vùng nhớ được sử dụng bởi các đối tượng
trong mã nguồn Objective-C và Swift. ARC tự động theo dõi số lượng tham
chiếu đến một đối tượng và giải phóng bộ nhớ khi đối tượng không còn được
sử dụng.
• Garbage Collection và Swift Memory Management: Trước khi ARC trở nên
phổ biến, Objective-C sử dụng Garbage Collection. Trong Swift, hệ thống
quản lý bộ nhớ dựa trên ARC, tuy nhiên, có các nguyên tắc khác nhau về cách
quản lý bộ nhớ so với Objective-C

14
CHƯƠNG 2. GIỚI THIỆU HỆ ĐIỀU HÀNH MACOS

Cơ chế quản lý dữ liệu


• Xử lý tài nguyên: Hệ điều hành macOS quản lý tài nguyên để đảm bảo rằng
ứng dụng không chiếm quá nhiều bộ nhớ hoặc tài nguyên khác, gây ảnh hưởng
đến hiệu suất của hệ thống.Xử lý tài nguyên: Hệ điều hành macOS quản lý tài
nguyên để đảm bảo rằng ứng dụng không chiếm quá nhiều bộ nhớ hoặc tài
nguyên khác, gây ảnh hưởng đến hiệu suất của hệ thống.
• Quản lý tiến trình: macOS cũng quản lý các tiến trình chạy đồng thời, cung
cấp các cơ chế để kiểm soát và ưu tiên các tiến trình theo yêu cầu.

Hình 2.3: Hệ thống quản lý dữ liệu của MacOS

15
CHƯƠNG 3. GIỚI THIỆU HỆ ĐIỀU HÀNH IOS

Trong chương này, chúng ta sẽ khám phá sâu hơn về hệ điều hành iOS của
Apple, dành riêng cho các thiết bị di động như iPhone và iPad. Chương này sẽ giúp
bạn hiểu rõ hơn về nguồn gốc và cấu trúc của iOS, cũng như các thành phần quan
trọng của nó như các hàm shell, quản lý bộ nhớ và quản lý file.
3.1 Hoàn cảnh ra đời
iOS, viết tắt của "iPhone Operating System," là một hệ điều hành di động độc
quyền do Apple Inc phát triển. iOS được giới thiệu lần đầu vào năm 2007 với sự ra
mắt của iPhone. Điều đặc biệt về iOS là nó được tối ưu hóa để hoạt động trên các
thiết bị của Apple, bao gồm iPhone, iPad và iPod Touch. Cách mà iOS đã thay đổi
cách mà chúng ta tương tác với các thiết bị di động là một phần quan trọng của câu
chuyện thành công của Apple trong thị trường di động.

Hình 3.1: iOS và sự ra đời của iPhone

iOS nhanh chóng trở thành một trong những hệ điều hành di động phổ biến nhất
trên thế giới. Với cơ chế cập nhật thường xuyên và việc tích hợp các tính năng tiên
tiến, iOS không chỉ là một hệ điều hành di động mà còn là một nền tảng mạnh mẽ
cho việc phát triển ứng dụng di động và kết nối người dùng với hệ sinh thái của
Apple.
3.2 Đặc điểm
Giao diện người dùng tương tác: iOS nổi tiếng với giao diện người dùng mượt
mà và trực quan. Điều này bao gồm sự hỗ trợ cho cảm ứng đa điểm, cho phép người
dùng thực hiện các tác vụ như kéo, vuốt, và phóng to/nhỏ bằng các cử chỉ ngón tay.
Giao diện đồ họa đơn giản và dễ sử dụng giúp người dùng nhanh chóng làm quen

16
CHƯƠNG 3. GIỚI THIỆU HỆ ĐIỀU HÀNH IOS

và tận hưởng trải nghiệm người dùng dễ dàng. Ecosystem của Apple: iOS là một
phần của hệ sinh thái của Apple, được kết nối chặt chẽ với các sản phẩm và dịch vụ
khác của công ty. App Store, iCloud, iTunes, và các dịch vụ khác là một phần quan
trọng của iOS. Người dùng có thể dễ dàng tải xuống ứng dụng, lưu trữ dữ liệu, và
đồng bộ hóa thông tin trên các thiết bị của họ, tạo nên một trải nghiệm liền mạch.
An ninh và quyền riêng tư: Apple luôn đặt an ninh và quyền riêng tư lên hàng đầu.
iOS có các tính năng bảo mật mạnh mẽ để đảm bảo rằng thông tin cá nhân của
người dùng và dữ liệu của họ được bảo vệ khỏi sự xâm phạ. Các ứng dụng trên iOS
phải tuân thủ các quy tắc nghiêm ngặt về quyền riêng tư và an ninh để có thể xuất
hiện trên App Store. Hỗ trợ đa phương tiện: iOS cung cấp khả năng chơi nhạc, xem
video, chụp ảnh, và quay video. Điều này tạo điều kiện cho một loạt các ứng dụng
và tính năng giải trí, từ ứng dụng phát nhạc cho đến ứng dụng máy ảnh và video
biên tập.

Hình 3.2: Sự vượt trội về tính năng của iOS

17
CHƯƠNG 3. GIỚI THIỆU HỆ ĐIỀU HÀNH IOS

3.3 Cấu trúc hệ thống

Hình 3.3: Cấu trúc hệ điêu hành iOS

Các lớp dưới cùng là nền tảng của hệ điều hành, phụ trách quản lý bộ nhớ, các
file hệ thống, mạng, các hệ điều hành nhiệm vụ và tương tác trực tiếp với các phần
cứng.
3.3.1 Lớp CoreOS
Lớp Core OS bao gồm các thành phần : OS X Kernel,Match 3.0,BSD,Sockets,
Security, Power Management, Key chain, Certifi cates, File System, Bonjour
3.3.2 Lớp Core Services
Lớp Core Services cung cấp một trừu tượng trên các dịch vụ được cung cấp
trong lớp OS X Kernel.Nó cung cấp truy cập cơ bản để các dịch vụ hệ điều hành
iPhone và bao gồm các thành phần sau : Collection, AddressBook, Networking,
Files Access, SQLite, Core Location, Net Services, Threading, Preferences, URL
Utilities
3.3.3 Lớp Media (Truyền thông)
Lớp Media cung cấp các dịch vụ đa phương tiện mà bạn có thể sử dụng trong
iPhone và iPad.Nó bao gồm các thành phần sau : Core Audio, OpenGL, Audio
Mixing, Audio Recording, Video Playback, JPG,PNG,TIFF, PDF, Quartz, Core
Animation, OpenGL ES

18
CHƯƠNG 3. GIỚI THIỆU HỆ ĐIỀU HÀNH IOS

3.3.4 Lớp Cocoa Touch


Lớp Coscoa Touch cung cấp một lớp trừu tượng để khai báo các thư viện khác
nhau cho các lập trình iPhone và iPad, như sau: Multi, Touchcontrols, Celerometer,
View Hierachy, Localization, Alert, Web View, People Picker, Image Picker, Controllers
3.4 Quản lý tiến trình
3.4.1 Vòng đời của một tiến trình
Một tiến trình có thể được tạo ra hoặc kết thúc bất cứ lúc nào trong khi iOS đang
hoạt động ngoại trừ có ngắt xảy ra.Nó được tạo ra bởi kernel hoặc bởi một tiến trình
khác đang chạy khác. Một thành phần có trách nhiệm tạo nhiều tiến trình trong iOS
gọi là parser(bộ phân tách).Parser này là một tập các chức năng làm phiên dịch cấu
hình iOS và dòng lệnh EXEC.Parser được yêu cầu bởi kernel trong suốt quá trình
khởi tạo iOS và các tiến trình EXEC, để cung cấp một giao tiếp dòng lệnh CLI
thông qua giao tiếp console (giao tiếp người và máy) và các phiên telnet.Tại bất cứ
thời điểm nào, một lệnh được nhập bởi người dùng hoặc một cấu hình được đọc từ
file,parser phiên dịch dòng lệnh và đưa ra những hoạt động tức thời.Một vài lệnh
cấu hình bởi việc gán trị, như địa chỉ IP, trong khi cấu hình khác như định tuyến
hoặc giám sát. Một vài lệnh làm cho parser khởi tạo một tiến trình mới. Ví dụ: khi
mà lệnh cấu hình no router eigrp được nhập vào, parser khởi tạo một tiến trình mới,
gọi là ipigrp (nếu như tiến trình ipigrp đã được khởi tạo rồi), bắt đầu xử lý gói ip.
EIGRP.Nếu như lệnh cấu hình no router eigrp được nhập vào, parser kết thúc tiến
trình ipigrpvà không còn chức năng định tuyến EIGRP. Tiến trình iOS trải qua các
trạng thái như sau:

19
CHƯƠNG 3. GIỚI THIỆU HỆ ĐIỀU HÀNH IOS

Hình 3.4: Vòng đời của một tiến trình iOS

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).
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
nguyên 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.
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 ngoà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

20
CHƯƠNG 3. GIỚI THIỆU HỆ ĐIỀU HÀNH IOS

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 hoàn toà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.
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ó hoà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 thoát khỏi
trạng thái chết và xóa khỏi hệ thống.
3.4.2 Độ ư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.
3.5 Quản lý bộ nhớ
Bộ quản lý bộ nhó của Kernel quản lý tất cả các vùng nhớ có sẵn của iOS, bao
gồm bộ nhó chứa iOS của nó. Bộ quản lý bộ nhớ có 3 thanh phần riêng biệt với
từng nhiệm vụ riêng. Có 3 bộ quản lý bộ nhớ là: Bộ quản lý Region, Bộ quản lý

21
CHƯƠNG 3. GIỚI THIỆU HỆ ĐIỀU HÀNH IOS

Pool, Bộ quản lý Chunk;


3.5.1 Bộ quản lý Region
Định nghĩa và duy trì những region khác nhau trên một platform. Bộ quản lý
region có chức năng duy trì tất cả các region. Nó cung cấp các dịch vụ cho phép
những phần khác nhau của iOS tạo region và gán các thuộc tính của chúng. Nó
cũng cho phép những phần khác truy vấn những region có sẵn, ví dụ như quyết
định tổng dung lượng bộ nhớ có sẵn trên một platform

Hình 3.5: Sự phân mảnh của bộ nhớ

3.5.2 Bộ quản lý pool


Quản lý việc tạo ra các vùng nhớ pool, cấp phát và thu hồi các khối nhớ của pool.
Bộ quản lý pool là một thành phần quan trọng của Kernel. Trong khi scheduler quản
lý cấp phát tài nguyên CPU để xử lý, bộ quản lý pool cấp phát bộ nhó cho các tiến
trình. Tất cả các tiến trình phải thông qua bộ quản lý bộ nhớ pool trực tiếp hoặc
gián tiếp để định ra vùng nhớ mà nó sử dụng. Bộ quản lý bộ nhớ được yêu cầu cho
mỗi tiến trình sử dụng hàm hệ thống chuẩn malloc và free để lấy và trả bộ nhớ. Bộ
quản lý bộ nhớ hoạt động bởi việc duy trì danh sách khối nhớ rỗi cho mỗi pool,
ban đầu mỗi pool chứa chỉ một khối nhớ rỗi lớn bằng kích thước một pool. Khi bộ
quản lý bộ nhớ pool yêu cầu bộ nhớ, khởi tạo những khối nhớ có kích thước nhỏ
hơn. Tại cùng một thời điểm, các tiến trình có thể giải phóng vùng nhớ trả về pool,
tạo thành một số vùng nhớ rối không liên tục nhau, nhiều kích thước, trường hợp

22
CHƯƠNG 3. GIỚI THIỆU HỆ ĐIỀU HÀNH IOS

này gọi là phân mảnh bộ nhớ


3.5.3 Bộ quản lý Chunk
Quản lý pool cung cấp nhiều cách hiệu quả để quản lý một tập hợp các khối có
kích thước khác nhau. Tuy nhiên những tính năng này có chi phí của nó, bộ quản lý
pool tạo ra 32 bytes overhead trên mỗi bộ nhớ. Mặc dù overhead này không quan
trọng lắm đối với khối dữ liệu lớn, đối với pool có hàng ngàn khối dữ liệu nhỏ hơn
thì overhead mới trở nên đáng quan tâm. Để tạo thêm sự lựa chọn thì Kernel cung
cấp bộ quản lý bộ nhớ khác gọi là bộ quản lý bộ nhớ Chunk. Nó có thể quản lý
lượng lớn pool có nhiều khối nhớ nhỏ mà không có overhead. Không giống như
quản lý pool, bộ quản lý chunk không tạo ra danh sách vùng nhớ rỗi với kích thước
khác nhau. Thay vào đó bộ quản lý chunk quản lý một tập hợp các khối nhớ cố
định được chỉ định từ một trong các vùng nhớ pool. Trong một vài trường hợp, bộ
quản lý chunk có thể xem như là một bộ quản lý pool vùng nhớ con. Một tiến trình
yêu cầu một vị trí của một khối nhớ từ một vùng nhớ pool đặc biệt. Một tiến trình
sau đó gọi đến bộ quản lý chunk để chia khối nhớ thành một chuỗi các chunk có
kích thước cố định và nhỏ hơn. Sử dụng bộ quản lý chunk để định vị ra những vùng
nhớ rối khi cần. Thuận lợi là ổ đấy chỉ có 32 bytes overhead và bộ quản lý pool
thì không bắt buộc cấp phát và lấy lại hàng ngàn phân mảnh nhỏ hơn. Vì vậy, khả
năng phân mảnh trong pool giảm đáng kể

23
CHƯƠNG 4. SO SÁNH HỆ ĐIỀU HÀNH MACOS VÀ IOS

iOS, Android, Windows và macOS đều là các hệ điều hành phổ biến, mỗi hệ
điều hành này có một bộ tính năng và đặc điểm riêng. Dưới đây là một so sánh giữa
các hệ điều hành này ở nhiều khía cạnh:
4.1 Hệ điều hành iOS với các hệ điều hành điện thoại khác
4.1.1 Hệ sinh thái
iOS được phát triển bởi Apple và chỉ được sử dụng trên các thiết bị của Apple
như iPhone và iPad. Nó có một hệ sinh thái đóng cửa với sự tập trung mạnh mẽ vào
bảo mật và quyền riêng tư.App Store cung cấp một loạt ứng dụng chất lượng cao
và quy trình kiểm tra ứng dụng nghiêm ngặt của Apple đảm bảo bảo mật.
Android được phát triển bởi Google và được sử dụng bởi nhiều nhà sản xuất
khác nhau. Nó có một hệ sinh thái mở hơn, cho phép sự đa dạng về thiết bị. Cửa
hàng Google Play có nhiều ứng dụng, và Android cung cấp tính linh hoạt hơn để
cài đặt ứng dụng từ nguồn khác, nhưng điều này có thể đi kèm với rủi ro bảo mật.
4.1.2 Giao diện người dùng
iOS có giao diện sạch sẽ và dễ sử dụng với sự tập trung vào tính đơn giản và sự
nhất quán. App Store cung cấp một loạt ứng dụng chất lượng cao và quy trình kiểm
tra ứng dụng nghiêm ngặt của Apple đảm bảo bảo mật.

Hình 4.1: Giao diện hệ điều hành iOS

Android cung cấp nhiều tùy chỉnh hơn, cho phép người dùng tùy chỉnh giao diện
thiết bị theo sở thích của họ. Cửa hàng Google Play có nhiều ứng dụng, và Android
cung cấp tính linh hoạt hơn để cài đặt ứng dụng từ nguồn khác, nhưng điều này có

24
CHƯƠNG 4. SO SÁNH HỆ ĐIỀU HÀNH MACOS VÀ IOS

thể đi kèm với rủi ro bảo mật.

Hình 4.2: Giao diện hệ điều hành Android

4.1.3 Bảo mật


iOS: Nổi tiếng với các biện pháp bảo mật mạnh mẽ, bao gồm cách cách ứng
dụng, mã hóa dựa trên phần cứng và cập nhật thường xuyên.
Android: Bảo mật của Android đã được cải thiện qua các năm, với các tính năng
như Google Play Protect, nhưng có thể biến đổi tùy theo thiết bị và nhà sản xuất.
4.1.4 Tích hợp với thiết bị khác
iOS: Hệ sinh thái của Apple cho phép tích hợp mượt mà giữa các thiết bị iOS và
macOS, bao gồm các tính năng như Handoff, Continuity và AirDrop.
Android: Tích hợp cơ bản giữa các thiết bị, mặc dù bạn có thể sử dụng các giải
pháp từ bên thứ ba cho một số chức năng tích hợp chéo.
4.1.5 Tương thích phần cứng
iOS: Hạn chế chỉ hoạt động trên phần cứng của Apple, giới hạn sự lựa chọn về
thiết bị.
Android: Tương thích với nhiều loại phần cứng từ các nhà sản xuất khác nhau.

25
CHƯƠNG 4. SO SÁNH HỆ ĐIỀU HÀNH MACOS VÀ IOS

4.1.6 Giá cả
iOS: Thường đắt hơn do phần cứng và phần mềm chất lượng cao của Apple.
Windows: Giá thành phải chăng, có nhiều tùy chọn giá tùy theo mẫu mã và chất
lượng gia công
4.2 Hệ điều hành MacOS với các hệ điều hành máy tính khác
4.2.1 Hệ sinh thái
MacOS: Được phát triển bởi Apple và chỉ có trên máy tính Mac. Nó nổi tiếng
với tích hợp mượt mà với các thiết bị và dịch vụ khác của Apple. App Store cho
Mac cung cấp một loạt ứng dụng và macOS cũng hỗ trợ phần mềm từ các nguồn
bên ngoài.
Windows: Windows được phát triển bởi Microsoft và chủ yếu được sử dụng trên
máy tính để bàn và máy tính xách tay. Nó hỗ trợ nhiều cấu hình phần cứng khác
nhau. Cửa hàng Microsoft có một loạt ứng dụng, nhưng Windows chỉ hỗ trợ các
ứng dụng truyền thống trên máy tính để bàn.
4.2.2 Giao diện người dùng
MacOS: MacOS có giao diện người dùng thanh lịch và dễ sử dụng nổi tiếng với
sự thẩm mỹ và tính thân thiện.

Hình 4.3: Giao diện hệ điều hành MacOS

26
CHƯƠNG 4. SO SÁNH HỆ ĐIỀU HÀNH MACOS VÀ IOS

Windows: Windows có giao diện đa dạng đã phát triển qua các phiên bản, bao
gồm Windows 10 và Windows 11.

Hình 4.4: Giao diện hệ điều hành Windows

4.2.3 Bảo mật


MacOS: MacOS nổi tiếng với các tính năng bảo mật, bao gồm Gatekeeper và
mã hóa FileVault.

Hình 4.5: Máy tính Macbook dùng hệ điều hành MacOS

Windows: Có lịch sử về lỗ hổng bảo mật, nhưng các phiên bản gần đây đã cải
thiện các tính năng bảo mật.

27
CHƯƠNG 4. SO SÁNH HỆ ĐIỀU HÀNH MACOS VÀ IOS

4.2.4 Tích hợp với thiết bị khác


MacOS: Hệ sinh thái của Apple cho phép tích hợp mượt mà giữa các thiết bị
iOS và macOS, bao gồm các tính năng như Handoff, Continuity và AirDrop.

Hình 4.6: Máy tính Macbook đang được đồng bộ với điện thoại iPhone

Windows: Có tích hợp cơ bản giữa các thiết bị, mặc dù bạn có thể sử dụng các
giải pháp từ bên thứ ba cho một số chức năng tích hợp chéo.
4.2.5 Tương thích phần cứng
MacOS: Hạn chế chỉ hoạt động trên phần cứng của Apple, giới hạn sự lựa chọn
về thiết bị.
Windows: Tương thích với nhiều loại phần cứng từ các nhà sản xuất khác nhau.
4.2.6 Giá cả
MacOS: Thường đắt hơn do phần cứng và phần mềm chất lượng cao của Apple.
Windows: Có sẵn nhiều tùy chọn giá, từ thiết bị giá rẻ đến cao cấp.

28
CHƯƠNG 5. KẾT LUẬN

5.1 Hệ điều hành điện thoại iOS


5.1.1 Ưu điểm
• Tích hợp tốt với các sản phẩm và dịch vụ của Apple: iOS được thiết kế để
hoạt động trơn tru với các thiết bị và dịch vụ khác của Apple, giúp người dùng
dễ dàng chia sẻ dữ liệu và làm việc trên nhiều thiết bị.
• Ổn định và đáng tin cậy: iOS nổi tiếng về độ ổn định và đáng tin cậy, ít gặp
lỗi hệ thống.
• Bảo mật cao: iOS nổi tiếng về độ ổn định và đáng tin cậy, ít gặp lỗi hệ thống.
• Dễ sử dụng: Giao diện người dùng của iOS được thiết kế đơn giản và dễ sử
dụng, phù hợp với cả người dùng mới và người dùng kỳ cựu.
• Hiệu suất cao: iOS được tối ưu hóa cho hiệu suất, giúp ứng dụng khởi động
nhanh chóng và dữ liệu truy xuất nhanh chóng.
• Quản lý bộ nhớ động: iOS có khả năng quản lý bộ nhớ động, tự động chuyển
dữ liệu giữa bộ nhớ RAM và đĩa cứng (swap space) khi cần. Điều này giúp
tối ưu hóa việc sử dụng bộ nhớ và đảm bảo hệ thống luôn hoạt động một cách
trơn tru.
• Phục hồi dữ liệu: Hệ thống quản lý bộ nhớ trong iOS giúp phục hồi dữ liệu
nhanh chóng sau khi ứng dụng bị đóng hoặc trong trường hợp hệ thống cần
giải phóng bộ nhớ.
• Quản lý lỗi bộ nhớ: Hệ thống quản lý bộ nhớ trong iOS giúp phát hiện và
khắc phục lỗi bộ nhớ, ngăn chặn các vấn đề như tràn bộ nhớ.
• Tích hợp tốt với các dịch vụ Apple khác: Hệ thống tệp APFS tích hợp tốt
với các dịch vụ của Apple như iCloud, AirDrop, và AirPlay, giúp bạn dễ dàng
chia sẻ và đồng bộ dữ liệu giữa các thiết bị Apple.
• Tạo bản sao lưu đầy đủ (snapshot): APFS cho phép tạo bản sao lưu đầy đủ
của hệ thống tệp một cách nhanh chóng và hiệu quả. Điều này giúp bạn khôi
phục lại hệ thống nhanh chóng nếu có vấn đề.

29
CHƯƠNG 5. KẾT LUẬN

5.1.2 Nhược điểm


• Giới hạn tích hợp: iOS có sự kiểm soát nghiêm ngặt từ Apple, điều này có
nghĩa rằng tích hợp giữa các ứng dụng và dịch vụ của bên thứ ba có thể bị giới
hạn. Điều này có thể làm giới hạn tính đa dạng và linh hoạt của ứng dụng.
• Giới hạn truy cập vào hệ thống: iOS bảo vệ tính toàn vẹn của hệ thống bằng
cách hạn chế truy cập vào nhiều phần của hệ thống. Điều này có thể khiến cho
việc phát triển ứng dụng với các tính năng đặc biệt hoặc hệ thống khó khăn
hơn
• Khả năng tùy chỉnh hạn chế: Cấu trúc iOS hạn chế sự tùy chỉnh đối với giao
diện người dùng và hệ thống, vì vậy người dùng không thể thay đổi cách hệ
thống hoạt động hoặc giao diện sâu hơn.
• Giới hạn về hiệu suất trên các thiết bị cũ: Các phiên bản iOS mới thường
yêu cầu phần cứng mạnh hơn để hoạt động mượt mà. Điều này có nghĩa rằng
các thiết bị cũ hơn có thể gặp khó khăn khi chạy các phiên bản mới nhất của
iOS.
• Khả năng giới hạn của ứng dụng: Hệ thống iOS có khả năng giới hạn ứng
dụng, yêu cầu chúng phải chạy trong một môi trường bảo mật và có thể buộc
chúng giải phóng bộ nhớ hoặc bị tắt bất kỳ lúc nào.
• Khả năng hạn chế tương thích phần mềm cũ: Các phiên bản iOS mới có
thể không tương thích hoặc hỗ trợ tốt các ứng dụng và trò chơi cũ. Điều này
có thể gây mất tính toàn vẹn của dữ liệu hoặc yêu cầu sử dụng các giải pháp
tương thích
• Hạn chế truy cập tệp qua giao diện ngoài: iOS không cung cấp cách dễ
dàng cho người dùng truy cập và quản lý tệp thông qua giao diện người dùng
bên ngoài. Điều này có nghĩa rằng bạn không thể thực hiện các tác vụ tệp cơ
bản mà bạn có thể thấy trên máy tính cá nhân.
• Giới hạn tài nguyên bộ nhớ: iOS có giới hạn về tài nguyên bộ nhớ vật lý trên
các thiết bị di động, đặc biệt là iPhone và iPad. Điều này có thể dẫn đến tình
trạng thiếu không gian lưu trữ khi cài đặt nhiều ứng dụng hoặc lưu trữ nhiều
dữ liệu trên thiết bị.

30
CHƯƠNG 5. KẾT LUẬN

5.2 Hệ điều hành máy tính MacOS


5.2.1 Ưu điểm
• Tích hợp với sản phẩm và dịch vụ Apple: Cấu trúc hệ thống macOS tích
hợp tốt với các sản phẩm và dịch vụ khác của Apple, giúp người dùng dễ dàng
chia sẻ dữ liệu và làm việc trên nhiều thiết bị Apple khác nhau.
• Độ ổn định và đáng tin cậy macOS nổi tiếng về tính ổn định và đáng tin cậy.
Hệ thống này được thiết kế để hoạt động một cách trơn tru và ít gặp lỗi hệ
thống.
• Bảo mật và quản lý tài liệu macOS cung cấp các công cụ bảo mật mạnh mẽ
và quản lý tài liệu dễ sử dụng, giúp người dùng bảo vệ dữ liệu cá nhân và quản
lý tệp tin một cách hiệu quả.
• Môi trường phát triển: macOS cung cấp môi trường phát triển mạnh mẽ cho
việc xây dựng ứng dụng, với các công cụ như Xcode và Interface Builder cho
phát triển ứng dụng dành cho nền tảng Apple.
• Tích hợp với các mạng và dịch vụ khác: macOS hỗ trợ nhiều giao thức mạng
và dịch vụ trực tuyến, giúp người dùng kết nối và làm việc với nhiều nguồn tài
nguyên khác nhau.
• Mạnh mẽ và linh hoạt: Các hàm shell cho phép bạn thực hiện nhiều tác vụ
khác nhau, từ quản lý tệp tin và thư mục, tự động hóa công việc, tạo lịch trình,
và thậm chí là lập trình kịch bản phức tạp. Bạn có thể truy cập và kiểm soát
toàn bộ hệ thống, bao gồm cả tệp, thư mục, quyền truy cập, dịch vụ hệ thống,
quá trình, mạng, và nhiều khía cạnh khác của hệ thống.
• Sự linh hoạt trong việc quản lý bộ nhớ: macOS có khả năng quản lý bộ nhớ
động, tự động chuyển các phần của dữ liệu giữa bộ nhớ RAM và đĩa cứng
(swap space) khi cần. Điều này giúp tối ưu hóa việc sử dụng bộ nhớ và đảm
bảo rằng hệ thống luôn hoạt động một cách trơn tru.
• Hỗ trợ cho ứng dụng 64-bit: macOS hỗ trợ ứng dụng 64-bit, cho phép chúng
sử dụng bộ nhớ lớn hơn, giúp cải thiện hiệu suất và khả năng xử lý dữ liệu.

31
CHƯƠNG 5. KẾT LUẬN

5.2.2 Nhược điểm


• Yêu cầu tài nguyên: Hệ thống quản lý bộ nhớ cần sử dụng một phần của bộ
nhớ RAM để quản lý bộ nhớ. Điều này có thể dẫn đến mất đi một phần tài
nguyên bộ nhớ
• Tương thích phần mềm: Một số ứng dụng dành cho Windows có thể không
tương thích với macOS. Trong trường hợp này, người dùng có thể sử dụng
công cụ giả lập để chạy các ứng dụng đó.
• Giới hạn về lưu trữ: Kích thước ổ cứng và không gian lưu trữ trên các máy
tính Mac thường giới hạn. Điều này có thể dẫn đến sự hạn chế về không gian
lưu trữ dữ liệu.
• Giá cả và cấu hình phần cứng: Thiết bị chạy macOS thường có giá cao hơn
so với các máy tính chạy hệ điều hành khác, và cấu hình phần cứng cũng có
thể đắt đỏ. Điều này có thể tạo ngưỡng về tài chính đối với một số người dùng.
• Giới hạn tích hợp với sản phẩm của Apple: Mặc dù tích hợp với sản phẩm
Apple là một ưu điểm, nhưng nó cũng tạo ra sự kết nối hạn chế với các thiết
bị và dịch vụ không phải của Apple. Điều này có thể khiến việc làm việc với
các hệ thống không tương thích trở nên khó khăn.
• Giới hạn sự tùy chỉnh: macOS được thiết kế để đơn giản và an toàn, nhưng
điều này có nghĩa rằng bạn có ít khả năng tùy chỉnh hệ thống theo cách bạn
có thể trên các hệ điều hành mã nguồn mở.
• Hạn chế về hiệu suất trên các thiết bị cũ: Các phiên bản macOS mới thường
yêu cầu phần cứng mạnh hơn để hoạt động mượt mà. Điều này có nghĩa rằng
các máy tính cũ hơn có thể gặp khó khăn khi chạy các phiên bản mới nhất của
macOS.
• Khả năng giới hạn của ứng dụng: Hệ thống macOS có khả năng giới hạn
ứng dụng, yêu cầu chúng phải chạy trong môi trường bảo mật và có thể buộc
chúng giải phóng bộ nhớ hoặc bị tắt bất kỳ lúc nào.

32
TÀI LIỆU THAM KHẢO

[1] Giáo trình Hệ điều hành, Học viện Công nghệ Bưu chính Viễn thông, 2016
- Từ Minh Phương. (lần cuối truy cập: 11/11/2023).
[2] Mac OS X Structure. [Online]. Available: https://www.tutorialsp
oint.com/mac-os-x-structure (lần cuối truy cập: 11/11/2023).
[3] Architecture of IOS Operating System [Online]. Available: https://ww
w.geeksforgeeks.org/architecture-of-ios-operating-sys
tem/ (lần cuối truy cập: 11/11/2023).
[4] File System Programming Guide [Online]. Available: https://develo
per.apple.com/library/archive/documentation/FileManage
ment/Conceptual/FileSystemProgrammingGuide/FileSystemO
verview/FileSystemOverview.html (lần cuối truy cập: 11/11/2023).
[5] Process Manager [Online]. Available: https://developer.apple.
com/library/archive/documentation/mac/pdf/Processes/Pr
ocess_Manager.pdf (lần cuối truy cập: 11/11/2023)
[6] Introduction to Memory Management [Online]. Available: https://de
veloper.apple.com/library/archive/documentation/mac/pd
f/Memory/Intro_to_Mem_Mgmt.pdf (lần cuối truy cập: 11/11/2023)
[7] Complete History of Mac OS [Online]. Available: https://history-c
omputer.com/complete-history-of-mac-os/ (lần cuối truy cập:
11/11/2023)
[8] Apple iOS Operating System: History, Origin, and More [Online]. Available:
https://history-computer.com/apple-ios-operating-syste
m-guide/ (lần cuối truy cập: 11/11/2023)
[9] iOS vs. Android: Full Comparison with Specs, History, and More [Online].
Available: https://history-computer.com/ios-vs-android/ (lần
cuối truy cập: 11/11/2023)

33
PHÂN CHIA CÔNG VIỆC

Mã sinh viên Họ và tên Đóng góp


B21DCAT066 Nguyễn Anh Đức • Tổng hợp nội dung
(nhóm trưởng) • Viết báo cáo

B21DCAT170 Nguyễn Tấn Tài • Chương 1: Giới thiệu về hệ


điều hành

B21DCAT178 Nguyễn Tiến Thành • Chương 2: Giới thiệu về hệ


điều hành macOS

B21DCAT166 Trần Anh Sơn • Chương 3: Giới thiệu về hệ


điều hành iOS

B21DCAT042 Lê Văn Bằng • Chương 4: So sánh hệ điều


hành macOS và iOS
• Làm slide

B21DCAT138 Ngô Văn Nam • Chương 5: Kết luận


• Làm slide

34
35

You might also like