You are on page 1of 16

KHOA CÔNG NGHỆ THÔNG TIN

TIỂU LUẬN CUỐI KÌ MÔN HỆ ĐIỀU HÀNH

ĐỀ TÀI:
1/. TÌM HIỂU LỊCH SỬ RA ĐỜI VÀ CÁC GIAI ĐOẠN PHÁT TRIỂN CỦA HỆ
ĐIỀU HÀNH ANDROID
2/. TIỀM HIỂU VỀ CÁC VẤN ĐỀ LIÊN QUAN ĐẾN BÀI TOÁN PHÂN PHỐI
TÀI NGUYÊN CPU CHO CÁC TIẾN TRÌNH. VIẾT CHƯƠNG TRÌNH MÔ
PHỎNG HOẠT ĐỘNG CỦA 1 CHIẾN LƯỢC LẬP LỊCH CPU.

HỌC PHẦN: COMP133203 – HỆ ĐIỀU HÀNH

Thành phố Hồ Chí Minh, ngày 05 tháng 05 năm 2023


1
TRƯỜNG ĐẠI HỌC SƯ PHẠM TP. HỒ CHÍ MINH
KHOA CÔNG NGHỆ THÔNG TIN

TIỂU LUẬN CUỐI KÌ MÔN HỆ ĐIỀU HÀNH


ĐỀ TÀI:
1/. TÌM HIỂU LỊCH SỬ RA ĐỜI VÀ CÁC GIAI ĐOẠN PHÁT TRIỂN CỦA HỆ
ĐIỀU HÀNH ANDROID
2/. TIỀM HIỂU VỀ CÁC VẤN ĐỀ LIÊN QUAN ĐẾN BÀI TOÁN PHÂN PHỐI
TÀI NGUYÊN CPU CHO CÁC TIẾN TRÌNH. VIẾT CHƯƠNG TRÌNH MÔ
PHỎNG HOẠT ĐỘNG CỦA 1 CHIẾN LƯỢC LẬP LỊCH CPU.
HỌC PHẦN: COMP133203 – HỆ ĐIỀU HÀNH
Giảng viên hướng dẫn: TRẦN ĐỨC TÂM

Nhóm sinh viên thực hiện:


Họ và tên MSSV
Nguyễn Hoàng Quốc Việt 47.01.104.238
Nguyễn Nguyên Khang 47.01.104.108
Lê Anh Quốc 47.01.104.174
Lâm Quốc Bảo 47.01.104.048
Đào Thị Bích Quyên 47.01.104.178
Nguyễn Hồng Long 45.01.104.130
Thành phố Hồ Chí Minh, ngày 5 tháng 05 năm 2023
2
NHIỆM VỤ THÀNH VIÊN NHÓM
STT Họ và tên MSSV Nhiệm vụ Tự đánh giá

1 Nguyễn Hoàng Quốc Việt 47.01.104.238 Tổng hợp, viết báo Hoàn thành tốt
cáo
2 Nguyễn Nguyên Khang 47.01.104.108 Viết chương trình mô Hoàn thành tốt
phỏng hoạt động
3 Lê Anh Quốc 47.01.104.174 Viết chương trình mô Hoàn thành tốt
phỏng hoạt động
4 Lâm Quốc Bảo 47.01.104.048 Tìm hiểu các vấn đề Hoàn thành tốt
của bài toán phân
phối tài nguyên CPU
5 Đào Thị Bích Quyên 47.01.104.178 Tìm hiểu hệ điều Hoàn thành tốt
hành Android
6 Nguyễn Hồng Long 45.01.104.130 Tìm hiểu hệ điều Hoàn thành tốt
hành Android

3
MỤC LỤC

