1. Trang chủ
  2. » Luận Văn - Báo Cáo

nâng cao kiến thức chuyên sâu giúp người học nắm vững các nguyên lý và kỹ thuật quan trọng trong quản lý tài nguyên hệ điều hành

17 0 0
Tài liệu được quét OCR, nội dung có thể không chính xác
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Nâng cao kiến thức chuyên sâu giúp người học nắm vững các nguyên lý và kỹ thuật quan trọng trong quản lý tài nguyên hệ điều hành
Tác giả Nguyễn Đức Tâm, Nguyễn Đức Duy, Lê Ngọc Minh
Người hướng dẫn ThS.
Trường học Trường Đại học Sư phạm TP Hồ Chí Minh
Chuyên ngành Công nghệ thông tin
Thể loại Bài báo cáo
Năm xuất bản 2024
Thành phố TP Hồ Chí Minh
Định dạng
Số trang 17
Dung lượng 767,09 KB

Nội dung

Các thuật toán lập lịch đóng vai trò quyết định trong việc cải thiện thời gian đáp ứng, giảm thời gian chờ đợi và đảm bảo tính công bằng giữa các tiến trình.. Thuật toán này sắp xếp các

Trang 1

TP HỒ CHÍ MINH

BỘ GIÁO DỤC VÀ ĐÀO TẠO

TRUONG DAI HOC SU PHAM TP HO CHi MINH

Thuộc nhóm ngành khoa học: Công nghệ thông tin

TP Hồ Chí Minh, 4/2024

Trang 2

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRUONG DAI HOC SU PHAM TP HO CHi MINH

Thuộc nhóm ngành khoa học: Công nghệ thông tin

Người hướng dẫn: ThS

SV thực hiện:

Nguyễn Đức Tâm - 48.01.104.128

Nguyễn Đức Duy — 48.01.104.034

Lê Ngọc Minh — 48.01.104.088

—48.01.104

Ngành học: Công nghệ théng tin

TP Hồ Chí Minh, 4/2024

Trang 3

Mục Lục

Danh mục các bảng L0 002 2111220111 2212111 00111201115 011 1110111110111 11k g1 xk khu 9

Chương 1 Mở đầu 5+ 21 1 E1 2211212112 121211 1 12 1 t2 g Hà nen He 11

LL Ly do chom 46 taiec.cecccccccccccsccscescssesscssesvssessesssusevssessssessessssessvssesevecsveevevsvsveeees 11

1.2 Mục tiêu và nhiệm vụ nghiên CỨU c1 2222122111211 112 115111111151 1811 18111 ke 12 1.6 Nội dung văn bản c1 212221212112 111111 152115 1111151115011 111115011 kh cu 15

2.1 Tổng quan tình hình nghiên cứu thuộc Tinh Vu cecececcseesceceseseeessvssesesveveeeseees 16

2.2 Một số thách thức - ¿22t 222 2211112211112211112111212111212111 11.11.111 1 re 19

2.3 Sơ lược về các tập dữ liệu - - 5c 5c TỰ 212 1212121221 tt 1n re 19

Trang 4

MỞ ĐẦU

1 Giới thiệu

Trong lĩnh vực hệ điều hành, quản lý và tôi ưu hóa tài nguyên là một trong những

nhiệm vụ quan trọng nhằm đảm bảo hệ thống hoạt động hiệu quả và én định Hai trong số

những vấn đề nồi bật và cần được quan tâm là lập lịch sử dụng CPU va quan ly deadlock Lập lịch CPU là kỹ thuật quan trọng giúp hệ điều hành xác định thứ tự thực thi các

tiễn trình đề tối ưu hóa hiệu suất hệ thông Các thuật toán lập lịch đóng vai trò quyết định

