CHƯƠNG 1 – BÀI TOÁN Trong báo cáo này, tôi đã được phân công thực hiện các bài tập như sau: Bài tập 1 nói về Bài toán định thời CPU Bài tập 2 nói về Bài toán đồng bộ Bài tập 3 nói về Bài
Trang 1TỔNG LIÊN ĐOÀN LAO ĐỘNG VIỆT NAM
BÁO CÁO CUỐI KÌ MÔN NHẬP MÔN HỆ ĐIỀU HÀNH
BÁO CÁO CUỐI KÌ MÔN NHẬP MÔN
HỆ ĐIỀU HÀNH
Người hướng dẫn: Trần Trung Tín
Người thực hiện: Đoàn Phương Nam - 52000895
Lớp : 20050261
Khoá : 24
THÀNH PHỐ HỒ CHÍ MINH, NĂM 2021
TỔNG LIÊN ĐOÀN LAO ĐỘNG VIỆT NAM
Trang 2BÁO CÁO CUỐI KÌ MÔN NHẬP MÔN HỆ ĐIỀU HÀNH
BÁO CÁO CUỐI KÌ MÔN NHẬP MÔN
Trang 3L ỜI CẢM ƠN
Tôi xin chân thành cảm ơn
Thầy Trần Trung Tín – Khoa Công nghệ thông tin đã hỗ trợ em trong việc hướng dẫn và giúp em hoàn thành bài báo cáo này
………
………
………
………
TP Hồ Chí Minh, ngày 20 tháng 7 năm 2021
Tác giả (Ký tên và ghi rõ họ tên)
Trang 4
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ự
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ố
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
Ngoài ra, trong Báo cáo cuối kì 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
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ó)
Tác giả
(Ký tên và ghi rõ họ tên)
Đoàn Phương Nam
Trang 5TÓM T T ẮHiện tại bài báo cáo của em đã hoàn thành gần như là đủ, em không làm được bài toán đồng bộ hóa nên em chỉ thiếu 1 câu trong tổng số câu mà thầy/cô đã giao cho
em
Với Chương 1 là gồm những bài toán mà thầy đã giao bao gồm Bài toán định thời CPU,Bài toán đồng bộ hóa,Bài toán Banker,Bài toán phân trang,Bài toán thay thế trang và bài toán cấp phát liên tục
Ở Chương 2 là gồm những câu lý thuyết mà thầy đã chỉ định bao gồm những nội dung về Lý thuyết định thời CPU,Lý thuyết đồng bộ,Đĩa cứng và tập tin
Hiện tại bài em đã hoàn tất các câu,nếu có gì sai sót mong thầy cô bỏ qua
Trang 6MỤC LỤC
LỜI CẢM ƠN ii
TÓM TẮT iv
MỤC LỤC v
DANH MỤC BẢNG vi
DANH MỤC HÌNH VẼ vii
CHƯƠNG 1 – BÀI TOÁN 1
1.1 Bài toán định thời CPU 1
1.2 Bài toán đồng bộ hóa 3
1.3 Bài Toán Banker 4
1.4 Bài toán phân trang 7
1.5 Bài toán Thay thế trang 8
1.6 Bài toán cấp phát liên tục 9
CHƯƠNG 2 LÝ THUYẾT- 10
2.1 Lý thuyết định thời CPU 11
2.2 Lý thuyết đồng bộ 12
2.3 Đĩa Cứng 14
2.4 Tập tin 15
TÀI LIỆU THAM KHẢO 17
Trang 7DANH M C B NG V Ụ Ả Ẽ
Bảng 1.1 1Thông tin dữ liệu bài toán 1
Bảng 1.1 2 Biểu đồ Gantt với thuật toán lập lịch First – Come, First Served 2– Bảng 1.1 3 Biểu đồ Gantt với thuật toán lập lịch Shortest-Job-First 2
Bảng 1.1 4 Biểu đồ Gantt với thuật toán lập lịch với thông tin nhin trước SJF 2 Bảng 1.2 1 Bảng Bộ đọc – Bộ ghi 3
Bảng 1.3 1 Thông tin cấp phát một hệ thống 4
Bảng 1.3 2 Ma Trận Need 4
Bảng 1.3 3 Ma Trận Work 5
Bảng 1.3 4 Ma Trận Need đã yêu cầu cấp thêm cho P1 5
Bảng 1.3 5 Ma Trận Work đã yêu cầu cấp thêm cho P1 6
Bảng 1.5 1 Thuật toán thay thế trang LRU 8
Bảng 1.6 1 Thuật toán Best fit 9
Trang 8DANH M C HÌNH V Ụ Ẽ
Hình 2.2 1 Thuật toán Peterson 13 Hình 2.4 1 Truy cập tuần tự 15 Hình 2.4 2 Truy cập ngẫu nhiên 16
Trang 9CHƯƠNG 1 – BÀI TOÁN
Trong báo cáo này, tôi đã được phân công thực hiện các bài tập như sau: Bài tập 1 nói về Bài toán định thời CPU
Bài tập 2 nói về Bài toán đồng bộ
Bài tập 3 nói về Bài toán BANKER
Bài tập 4 nói về Phân Trang
Bài tập 5 nói về Thay thế Trang
Bài tập 6 nói về Cấp phát liên tục
a Thời gian quay vòng trung bình (average turnaround time) của các tiến trình này là bao nhiêu với thuật toán lập lịch FCFS? Vẽ biểu đồ thời gian
b Thời gian quay vòng trung bình của các tiến trình này là bao nhiêu với thuật toán lập lịch SJF? Vẽ biểu đồ thời gian
c Thuật toán SJF được cho là có cải thiện hiệu suất, nhưng chú ý rằng chúng ta đã chọn chạy tiến trình P1 tại thời điểm 0 vì chúng ta không biết rằng hai tiến trình ngắn hơn sẽ sớm đến hàng đợi lập lịch Tính thời gian quay vòng trung bình sẽ là bao nhiêu nếu CPU không hoạt động trong 1.0 đơn vị thời gian đầu tiên và sau đó giải thuật lập lịch SJF được sử dụng Hãy nhớ rằng tiến trình P1 và P2 đang chờ trong thời gian nhàn rỗi này,
vì vậy thời gian chờ của chúng có thể gia tăng Thuật toán này có thể
Trang 10được gọi là lập lịch với thông tin nhìn trước (future-knowledge
scheduling)
Thời gian chờ của P1 =0;P2 =5-0.4=4.6;P3 = 9-1 = 8
0 0.4 4.4 9 18
Thời gian chờ của P1 = 4.4 – 0.4 = 4;P2 = 0.4 – 0.4 = 0;P3 = 9-1 = 8
Thời gian quay trung bình: ( ((0.4 – 0)+ (9-0))+(4.4 – 0.4)+(18 -1) )/3 =10.13 c.) Với giải thuật lập lịch thông tin nhìn trước ta có được:
0 1 10 14 19
Thời gian đợi trung bình: (14 + 9.6 + 0 )/3 = 7.86666
Thời gian quay trung bình: ((19–0) + (14–0.4) + (10–1))/3=13.8666
1.1.3 Tài liệu kham khảo
Trang 111.2 Bài toán đồng b hóa ộ
1.2.1 Cho dữ liệu bài toán
Cho tham số bài toán Bộ đọc – Bộ ghi như sau:
1.2.2 Giải quyết bài toán
1.2.3 Tài liệu kham khảo
Trang 121.3 Bài Toán Banker
1.3.1 Cho dữ liệu bài toán
Cho thông tin cấp phát trong một hệ thống như sau:
Áp dụng giải thuật Nhà băng để trả lời câu hỏi sau:
a Giá trị các phần tử trong ma trận Need?
b Hệ thống có đang ở trong trạng thái an toàn không?
c Tiểu trình T1 yêu cầu cần cấp thêm (0,4,9,0), hệ thống có thể đáp ứng ngay lập tức không?
1.3.2 Giải quyết bài toán
a Ma Trận Need: Need = Max – Allocation
Trang 13b Hệ thống không tồn tài ở trạng thái an toàn
c Tiểu trình T1 yêu cầu cần cấp thêm (0,4,9,0), hệ thống có thể đáp ứng ngay lập tức không?
Trang 14Không đáp ứng ngay lập tức được vì T1 vẫn đang thiếu tài nguyên chưa được cấp phát
Hệ thống không tồn tại thứ tự an toàn
1.3.3 Tài liệu kham khảo
Trang 151.4 Bài toán phân trang
1.4.1 Cho dữ liệu bài toán
Giả sử kích thước trang là 4 KB, số trang và độ dịch cho các tham chiếu địa chỉ sau (được cung cấp dưới dạng số thập phân) là gì? Giải thích
1.4.2 Giải quyết bài toán
Cho kích thước trang là 4KB -> 4096B
Vì vậy độ dịch là 12 chữ số (từ phải qua trái) và Số trang là phần còn lại
B2: Đổi số thập phân -> số nhị phân
B3: Chia đôi số nhị phân thành 2 phần ( Số trang, độ dịch), với đô dịch là n chữ số (từ phải qua), phần còn lại là số trang
Trang 161.5 Bài toán Thay th trang ế
1.5.1 Cho dữ liệu bài toán
Xem xét chuỗi tham chiếu trang sau:
1.5.3 Tài liệu kham khảo
Trang 171.6 Bài toán c p phát liên t c ấ ụ
1.6.1 Cho dữ liệu bài toán
F3(49 MB) F4(205MB) F5(300
MB)
F6(185 MB) Best fit P4(75MB) P6(80MB) P2(15MB) P1(200MB) P5(175MB) P3(185MB)
Thuật toán tối ưu đặt các tiến trình theo thứ tự: P4,P6,P2,P1,P5,P3
Best fit: Chọn đoạn trống nhỏ nhất nhưng đủ lớn để thỏa mãn nhu cầu
1.6.3 Tài liệu kham khảo
Trang 18CHƯƠNG 2 - LÝ THUYẾT
1 Lý thuyết định thời CPU: Mô tả những lợi ích của việc sử dụng đa xử lý không đồng nhất trong một hệ thống di động
2 Lý thuyết đồng bộ: Tình trạng cạnh tranh (race condition) có thể xuất hiện trong nhiều hệ thống máy tính Hãy xem xét một hệ thống đấu giá trực tuyến trong đó giá đấu cao nhất hiện thời cho mỗi mặt hàng phải được duy trì Một người muốn đặt giá đấu cho một mặt hàng sẽ gọi hàm bid(số tiền), hàm này
sẽ so sánh số tiền đang được đặt giá đấu với giá đấu cao nhất hiện tại Nếu số tiền vượt quá giá đấu cao nhất hiện thời, giá đấu cao nhất sẽ được đặt thành
số tiền mới Điều này được minh họa dưới đây:
Trang 19Lợi ích của việc sử dụng đa xử lý không đồng nhất:
• Giải pháp đa xử lý không đồng nhất không có giới hạn về lõi hoặc cụm
• Giải pháp đa xử lý không đồng nhất có thể quản lý với sự thay đổi của quyền lực và đặc tính hiệu suất của các tác vụ đang chạy
• Tất cả các nhiệm vụ đang chạy có thể được phân bổ lại cho lõi khác trong một cụm khác ở giữa nhiệm vụ đang chạy theo sự thay đổi của hiệu suất và yêu cầu năng lượng của tác vụ
• Giải pháp đa xử lý không đồng nhất mang lại sự linh hoạt và hiệu quả cao nhất cho hiệu suất và sức mạnh cần thiết cho CPU di động
• Hoạt động mạnh mẽ khi tất cả các lõi chạy cùng lúc trong trường hợp khối lượng công việc nặng nhất
Trang 202.2 Lý thuyết đồng b ộ
Tình trạng cạnh tranh (race condition) có thể xuất hiện trong nhiều hệ thống máy tính Hãy xem xét một hệ thống đấu giá trực tuyến trong đó giá đấu cao nhất hiện thời cho mỗi mặt hàng phải được duy trì Một người muốn đặt giá đấu cho một mặt hàng sẽ gọi hàm bid(số tiền), hàm này sẽ so sánh số tiền đang được đặt giá đấu với giá đấu cao nhất hiện tại Nếu số tiền vượt quá giá đấu cao nhất hiện thời, giá đấu cao nhất sẽ được đặt thành số tiền mới Điều này được minh họa dưới đây:
• Điều kiện xãy ra cạch tranh (race condition) như trên là việc đấu giá online
và đấu giá một mặt hang có giá tiền và giá tiền sẽ so sánh với giá đấu cao nhất tại thời điểm đó,kết quả có thể khác biết tùy thuộc vào giá tiền được đấu giá
• Điều xãy ra là việc đấu giá online sẽ tác động lên thao tác lên dữ liệu ( giá tiền ) và luôn cập nhật thường xuyên để người đấu giá có thể đấu giá chính xác mức giá định chọn
• Các trường hợp có thể xãy ra trong việc đấu giá :
+ Có quá nhiều người đấu giá trong cùng một mặt hàng làm cho việc đồng bộ có thể xãy ra tắc nghẽn và việc cập nhật mức giá mặt hàng chở nên chậm đi
+ Khi một người đấu giá mặt hàng đó quá nhiều lần trong khi một người khác chưa được đấu giá, xãy ra việc ưu tiên trong việc đấu giá để đồng bộ giá tiền mặt hàng
Trang 21• Giải pháp:
Sử dụng 2 thuật toán : Peterson và Semaphore (ưu tiên)
+ Thuật toán Peterson: sẽ có 2 biến turn và flag
turn: giá trị thể hiện cho tiến trình nào được mời vào đoạn mã nguy cơ
flag: báo hiệu một tiến trình có nhu cầu thực thi đoạn mã nguy cơ tại thời điểm xét hay không
+Thuật toán Semaphore: Công cụ đồng bộ mà không bị hạn chế bận chờ đợi dùng các thao tác định kèm: wait() và signal()
Chúng ta có thể thêm Bộ quan sát(Monitor) vào trong hệ thống đấu giá để cung cấp
cơ chế đồng bộ hiệu quả và tiện lợi
Wait() – Tiến trình đã được thực hiện gọi sẽ bị tạm dừng cho đến khi có thực thi lệnh signal()
Thuận lợi việc dùng thuật toán này:
+ Chỉ duy nhất một người được hoạt động bên trong một bộ quan sát tại một thời điểm nhất định
+Có thể tùy biến các biến số điều kiện để tạm dừng hay khởi chạy lại một tiến trình
Trang 24Truy cập ngẫu nhiên:
trong máy tính hoạt động truy cập ngẫu nhiên
ngẫu nhiên
chúng hoạt động tốt trong việc sửa đổi nhanh chóng
TRUY CẬP
NGẪU NHIÊN
Trang 25TÀI LI U THAM KH O Ệ Ả
CHƯƠNG 2 – LÝ THUYẾT