PHẦN 1. TÌM HIỂU LỊCH SỬ RA ĐỜI VÀ CÁC GIAI ĐOẠN PHÁT TRIỂN CỦA HỆ
ĐIỀU HÀNH ANDROID....................................................................................................6
1.1. Giới thiệu..................................................................................................................6
1.2. Lịch sử ra đời của hệ điều hành Android..................................................................6
1.3. Các giai đoạn phát triển của hệ điều hành Android..................................................6
1.4. Kết luận.....................................................................................................................9
PHẦN 2. TIỀM HIỂU VỀ CÁC VẤN ĐỀ LIÊN QUAN ĐẾN BÀI TOÁN PHÂN PHỐI
TÀI NGUYÊN CPU CHO CÁC TIẾN TRÌNH. VIẾT CHƯƠNG TRÌNH MÔ PHỎNG
HOẠT ĐỘNG CỦA 1 CHIẾN LƯỢC LẬP LỊCH CPU..................................................11
2.1. Giới thiệu................................................................................................................11
2.2. Các vấn đề liên quan đến bài toán phân phối tài nguyên CPU...............................11
2.3. Chương trình mô phỏng hoạt động của 1 chiến lược lập lịch CPU........................12
2.4. Kết luận...................................................................................................................14
PHẦN 3. TÀI LIỆU THAM KHẢO.................................................................................16

4
MỞ ĐẦU
1. Lý do chọn đề tài
Android là một trong những hệ điều hành di động phổ biến nhất trên thế giới, được
sử dụng rộng rãi trên các thiết bị di động như điện thoại thông minh và máy tính bảng.
Việc tìm hiểu về lịch sử ra đời và phát triển của Android không chỉ giúp chúng ta hiểu rõ
hơn về nền tảng này mà còn đem lại nhiều lợi ích khác nhau: Hiểu về nguồn gốc, giai
đoạn phát triển, tầm ảnh hưởng, khám phá công nghệ, …
Tìm hiểu về các vấn đề liên quan đến bài toán phân phối tài nguyên CPU cho các
tiến trình giúp nhóm chúng em hiểu kỹ hơn về việc phân phối tài nguyên CPU cho các
tiến trình là một vấn đề quan trọng trong hệ điều hành và đặc biệt là trong các hệ thống
máy tính có nhiều tiến trình chạy đồng thời. Để giải quyết vấn đề này, cần có các chiến
lược lập lịch CPU hiệu quả.
Việc mô phỏng hoạt động của một chiến lược lập lịch CPU sẽ giúp chúng ta hiểu
rõ hơn về cách hoạt động của các chiến lược này và giúp chúng ta chọn ra chiến lược phù
hợp nhất cho từng trường hợp cụ thể.
2. Mục tiêu
Mục tiêu của đề tài này là hiểu rõ về lịch sử và phát triển của hệ điều hành
Android cùng với các vấn đề liên quan đến phân phối tài nguyên CPU trong hệ thống
máy tính đa nhiệm.
3. Phương pháp
Tìm kiếm, đọc hiểu, tham khảo một số tài liệu về các vấn đề liên quan đến nội
dung bài tiểu luận, trên cơ sở đó tiến hành phân tích, đánh giá, tổng hợp nội dung sao cho
hoàn chỉnh.
4. Kết cấu của đề tài
Nội dung bài báo cáo được xây dựng gồm các phần:

5
PHẦN 1. TÌM HIỂU LỊCH SỬ RA ĐỜI VÀ CÁC GIAI ĐOẠN PHÁT TRIỂN CỦA
HỆ ĐIỀU HÀNH ANDROID
1.1. Giới thiệu
Hệ điều hành Android đã 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, sử dụng rộng rãi trên các thiết bị thông minh như điện thoại di
động và máy tính bảng. Để hiểu rõ hơn về sự thành công và phát triển của Android, ta
cần tìm hiểu về lịch sử ra đời và các giai đoạn phát triển của nó. Trong bài tiểu luận này,
chúng ta sẽ đi sâu vào lịch sử và các giai đoạn quan trọng trong sự phát triển của hệ điều
hành Android.
1.2. Lịch sử ra đời của hệ điều hành Android
Hệ điều hành Android được ra đời vào năm 2003 bởi 4 nhà sáng lập là Rich
Miner, Nick Sears, Chris White và Andy Rubin. Ban đầu, Android được dùng để cải
thiện hệ điều hành của máy ảnh kỹ thuật số, nhưng sau đó đã chuyển hướng sang sử dụng
cho điện thoại di động.
Năm 2005, Android Inc được Google mua lại và tiếp tục phát triển hệ điều hành
dựa trên nền tảng Linux. Google cho phép các nhà sản xuất di động bên thứ ba sử dụng
hệ điều hành này miễn phí và thu lợi từ việc cung cấp các dịch vụ và ứng dụng khác.
Biểu tượng của Android là một con robot màu xanh lá cây có hình dáng giống như
sự kết hợp giữa một con robot và một con bọ. Biểu tượng này được thiết kế bởi Irina
Blok khi cô làm việc cho Google. Cô cho biết cô đã lấy cảm hứng từ các logo nhà vệ sinh
quen thuộc đại diện cho “Nam giới” và “Phụ nữ”. Google cũng cho phép biểu tượng này
trở thành một dự án mã nguồn mở và có thể được sửa đổi bởi bất kỳ ai.
1.3. Các giai đoạn phát triển của hệ điều hành Android
- Phiên bản ban đầu: Android 1.0 (2008)
Phiên bản đầu tiên của Android được ra mắt trên điện thoại di động HTC Dream
(còn được gọi là T-Mobile G1).
Cung cấp các tính năng cơ bản như trình duyệt web, ứng dụng email, khả năng tải
ứng dụng từ cửa hàng Google Play (trước đây là Android Market) và tích hợp các ứng
dụng Google như Google Maps và Gmail.
- Giai đoạn phát triển sự lớn mạnh: Android 2.0 - 2.3 (2009-2011)
Android 2.0 (Eclair) được phát hành vào tháng 10 năm 2009, đem đến nhiều cải
tiến quan trọng như giao diện người dùng được cải thiện, khả năng hỗ trợ nhiều tài khoản
email, tích hợp công nghệ định vị GPS và hỗ trợ kết nối Bluetooth với các thiết bị không
dây.

6
Phiên bản tiếp theo, Android 2.2 (Froyo), ra mắt vào tháng 5 năm 2010, tập trung
vào tăng cường hiệu suất và tối ưu hóa việc sử dụng bộ nhớ. Nó cũng đem lại tính năng
hotspot di động, cho phép điện thoại di động trở thành một điểm phát sóng Wi-Fi.
Android 2.3 (Gingerbread), được phát hành vào tháng 12 năm 2010, mang đến
một loạt cải tiến về giao diện người dùng, hiệu năng và tính năng mới. Giao diện người
dùng được tối ưu hóa, cung cấp trải nghiệm tốt hơn cho người dùng. Ngoài ra, tích hợp
công nghệ NFC (Near Field Communication) cũng được giới thiệu trong phiên bản này,
mở ra cánh cửa cho các ứng dụng thanh toán di động và giao tiếp đơn giản giữa các thiết
bị.
Trong giai đoạn này, Android đã không chỉ cung cấp các cải tiến quan trọng cho
trải nghiệm người dùng, mà còn mở rộng sự hỗ trợ cho các nhà phát triển ứng dụng.
Cộng đồng phát triển Android ngày càng phát triển mạnh mẽ, với sự gia tăng đáng kể về
số lượng ứng dụng có sẵn trên Google Play Store.
- Sự phát triển như một nền tảng hàng đầu: Android 3.0 - 4.4 (2011-2013)
Android 3.0 (Honeycomb) được phát triển đặc biệt cho các thiết bị máy tính bảng
và đem đến giao diện người dùng được tối ưu hóa cho màn hình lớn.
Phiên bản Android 4.0 (Ice Cream Sandwich) đánh dấu việc hội tụ giao diện người
dùng của điện thoại di động và máy tính bảng, tạo điều kiện cho trải nghiệm đồng nhất
trên các thiết bị khác nhau.
Các phiên bản Android tiếp theo trong giai đoạn này, bao gồm Jelly Bean (4.1-4.3)
và KitKat (4.4), tập trung vào cải thiện hiệu suất, tăng tốc độ và tích hợp nhiều tính năng
mới.
- Sự phổ biến và đa dạng hóa của Android: Android 5.0 - 7.1 (2014-2016)
Android 5.0 (Lollipop) đem đến giao diện người dùng mới với tên gọi Material
Design, mang lại trải nghiệm đẹp và mượt mà.
Android 6.0 (Marshmallow) tập trung vào cải thiện quản lý quyền riêng tư và tích
hợp tính năng Fingerprint API cho việc nhận dạng vân tay.
Android 7.0 (Nougat) giới thiệu tính năng chia màn hình đa nhiệm và cải thiện
hiệu năng toàn diện của hệ thống.
- Tích hợp trí tuệ nhân tạo và đột phá công nghệ: Android 8.0 – 9.0 (2017-
2018)
Tích hợp Trí tuệ nhân tạo (AI): Android 8.0 đưa trí tuệ nhân tạo vào trải nghiệm
người dùng thông qua tính năng nhận dạng hình ảnh (Image Recognition). Nhờ tích hợp
trí tuệ nhân tạo, người dùng có thể chụp ảnh và tìm kiếm thông tin chi tiết về các đối