trong việc cải thiện thời gian đáp ứng, giảm thời gian chờ đợi và đảm bảo tính công bằng giữa các tiến trình Bài báo cáo này sẽ di sâu vào tìm hiểu, phân tích và đánh giá các thuật toán lập lịch pho biến như First-Come, First-Served (FCFS), Shortest Job First (SJF), Shortest Remaining Time First (SRTF), Round Robin (RR) Muc tiêu là hiểu rõ ưu, nhược điểm của từng thuật toán và áp dụng chúng trong các tình huống cụ thé dé dat duoc

hiệu quả tôi ưu

Deadlock là tình trạng mà một tập hợp các tiến trình bị kẹt và không thê tiếp tục

thực hiện do mỗi tiến trình trong tập hợp đang chờ tài nguyên mà tiến trình khác đang nam giữ Giải thuật Banker là một trong những phương pháp hiệu quả đề phát hiện và ngăn chặn deadlock bằng cách kiểm tra tính an toàn của trạng thái hệ thống trước khi cấp phát tài nguyên Bài báo cáo này cũng sẽ tập trung vào xây dựng chương trình minh họa giải thuật Banker, nhằm cung cấp cái nhìn trực quan về cách thức hoạt động của giải thuật trong việc phát hiện và giải quyết deadlock Chương trình sẽ giúp người dùng hiểu rõ hơn

về quá trình kiểm tra an toàn và cách thức áp dụng giải thuật trong thực tế

2 Mục tiêu chung

