Ở phần 1, tôi được giao tìm hiểu và trả lời về mối quan hệ giữa các cặp thuật toán.. Phần 2, tôi sẽ làm về đánh đổi giữa sự công bằng và thông lượng của các hoạt động của bài toán Bộ ghi
Trang 1TỔNG LIÊN ĐOÀN LAO ĐỘNG VIỆT NAM TRƯỜNG ĐẠI HỌC TÔN ĐỨC THẮNG
KHOA CÔNG NGHỆ THÔNG TIN
BÀI TẬP LỚN/ĐỒ ÁN CUỐI KÌ MÔN NHẬP MÔN HỆ ĐIỀU HÀNH
Người hướng dẫn: GV Trần Trung Tín
Lớp :20H50203
THÀNH PHỐ HỒ CHÍ MINH, NĂM 2021
TỔNG LIÊN ĐOÀN LAO ĐỘNG VIỆT NAM
TRƯỜNG ĐẠI HỌC TÔN ĐỨC THẮNG
Trang 2BÁO CÁO CUỐI KÌ MÔN NHẬP MÔN HỆ ĐIỀU HÀNH
Người hướng dẫn: GV Trần Trung Tín
Lớp :20H50203
THÀNH PHỐ HỒ CHÍ MINH, NĂM 2021
Trang 3LỜI CẢM ƠN
Tôi xin chân thành cảm ơn GV Trần Trung Tín, người đã hỗ trợ cũng như giải đáp các thắc mắc về bài báo cáo Thầy đã có những thay đổi về bài báo cáo để có thể tốt nhất cho sinh viên nói chung và bản thân tôi nói riêng
Trang 4Iii
BÁO CÁO ĐƯỢC HOÀN THÀNH TẠI TRƯỜNG ĐẠI HỌC TÔN ĐỨC THẮNG
Tôi xin cam đoan đây là công trình nghiên cứu của riêng tôi và được sự hướng dẫn khoa học của GV Trần Trung Tín Các nội dung nghiên cứu, kết quả trong đề tài này là trung thực và chưa công bố dưới bất kỳ hình thức nào trước đây Những số liệu trong các bảng biểu phục vụ cho việc phân tích, nhận xét, đánh giá được chính tác giả thu thập từ các nguồn khác nhau có ghi rõ trong phần tài liệu tham khảo
Ngoài ra, trong Khóa luận/Đồ án tốt nghiệp còn sử dụng một số nhận xét, đánh giá cũng như số liệu của các tác giả khác, cơ quan tổ chức khác đều có trích dẫn và chú thích nguồn gốc
Nếu phát hiện có bất kỳ sự gian lận nào tôi xin hoàn toàn chịu trách nhiệm về nội dung Khóa luận/Đồ án tốt nghiệp của mình Trường Đại học Tôn Đức Thắng không liên quan đến những vi phạm tác quyền, bản quyền do tôi gây ra trong quá trình thực hiện (nếu có)
(
Trang 5TÓM TẮT
Nội dung bài báo cáo xoay quanh 7 phần theo Report topic thuộc môn Nhập Môn Hệ Điều Hành Ở phần 1, tôi được giao tìm hiểu và trả lời về mối quan hệ giữa các cặp thuật toán Phần 2, tôi sẽ làm về đánh đổi giữa sự công bằng và thông lượng của các hoạt động của bài toán Bộ ghi bộ đọc Kế tiếp là phần 3, tôi sẽ xử lý và trả - lời các câu hỏi về thuật toán Banker tìm giá trị của x để đây là trạng thái an toàn Cùng với phần 3 thì phần 4, tôi sẽ thực hiện bài toán cấp phát bộ nhớ cụ thể hơn là best-fit Còn phần 5 và phần 6 sẽ làm về bài toán liên quan đến phân trang và thay thế trang (Tìm lỗi trang với thuật toán thay thế LRU, FIFO và Tối ưu) Cuối cùng,Phần 7 tôi nhận nhiệm vụ trả lời câu hỏi về vấn đề lưu trữ
Trang 6v
MỤC LỤC
DANH MỤC HÌNH VẼ vii
DANH MỤC BẢNG BIỂU viii
DANH MỤC CÁC CHỮ VIẾT TẮT ix
CHƯƠNG 1 – MỞ ĐẦU 1
1.1 Lí thuyết 1
Câu hỏi 1: LÝ THUYẾT ĐỊNH THỜI CPU 1
Câu hỏi 2: LÝ THUYẾT ĐỒNG BỘ 1
Câu hỏi 3: LƯU TRỮ 1
1.2 Bài tập 1
Bài tập 1: BÀI TOÁN BANKER 1
Bài tập 2: CẤP PHÁT LIÊN TỤC 1
Bài tập 3: PHÂN TRANG 1
Bài tập 4: THAY THẾ TRANG 1
CHƯƠNG 2 – LÝ THUYẾT 2
2.1 Câu hỏi 1 2
2.1.1 Nội dung câu hỏi 2
2.1.1 Lời giải 2
2.2 Câu hỏi 2 2
2.2.1 Nội dung câu hỏi 2
2.2.2 Lời giải 3
2.3 Câu hỏi 3 3
2.3.1 Nội dung câu hỏi 3
2.3.2 Lời giải 3
CHƯƠNG 3 – BÀI TẬP 4
3.1 Bài tập 1: Bài toán Banker 4
3.1.1 Câu hỏi 4
Trang 73.1.2 Lời giải
3.2 Bài tập 2: Cấp phát liên tục 4
3.2.1 Câu hỏi 5
3.2.2 Lời giải 6
3.3 Bài tập 3 : Phân trang 6
3.3.1 Câu hỏi 6
3.3.2 Lời giải 7
3.4 Bài Tập 4: Thay thế trang 7
3.4.1 Câu hỏi 7
3.4.2 Lời giải 8
9
Trang 8vii
DANH MỤC HÌNH VẼ
Trang 9viii
DANH MỤC BẢNG BIỂU
Bảng 3 1 D li ữ ệu bài toán Banker……… 4
B ảng 3 2 Ma trận Need ……… ……… ………
Bảng 3 3 Bảng Work bài toán Banker……… 5
Bảng 3 4 Sơ đồ trình tự c ấp phát……….………
Bảng 3 5 Thu t toán thay th trang LR ậ ế U……….8
Bảng 3 6 Thu t toán thay th ậ ế trang FIFO……….….………….8
Bảng 3 7 Thu t toán thay th ậ ế trang OPT……….….….……….9
Trang 10ix
DANH MỤC CÁC CHỮ VIẾT TẮT
Trang 111
CHƯƠNG 1 – MỞ ĐẦU
Trong báo cáo này tôi được phân công thực hiện các bài tập sau:
1.1 Lí thuyết
Câu hỏi 1: LÝ THUYẾT ĐỊNH THỜI CPU
Câu hỏi 2: LÝ THUYẾT ĐỒNG BỘ
Câu hỏi 3: LƯU TRỮ
1.2 Bài tập
Bài tập 1: BÀI TOÁN BANKER
Bài tập 2: CẤP PHÁT LIÊN TỤC
Bài tập 3: PHÂN TRANG
Bài tập 4: THAY THẾ TRANG
Trang 12CHƯƠNG 2 – LÝ THUYẾT
2.1 Câu hỏi 1
2.1.1 Nội dung câu hỏi
1.2 Nhiều thuật toán lập lịch CPU được tham số hóa Ví dụ: Thuật toán RR yêu cầu một tham số để chỉ ra thời lượng một lần chạy Hàng đợi đa cấp có phản hồi yêu cầu tham số để chỉ ra số lượng hàng đợi, các thuật toán lập lịch cho mỗi hàng đợi, các tiêu chí được sử dụng để di chuyển các tiến trình giữa các hàng đợi, v.v
Do đó, các thuật toán này thực sự là các bộ thuật toán (ví dụ: bộ thuật toán RR cho tất cả các lát cắt thời gian, v.v.) Một bộ thuật toán có thể bao gồm một cái khác (ví dụ: thuật toán RR khi sử dụng giá trị rất lớn cho lượng thời gian thì nó tương tự như giải thuật FCFS) Chỉ ra mối quan hệ (nếu có) giữa các cặp thuật toán sau đây?
a Ưu tiên và SJF
b Hàng đợi phản hồi đa cấp và FCFS
c Ưu tiên và FCFS
d RR và SJF
2.1.1 Lời giải
d RR v SJF: Thươ ng c thơ i gian quay v ng cao , nh ng lư a i c thơ i gian đáp ứng tốt hơn
2.2 Câu hỏi 2
2.2.1 Nội dung câu hỏi
2.3 Nêu rõ các biến thể của bài toán Người đọc – Người ghi Thảo luận về sự đánh đổi giữa sự công bằng và thông lượng của các hoạt động của bài toán Bộ ghi -
bộ đọc Đề xuất một phương pháp để giải quyết bài toán này mà không gây ra sự cạn kiệt tài nguyên
Trang 132.2.2 Lời giải
Thông lượng giữa Người đọc – Người ghi sẽ được tối ưu và tăng lên bằng cách tăng nhiều người đọc hơn thay vì cho phép một người viết độc quyền truy cập Nhưng ngược lại việc ưu tiên người đọc có thể dẫn đến người ghi bị cạn kiệt tài nguyên Để có thể tránh được tình trạng cạn kiệt tài nguyên giữa Người đọc và Người ghi bằng những cách liên quan đến quá trình chờ đợi Khi một người ghi hoàn thành nhiệm vụ của mình, nó sẽ đánh thức quá trình
đã chờ đợi lâu nhất Khi một người đọc đến và thấy rằng một người đọc khác đang truy cập, thì nó chỉ vào phần quan trọng nếu không có người ghi nào đang đợi Những hạn chế này sẽ đảm bảo sự công bằng của các hoạt động của vài toán Bộ ghi – bộ đọc
2.3 Câu hỏi 3
2.3.1 Nội dung câu hỏi
7.4 Với kích thước khối đĩa (block) là 4 KB và giá trị địa chỉ con trỏ khối là
4 byte, kích thước tập tin lớn nhất (tính bằng byte) có thể được truy cập bằng
10 địa chỉ trực tiếp và một khối gián tiếp?
2.3.2 Lời giải
Trang 144
CHƯƠNG 3 – BÀI TẬP
3.1 Bài tập 1: Bài toán Banker
3.1.1 Câu hỏi
3.3 Một hệ thống có bốn tiến trình và tài nguyên có thể phân bổ được Phân bổ hiện tại và nhu cầu tối đa như sau :
B 2 0 1 1 0 2 2 2 1 0
C 1 1 0 1 0 2 1 3 1 0
D 1 1 1 1 0 1 1 2 2 1
Bảng 3.1 Dữ liệu bài toán Banker – Bài tập 1
Giá trị của x là bao nhiêu để đây là trạng thái an toàn?
3.1.2 Lời giải
Need = Max - Allocation
Need
Bảng 3.2 Bảng ma trận Need bài toán Banker – Bài tập 1
Trang 15Nếu Need <= Work thì Work = Work + Allocation
Giả sử thay x = 2
WORK
Bảng 3.3 Bảng Work bài toán Banker – Bài tập 1
Kết luận: Ti n trình A s không bao gi ế ẽ ờ được th c hiện vì need cột th 5 của tiến ự ứ trình A là s 2 nó quá l n so v i các s còn l i trong các tiố ớ ớ ố ạ ến trình mà điều kiện để chạy được là Need <= Work Vì vậy trong bài toán này thì với mọi x sẽ không tồn tại ở trạng thái an toàn
3.2 Bài tập 2: Cấp phát liên tục
3.2.1 Câu hỏi
4.6 Cho sáu phân vùng bộ nhớ đang sẵn sàng gồm 300 KB, 600 KB, 350 KB, 200
KB, 750 KB và 125KB (theo thứ tự), các thuật toán đầu-tiên-vừa, tối ưu và tệ nhất sẽ đặt các tiến trình có kích thước 115 KB, 500 KB, 358 KB, 200 KB và 375 KB (theo
Trang 166
3.2.2 Lời giải
300KB 600KB 350KB 200KB 750KB 125KB
Best-fit
500KB (100KB)
(392KB) 375KB (17KB)
115KB (10KB)
Bảng 3.4 Sơ đồ trình t c p phát Bài t p 2 ự ấ – ậ Thứ ự t :
115KB
500KB
358KB
200KB
375KB
3.3 Bài tập 3: Phân trang
3.3.1 Câu hỏi
5.3 Xem xét một hệ thống phân trang với bảng phân trang được lưu trong bộ nhớ
a Nếu một tham khảo bộ nhớ mất 50 nano giây, thì tham khảo một trang trong bộ nhớ
mất bao lâu?
b Nếu chúng ta thêm TLB và nếu 75% của tất cả các tham khảo bảng phân trang được
tìm thấy trong TLB, thì thời gian tham khảo bộ nhớ hiệu quả là bao nhiêu? (Giả sử rằng
việc tìm một mục trong bảng phân trang trong TLB mất 2 nano giây, nếu mục đó xuất
hiện.)
3.3.2 Lời giải
Trang 17a Có 2 quyền truy cập bộ nhớ: 50 nano giây để truy cập bảng trang và 50 nano giây để truy cập từ trong bộ nhớ
50 * 2 = 100 nano giây
b Thời gian tham khảo bộ nhớ hiệu quả là:
75% * TBL hit-time + 25% * TBL miss-time
=>0.75 * (50 + 2) + 0.25 * ( 100+2)
= 64.5 nano giây
3.4 Bài Tập 4: Thay thế trang
3.4.1 Câu hỏi
6 Xem xét chuỗi tham chiếu trang sau:
1, 2, 3, 4, 2, 1, 5, 6, 2, 1, 2, 3, 7, 6, 3, 2, 1, 2, 3, 6
Có bao nhiêu lỗi trang xảy ra đối với các thuật toán thay thế sau, giả sử hệ thống có
n khung trang?
Hãy nhớ rằng tất cả các khung trang ban đầu đều trống, vì vậy các trang truy cập lần đầu tiên đều
bị lỗi trang
• Thay thế LRU
• Thay thế FIFO
• Thay thế tối ưu
MSSV có chữ số cuối là bao nhiêu thì n là bấy nhiêu Ngoại trừ 3 trường hợp MSSV 0, 8, 9 thì n= 3
3.4.2 Lời giải
Trang 188
Bảng 3.5 Thuật toán thay thế trang LRU – Bài tập 4
Có 7 lỗi trang xảy ra đối với thuật toán LRU
Bảng 3.6 Thuật toán thay thế trang FIFO – Bài tập 4
Có 10 lỗi trang xảy ra đối với thuật toán FIFO
Trang 199
Có 7 lỗi trang xảy ra đối với thuật toán OPT