7
tượng, sản phẩm hoặc địa điểm trong ảnh. Điều này mở ra nhiều tiện ích và ứng dụng
trong việc tìm kiếm, mua sắm và khám phá thế giới xung quanh.
Đột phá công nghệ: Android 8.0 cung cấp nhiều cải tiến công nghệ đáng chú ý,
bao gồm hệ thống khởi động nhanh (Quick Boot), tự động điều chỉnh độ sáng màn hình
dựa trên nhu cầu sử dụng (Adaptive Brightness), quản lý nguồn pin thông minh (Battery
Management) và quản lý ứng dụng thông minh (Smart App Management). Điều này giúp
tăng cường hiệu suất, tiết kiệm năng lượng và tối ưu hóa trải nghiệm sử dụng của người
dùng.
Cải tiến bảo mật: Android 8.0 cung cấp nhiều cải tiến bảo mật quan trọng như cơ
chế mã hóa dữ liệu (Data Encryption) mạnh mẽ hơn, cung cấp quyền truy cập ứng dụng
theo yêu cầu (Runtime Permissions) và hạn chế quyền truy cập cho các ứng dụng nền
(Background App Limitations). Điều này giúp bảo vệ thông tin cá nhân và ngăn chặn các
mối đe dọa an ninh.
Android 9 Pie cũng cung cấp thêm 1 vài tính năng khác như: Tăng cường số lượng
thiết bị kết nối bluetooth từ 2 lên 5, thống kê thời gian sử dụng ứng dụng, bổ sung nút
xoay màn hình khi xem video,...
- Cải tiến về quyền riêng tư và bảo mật trong Android 10
Android 10 (Q) - Phát hành vào tháng 9 năm 2019, Android 10 đem đến nhiều cải
tiến về quyền riêng tư và bảo mật. Nó cung cấp kiểm soát tăng cường quyền riêng tư cho
người dùng, bao gồm quyền truy cập vị trí, quyền truy cập vào tệp tin và quyền truy cập
vào các thiết bị ngoại vi. Ngoài ra, Android 10 cũng đưa ra giao diện người dùng tối đa
(Dark Mode), hỗ trợ kết nối 5G và cải tiến về trải nghiệm giao diện người dùng.
- Tập trung vào quyền riêng tư, trò chơi và đa phương tiện: Android 11
Android 11 - Phát hành vào tháng 9 năm 2020, Android 11 tập trung vào ba lĩnh
vực chính: quyền riêng tư, trò chơi và đa phương tiện. Nó đem đến các tính năng như
quyền kiểm soát thông báo, ghi âm màn hình, giao diện điều hướng cảm ứng, hỗ trợ 5G
và tương tác thông minh với các thiết bị ngoại vi.
- Giao diện đột phá và trải nghiệm di động thông minh: Android 12
Android 12 - Phát hành vào tháng 10 năm 2021, Android 12 mang đến một giao
diện người dùng hoàn toàn mới được gọi là "Material You". Điều này cho phép người
dùng tùy chỉnh giao diện theo sở thích cá nhân với màu sắc, hình nền và các yếu tố trực
quan khác. Android 12 cũng tập trung vào trải nghiệm di động thông minh hơn với tính
năng tự động xoay màn hình, chế độ tối ưu hóa pin thông minh và tích hợp trí tuệ nhân
tạo để cải thiện hiệu suất ứng dụng và tốc độ hoạt động.
- Tiến xa hơn với Android 13