[Ề Nâng cao kiến thức chuyên sâu: Giúp người học nắm vững các nguyên lý và

kỹ thuật quan trọng trong quản lý tài nguyên hệ điều hành, đặc biệt là lập lịch CPU và xử

ly deadlock

Trang 5

[Ê Phát triển kỹ năng phân tích và đánh giá: Cung cấp khả năng phân tích, so sánh

và đánh giá hiệu quả của các thuật toán lập lịch CPU, cũng như áp dụng giải thuật Banker trong việc phát hiện và giải quyết deadlock

B Ứng dụng thực tiễn: Xây dựng các chương trình minh họa cụ thê, giúp người học thấy rõ cách áp dụng lý thuyết vào thực tế, từ đó nâng cao khả năng lập trình và giải quyết vấn đề trong môi trường hệ điều hành

[Ề Xúc tác và đóng góp cho cộng đồng học thuật: Tạo ra những tải liệu và công

cụ học tập hữu ích, giúp ích cho việc nghiên cứu và giảng dạy về hệ điều hành trong tương lai

Trang 6

CHUONG 1: TIM HIẾU, PHÂN TÍCH VÀ ĐÁNH GIÁ CÁC THUẬT TOÁN

LẬP LỊCH SỬ DỤNG CPU

1.1 First Come — First Served Scheduling (FCFS)

1.1.1 Nguyên tắc hoạt động của FCES

First Come — Firse Served là thuật toán định thời gian CPU đơn giản nhất Thuật

toán hoạt động dựa trên nguyên tắc “Đến trước thực hiện trước”, tức là công việc nào đến

trước thì thực hiện trước

Giải thuật này ứng dụng chế đồ nonpreemptive — tức là tiến trình sẽ chiếm giữ CPU cho đến khi nào nó trả CPU, thông qua phương thức ngắt hay yêu cầu nhập/xuất

xuất hiện

=> Phương thức FCFS trong máy tính là co ché FIFO Queue (First In First Out)

Ready Queue

1.1.2 Ưu và nhược điểm của nguyên tắc FCFS

1.1.2.1 Ưu điểm

Tính đơn giản: FCFS rất dễ thực hiện và hiệu Nó chỉ yêu cầu một hàng đợi

đơn gián đề lưu trữ các tiến trình theo thứ tự đến

Trang 7

Tính công bằng: FCFS xử lý các tiến trình theo thứ tự chúng đến, đám bảo

rằng không có tiến trình nào bị bỏ qua

Chi phí thấp: Không yêu cầu tính toán phức tạp hoặc thông tin bồ sung, làm

cho việc triển khai dễ dàng|4]

Không bị đói: FCFS đảm bảo rằng không có yêu cầu nào bị bỏ đói, vì nó xử

lý các yêu cầu theo thứ tự chúng đến trong hàng đợi Điều này đảm bảo rằng ngay

cả những yêu cầu có mức độ ưu tiên thấp cuối cùng cũng được xử lý|4]

1.1.2.2 Nhược điểm

Hiệu suất kém cho các yêu cầu dài: Các tiên trình dài có thê làm cho các

tiễn trình ngắn phải chờ đợi lâu[4]

Không hiệu quả về đĩa: Không tối ưu hóa vị trí của dữ liệu trên đĩa, dẫn đến thời gian truy cập đĩa cao

Hiệu ứng đoàn xe: Một tiễn trình dài có thể khiến các tiền trình khác phải

chờ, dẫn đến tích tụ các tiến trình trong hàng đợi

Thời gian chờ đợi trung bình cao: Dẫn đến thời gian chờ đợi trung bình cao nếu có nhiều tiến trình trong hàng đợi[4]

Không xem xét thời hạn và ưu tiên: Không hỗ trợ các yêu cầu về thời hạn

hoặc ưu tiên

1.1.2.3 Ví dụ:

Proces | Arrival Time | Burst Time

S

Trang 8

FƑ— 0 4 10 12

© _ Thời gian đáp ứng trung bình: (0 + 4 + I0 + 12)/4 =6.5

® Thời gian chờ: PI =0, P2 =4, P3 = 10, P4 = 12

¢ _ Thời gian chờ trung bình: (0 +4 + I0 + 12)/4 =6.5

® Thời gian hoàn thành: PI =4, P2 = 10, P3 = 12, P4 = 1§

® Thời gian hoản thành trung bình: (4 + 10 + 12 + 15)/4 = 10.25 1.2 Shortest Job First (SJF)

1.2.1 Nguyên tắc hoạt động của SJF

Shortest Job First là thuật toán lập lịch CPU trong hệ thống máy tính Thuật toán

này sắp xếp các quá trình theo một thời gian thực hiện (execution time) từ thấp đến cao và

lựa chọn qua trinh co thời gian thực hiện ngắn nhất đề thực thi trước

Với SJF, các quá trình mới được đưa vào hàng đợi sẽ được so sánh với các quá

trình đang thực thi, và nếu thời gian thực hiện ngắn hơn thì quá trình mới sẽ được thực thi trước Tuy nhiên, SJF không hoàn toàn công bằng, vì nó có thể dẫn đến tình trạng starvation (quá trình bị đói tài nguyên) Nếu một quá trình có thời gian thực hiện lớn hơn các quá trình khác, nó có thể không được thực thi cho đến khi các quá trình khác đã hoàn thành

> SJF hoạt động tốt trên các hệ thống có nhiều tiễn trình thực hiện ngắn

Trang 9

Ready Queue

1.2.2 Ưu và nhược điểm của nguyên tắc SJE

1.2.2.1 Ưu điểm

Hiệu suất tối ưu cho các yêu cầu ngắn: Thường dẫn đến thời gian chờ và thời gian đáp ứng trung bình thấp nhất[4]

Tối ưu hóa thời gian chờ: Ưu tiên xử lý các tiến trình ngắn nhất, giảm thời

gian chờ tông thé[4]

Phù hợp cho các hệ thống thời gian thực: Trong các hệ thông thời gian thực, việc đáp ứng deadline cho các tiến trình là rat quan trong SJF dam bao rang

Trang 10

các tiền trình quan trọng có thời gian thực hiện ngắn sẽ được thực thi trước, giúp tăng khả năng đáp ứng deadline cho hệ thống

1.2.2.2 Nhược điểm

Khó dự đoán thời gian thực thị: Khó khăn trong việc ước tính thời gian thực thi của các tiến trình|4]

Không công bằng cho các tiến trình dài: Các tiến trình dài có thé phải đợi rất lâu nếu liên tục có các tiên trình ngắn đến[4]

Không xem xét thời hạn: Không phù hợp cho các hệ thông yêu câu thời hạn

cu thé

