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

Nội dung

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

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

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ụ:

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 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

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ụ:

¢ 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

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

5

P

Ð; P3

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

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]

Trang 15

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ó

Trang 17

nhiều tiến trình ngắn, hoặc các tiễn trình đó có biến động lớn về thời gian hoàn thành.

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