8
Android 13 - Phát hành vào năm 2022, Android 13 tiếp tục cải tiến hiệu suất, cải
tiến phần thông báo, tùy chỉnh ngôn ngữ cho ứng dụng, giao diện icon Material You cho
các ứng dụng bên thứ ba, bảo mật và trải nghiệm người dùng. Một số tính năng có thể
bao gồm cải tiến đa nhiệm, tích hợp trí tuệ nhân tạo và thêm tính năng mới cho việc
tương tác với các thiết bị ngoại vi.
- Android 14 : Upside Down Cake
Android 14 dự kiến ra mắt vào cuối năm 2023 với các tính năng có thể xuất hiện
trên dòng android mới nhất này là Nâng cấp Material You, giao diện được đổi mới với
các icon sẽ được hoàn thiện sinh động hơn và người dùng có thể dễ dàng thay đổi biểu
tượng thuộc Android qua các chủ đề, tối ưu pin hơn nữa, quyền riêng tư của người dùng
được tập trung cao, liên hệ khẩn cấp thông qua vệ tinh.
1.4. Kết luận
Từ khi được ra mắt lần đầu vào năm 2008, Android đã trải qua một hành trình đầy
thách thức và phát triển đáng kể để trở thành một nền tảng hàng đầu trên thế giới.
Android đã không chỉ thay đổi cách chúng ta sử dụng điện thoại di động và máy
tính bảng, mà còn ảnh hưởng đến nhiều lĩnh vực khác nhau như kinh doanh, giải trí, giao
dịch di động và nhiều hơn nữa. Với sự mở và tiêu chuẩn hóa, Android đã tạo ra một cộng
đồng phát triển mạnh mẽ, đóng góp vào sự đổi mới và đa dạng hóa của ứng dụng và dịch
vụ di động.
Các giai đoạn phát triển của Android đã mang đến nhiều cải tiến quan trọng, bao
gồm giao diện người dùng, tính năng mới, tăng cường bảo mật và hiệu suất hệ thống. Đặc
biệt, tích hợp trí tuệ nhân tạo và đột phá công nghệ đã mở ra cánh cửa cho các ứng dụng
thông minh và trải nghiệm cá nhân hóa.
Tuy nhiên, sự phát triển của Android vẫn còn tiếp diễn, và chúng ta có thể mong
đợi thêm nhiều cải tiến và tính năng mới trong tương lai. Với sự gia tăng của các xu
hướng công nghệ như trí tuệ nhân tạo, Internet of Things (IoT) và thực tế ảo/ thực tế tăng
cường, Android sẽ tiếp tục đóng vai trò quan trọng trong việc thúc đẩy sự phát triển và
cung cấp trải nghiệm di động tốt hơn cho người dùng.
Tổng kết lại, lịch sử và các giai đoạn phát triển của hệ điều hành Android đã
chứng kiến sự phát triển nhanh chóng và ảnh hưởng sâu sắc của nó đối với ngành công
nghiệp di động. Với sự tiến bộ và sự đổi mới liên tục, Android tiếp tục tạo ra một sự kết
nối mạnh mẽ giữa người dùng và công nghệ thông qua các ứng dụng đa dạng và trải
nghiệm cá nhân hóa. Android đã không chỉ là một hệ điều hành, mà còn là một cộng
đồng đồng hành với sự sáng tạo và sự phát triển không ngừng.
Đối với những ai quan tâm đến việc phát triển ứng dụng di động, việc hiểu về lịch
sử và các giai đoạn phát triển của hệ điều hành Android là rất quan trọng. Nó cung cấp