Gây ra tình trạng chết đói: Nếu liên tục có các tiên trình mới với thời gian thực hiện ngắn hơn được đưa vào hệ thống, các tiễn trình có thời gian thực hiện lâu

hơn có thê bị bỏ đói và không bao giờ được thực thi Điều này có thể dẫn đến việc

một số tiễn trình không thê hoàn thành, ảnh hưởng đến hiệu quả hoạt động của hệ

thong[4]

1.2.2.3 Ví dụ:

Proces | Arrival Time | Burst Time

s

¢ Thời gian đáp tng trung binh: (0 + 9 + 4 + 6)/4 =4.75

Trang 11

® Thời gian chờ: P,=0,P;= 7, P; = I,P¿=0

e© Thời gian chờ trung bình: (0+ 7+1 +03⁄4=2

® - Thời gian hoàn thành: Pị = 4, P; = I5, P; =6, P,=9

e _ Thời gian hoàn thành trung bình: (4 + 15 +6 + 9)/4 =8.5 1.3 Shortest Remaining Time First (SRTF)

1.3.1 Nguyên tắc hoạt động của SRTF

Shortest Remaining Time First la phién ban ưu tiên của SJF

SRTF là một thuật toán lập lịch CPU được coi là phiên ban ngắt quãng

(preemptive) của thuật toan Shortest Job First (SJF) Giống như SJF, SRTF ưu tiên

thực thi tiễn trình có thời gian còn lại ngắn nhất đề giảm thiểu thời gian chờ đợi

trung bình

Tuy nhiên, điểm khác biệt chính của SRTF là nó cho phép ngắt quãng (preempt) tién trinh dang chay néu có tiễn trình mới xuất hiện với thời gian còn lại ngắn hơn

Ready Queue

Trang 12

Ready Queue

1.3.2 Ưu và nhược điểm của nguyên tắc SRTE

1.3.2.1 Ưu điểm

Tối ưu hóa thời gian chờ đợi: Giống như SJF, nhưng thêm tính năng

ưu tiên các tiễn trình có thời gian thực thi còn lại ngắn nhất, giúp tối ưu hóa thời gian chờ đợi

Thời gian đáp ứng tốt hơn: Thường có thời gian đáp ứng tốt hơn SJF

vì nó xem xét thời gian thực thi con lai

1.3.2.2 Nhược điểm

Trang 13

Khó dự đoán thời gian thực thị: Tương tự như SJF, khó khăn trong

việc ước tính thời gian thực thi còn lại

Chi phí chuyền đổi ngữ cảnh cao: Có thê gây ra nhiều chuyên đối ngữ cảnh, làm giảm hiệu suât hệ thông

_ Khong cong bằng cho các tiền trình dài: Các tiến trình dài có thể phải chờ rât lâu, tương tự như SJF

1.3.2.3 Ví dụ:

5

P

Ð;

P3

1.4 Round Robin (RR)

Proces Arrival Time | Burst Time

0

2

3

Thời gian đáp ứng: P, = 0, P, = 9, P; =4, Py = 6

Thời gian dap ứng trung binh: (0 + 9 + 4 + 6)/4 =4.75 Thời gian chờ: P; = 0, P2 =7, P3=1, Ps =0

Thoi gian cho trung binh: (0 + 7+ 1+ 0)/4 =2 Thời gian hoàn thành: Pị = 4, P; = 15, P; =6, P¿= 9 Thời gian hoàn thành trung bình: (4 + 15 + 6 + 93⁄4=8.5 1.4.1 Nguyên tắc hoạt động của RR

RoundRobm là một thuật toán lập lịch CPU đơn giản và được sử dụng pho

biến trong các hệ thống chia sẻ thời gian Nó hoạt động dựa trên nguyên tắc vòng tròn (round robin), tức là lần lượt cấp cho mỗi tiến trình một khoảng thời gian nhất

định (time slice) đề thực thi Sau khi hét time slice, tién trinh đó bị tạm dừng và

nhường CPU cho tiến trình tiếp theo trong hàng đợi Nếu tiền trình chưa hoàn

thành thì nó sẽ được thêm lại vào cuối hàng đợi đề chờ đợi lượt thực thi tiếp theo.

Trang 14

Ready Queue

mm e6

Ready Queue

E35

Ready Queue

BE

1.4.2 Ưu và nhược điểm của nguyên tắc RR

1.4.2.1 Ưu điểm

Tính công bằng cao: Mỗi tiến trình được cấp phát một khoảng thời gian (quantum) đề thực thi, dam bao rang tat ca các tiên trình đều có cơ hội

chạy

Thời gian đáp ứng tốt: Thích hợp cho hệ thống thời gian chia sẻ vì nó cung cấp thời gian đáp ứng tốt cho các tiến trình

Khả năng thích ứng cao: Có thê dễ dàng điều chỉnh khoảng thời gian

quantum đề phù hợp với khối lượng công việc khác nhau

1.4.2.2 Nhược điểm

Hiệu suất phụ thuộc vào quantum: Hiệu suất hệ thông phụ thuộc vào việc chọn khoảng thời gian quantum Nếu quantum quá lớn, RR gần giống FCES: nếu quá nhỏ, có thê dẫn đến quá nhiều chuyên đôi ngữ cảnh[4] Chi phí chuyên đối ngữ cảnh: Chi phí chuyên đối ngữ cảnh có thê cao néu quantum quá nhỏ, làm giảm hiệu suất hệ thông|[4]

1.4.2.3 Ví dụ

Proces | Arrival Time | Burst Time

S

Trang 15

mim i

Với q=3

Sơ đồ Gantt

© Thời gian đáp ứng trung bình: (0 + 3 +6 + 93⁄4 =4.5

e Thời gian chờ: Pị=5, P;=7, Pạ =3, Pạ= 3

© Thời gian chờ trung bình: (Š +7 +3 +3)⁄4=4.5

® Thời gian hoàn thành: Pị =9, P; = 15, P; =8, P¿ = 12

¢ _ Thời gian hoàn thành trung bình: (9 + 15 + 8+ 12)/⁄4 = II 1.5 Đánh giá các thuật toán

0

Waiting Time and Avg Waiting Time

@FCFS SSJF

@RR

PS

Hình I: So sánh Thời gian chờ của các thuật toán lập lich[4]

Trang 16

Time

25

20

@FCFS

15

aSJF

10 =RR

2ì =PS

o4

Process ID

Hình 2: So sanh thoi gian quay vòng của thuật toán lập lich co ban[4]

Nhìn vào có thê thấy được thuật toán SJF cho thời gian chờ và thời gian quay vòng

tốt hơn

FCEFS là thuật toán đơn giản nhất, thuật toán này chỉ phù hợp với các hệ thông có

thời gian chờ lớn[3]

Với RR, phù hợp với các hệ thống có nhiều tiền trình, các tiến trình ngắn

Với SIF và SRTF có thê xuất hiện hiện tượng đói CPU khi có liên tục có các tiến

trình ngắn nạp vào dẫn đến các tiến trình dài không được xử lí gây ra hiện tượng déi CPU(starvation)

Nếu thời gian sử dụng của các tiễn trinh nhu nhau thi SRTF =FCFS

Nếu thời gian sử dụng của các tiễn trình là biến động lớn thì SRTF, RR giúp cho các tiền trình có thời gian ngắn không chờ quá lâu

Với RR nếu như tiến trình có thời gian sử dụng CPU gần nhau thì không hiệu quả Còn nếu như tiến trình có thời gian q quá lớn thì sẽ giống như FCFS, còn nếu quá nhỏ thì gây ra thời gian Overhead lớn dẫn đến không hiệu quả

FCFS sẽ phù hợp với các hệ thống có tiến trình mà có thời gian lớn SJF và SRTF

sẽ phù hợp với các tiễn trình có biến động lớn RR phù hợp với các hệ thông có

Ngày đăng: 02/08/2024, 16:20

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w