9
cái nhìn tổng quan về hành trình phát triển và các cơ hội mở ra từng giai đoạn. Từ việc
định hình giao diện người dùng, tăng cường tính bảo mật, tích hợp trí tuệ nhân tạo và đột
phá công nghệ, Android đã trở thành một nền tảng mạnh mẽ cho sự đổi mới và sáng tạo.

Tuy nhiên, cũng cần nhớ rằng sự phát triển của Android vẫn tiếp tục và đòi hỏi sự
tập trung và nỗ lực không ngừng. Sự xuất hiện của các xu hướng công nghệ mới và thay
đổi nhu cầu của người dùng đòi hỏi Android phải tiếp tục cải tiến và đáp ứng. Việc tìm
hiểu sâu hơn về các phiên bản mới nhất, khám phá các công nghệ tiên tiến và tham gia
vào cộng đồng phát triển Android sẽ giúp chúng ta đồng hành với sự phát triển nhanh
chóng của ngành công nghiệp di động.
Tóm lại, lịch sử và các giai đoạn phát triển của hệ điều hành Android đã định hình
một trong những nền tảng di động phổ biến nhất và quan trọng nhất trên thế giới. Sự mở
và tiêu chuẩn hóa, sự cải tiến liên tục và tập trung vào trải nghiệm người dùng đã làm cho
Android trở thành một công nghệ không thể thiếu trong cuộc sống hàng ngày của chúng
ta.

10
PHẦN 2. TIỀM HIỂU VỀ CÁC VẤN ĐỀ LIÊN QUAN ĐẾN BÀI TOÁN PHÂN
PHỐI TÀI NGUYÊN CPU CHO CÁC TIẾN TRÌNH. VIẾT CHƯƠNG TRÌNH
MÔ PHỎNG HOẠT ĐỘNG CỦA 1 CHIẾN LƯỢC LẬP LỊCH CPU.
1.5. Giới thiệu
Khi một hệ thống máy tính có nhiều tiến trình cùng chạy đồng thời, việc phân phối
tài nguyên CPU là một vấn đề quan trọng để đảm bảo hiệu suất và công bằng trong việc
sử dụng tài nguyên. Bài toán phân phối tài nguyên CPU cho các tiến trình đã được nghiên
cứu rộng rãi trong lĩnh vực hệ điều hành. Trong phần này, chúng ta sẽ tìm hiểu về các vấn
đề liên quan đến bài toán này và viết một chương trình mô phỏng hoạt động của một
chiến lược lập lịch CPU.
1.6. Các vấn đề liên quan đến bài toán phân phối tài nguyên CPU
Sự cạnh tranh tài nguyên: Khi có nhiều tiến trình cùng yêu cầu tài nguyên CPU,
có thể xảy ra cạnh tranh về tài nguyên. Điều này dẫn đến sự cạnh tranh giữa các tiến trình
và ảnh hưởng đến hiệu suất hệ thống.
Cân bằng tải: Một vấn đề quan trọng trong việc phân phối tài nguyên CPU là cân
bằng tải. Mục tiêu là phân phối công việc một cách công bằng và hiệu quả giữa các CPU
hoặc lõi CPU khác nhau. Nếu tải không được cân bằng, một số CPU có thể quá tải trong
khi các CPU khác chưa được sử dụng đến hết tiềm năng.
Độ ưu tiên và ưu tiên tiến trình: Hệ điều hành có thể gán độ ưu tiên khác nhau
cho các tiến trình. Việc xác định độ ưu tiên này có thể ảnh hưởng đến cách tài nguyên
CPU được phân phối. Điều này cho phép ưu tiên các tiến trình quan trọng hơn, đảm bảo
rằng các nhiệm vụ cần thiết được hoàn thành trước.
Thời gian chia sẻ và lập lịch: Cách tài nguyên CPU được chia sẻ giữa các tiến
trình có thể được quản lý thông qua các thuật toán lập lịch. Các thuật toán như Round
Robin, Shortest Job Next (SJN), hoặc First Come First Serve (FCFS) có thể được sử dụng
để quản lý việc phân phối CPU.
Thay đổi tải: Tải của hệ thống có thể thay đổi theo thời gian. Các tiến trình mới
có thể xuất hiện hoặc tiến trình đang chạy có thể kết thúc. Quản lý tài nguyên CPU cần
đối phó với những thay đổi này để đảm bảo rằng tài nguyên được phân phối hiệu quả và
không gây ra sự gián đoạn không cần thiết.
Tối ưu hóa hiệu suất: Một vấn đề quan trọng trong việc phân phối tài nguyên
CPU là tối ưu hóa hiệu suất hệ thống. Tùy thuộc vào yêu cầu của ứng dụng cần xác định
và áp dụng các chiến lược và thuật toán phân phối tài nguyên CPU thông minh để đảm
bảo rằng các tiến trình quan trọng nhận đủ tài nguyên cần thiết và đồng thời tránh tình
trạng quá tải hoặc sử dụng không hiệu quả tài nguyên CPU.

11
Thời gian đáp ứng: Thời gian đáp ứng là một yếu tố quan trọng trong việc đánh
giá hiệu suất hệ thống. Khi phân phối tài nguyên CPU, cần đảm bảo rằng các tiến trình
được thực thi một cách nhanh chóng và đáp ứng yêu cầu thời gian của chúng. Quản lý tài
nguyên CPU phải đảm bảo rằng các tiến trình được lựa chọn và lập lịch một cách thông
minh để đạt được thời gian đáp ứng tối ưu.
Giải quyết xung đột: Khi hai hoặc nhiều tiến trình cùng yêu cầu tài nguyên CPU
cùng một lúc, có thể xảy ra xung đột. Xung đột xảy ra khi một tiến trình bị chặn bởi một
tiến trình khác, gây ra trễ và giảm hiệu suất hệ thống. Cần có các chiến lược phân phối tài
nguyên thông minh để giảm thiểu xung đột và đảm bảo rằng các tiến trình chạy một cách
trơn tru.
Quản lý ưu tiên đội ưu tiên: Nếu hệ thống có nhiều tiến trình ưu tiên cao, cần có
khả năng ưu tiên cho các tiến trình này trong việc phân phối tài nguyên CPU. Điều này
đảm bảo rằng các tiến trình quan trọng hoặc yêu cầu cao được ưu tiên và không bị ảnh
hưởng bởi các tiến trình khác có ưu tiên thấp hơn.
Theo dõi và đánh giá hiệu suất: Để tối ưu hóa việc phân phối tài nguyên CPU,
cần có khả năng theo dõi và đánh giá hiệu suất hệ thống. Điều này bao gồm việc theo dõi
sử dụng CPU của các tiến trình, xác định các tiến trình tiêu tốn nhiều tài nguyên và các
tiến trình không tận dụng được tài nguyên một cách hiệu quả. Dựa trên thông tin này,
quản lý tài nguyên CPU có thể điều chỉnh cấu hình và các chiến lược phù hợp.
1.7. Chương trình mô phỏng hoạt động của 1 chiến lược lập lịch CPU
Nhóm em đã thử đánh giá tính tối ưu của các thuật toán phân phối tài nguyên
CPU, thì nhóm em thấy rằng không có một thuật toán duy nhất được coi là tối ưu nhất
trong mọi tình huống. Sự lựa chọn của thuật toán phụ thuộc vào các yêu cầu và điều kiện
cụ thể của hệ thống và tải công việc.
Vì vậy nhóm em quyết định chọn thuật toán First Come First Serve (FCFS): Thuật
toán này sẽ lên lịch các tiến trình theo thứ tự đến trước là được xử lý trước. Tuy thuật
toán này có các khuyết điểm như không đảm bảo hiệu quả tối ưu. FCFS có thể gây ra
hiện tượng đói tài nguyên cho các tiến trình đến sau, ngay cả khi chúng có thời gian thực
thi ngắn hơn các tiến trình đang chạy. Nhưng nó là một thuật toán đơn giản và dễ hiểu
nên nhóm em sẽ viết chương trình mô phỏng hoạt động của thuật toán FCFS này.
Về phần code của chương trình nhóm em sẽ gửi kèm với bài tiểu luận này vì vậy
nên nhóm em sẽ không trình bày phần này mà chỉ tập trung vào việc cài đặt và kiểm tra
chương trình.

12
Khi bắt đầu chạy thì chương trình sẽ yêu cầu bạn nhập số tiến trình có trong bài
toán

Sau khi nhập số tiến trình thì tương ứng với số tiến trình thì chương trình sẽ yêu
cầu bạn nhập thời điểm vào và thời gian thực hiện tương ứng với từng tiến trình

13
Tiếp đó chương trình sẽ thực hiện quá trình điều phối chiến lược và xuất quá trình
đó ra màn hình để bạn có thể xem lại quá trình thực hiện của thuật toán FCFS

Chương trình đã cho thấy được thời điểm thứ mấy thì tiến trình nào bắt đầu thực hiện và
vào thời điểm nào thì tiến trình đó hoàn thành. Vì đây là thuật toán FCFS nên khi một
tiến trình mới được thực hiện thì đồng nghĩa với việc tiến trình cũ đã hoàn thành. Chương
trình cũng tính được thời gian chờ trung bình của các tiến trình và cả thời gian hoàn thành
trung bình của các tiến trình.
1.8. Kết luận
Chúng ta đã xem xét các vấn đề như độ ưu tiên, độ ưu tiên tương đối, điều kiện bất
thường và cơ chế chia sẻ trong việc phân phối tài nguyên CPU. Điều này cho phép chúng
ta cân nhắc và áp dụng các chiến lược lập lịch phù hợp để tối ưu hóa hiệu suất và công
bằng trong việc sử dụng tài nguyên CPU.
Đồng thời, chúng em đã viết một chương trình mô phỏng chiến lược FCFS bằng
ngôn ngữ C++. Chương trình này cho phép chúng ta thấy cách tiến trình được thực thi.
Sau khi mô phỏng hoạt động của thuật toán FCFS nhóm chúng em cơ bản đã tính
được thời gian chờ trung bình, thời gian thực hiện trung bình, và đã chỉ rõ rằng vào thời
điểm nào thì tiến trình nào sẽ bắt đầu thực hiện, thời gian thực hiện là bao nhiêu, thời
điểm kết thúc là khi nào.

14
Tuy nhiên, cần lưu ý rằng FCFS chỉ là một trong số nhiều chiến lược lập lịch CPU
khả thi. Các chiến lược khác như Round Robin, Shortest Job Next (SJN), Priority
Scheduling, và các thuật toán lập lịch tiên tiến khác cũng đều có ứng dụng và ưu điểm
riêng.
Nội dung này đã giúp nhóm hiểu rõ hơn về quá trình quản lý tài nguyên CPU
trong hệ thống máy tính.

15
PHẦN 3. TÀI LIỆU THAM KHẢO
Tiếng Việt
[1] Giáo trình Hệ điều hành của thầy Trần Đức Tâm
[2] Nguyễn Viết Hưng, Nguyễn Đỗ Thái Nguyên Trần Đức Tâm, Lương Trần Ngọc
Khiết, Cấu trúc dữ liệu, Nhà xuất bản Đại học Sư phạm TP Hồ Chí Minh.
Tiếng Anh
[3] CPlussPlusNotesForProfessional.pdf
Website
[4] https://cplusplus.com/
[5] https://developer.android.com/
[6] shareprogramming.net

16

You might also like