Bài giảng Hệ điều hành nâng cao - Trần Hạnh Nhi - Chương 1: Tổ chức hệ điều hành
Tại sao phải tìm hiểu về Hệ điều hành ?
? Hệ điều hành là gì ?
? Vai trò trong hệ thống ?
? Chức năng ?
? Kiến trúc ?
? Các nguyên lý thiết kế Hệ điều hành
Tóm tắt nội dung Bài giảng Hệ điều hành nâng cao - Trần Hạnh Nhi - Chương 1: Tổ chức hệ điều hành, để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trên
trình Tiểu trình : 1 dòng xử lý Tiến trình : 1 không gian địa chỉ 1 hoặc nhiều tiểu trình Các tiến trình là độc lập Các tiểu trình trong cùng 1 tiến trình không có sự bảo vệ lẫn nhau (cần thiết ? ). P1 int a; T1 T2 T 3 Simpo PDF Merge and Split Unregistered Version - 11 Tiểu trình hạt nhân (Kernel thread) Khái niệm tiểu trình được xây dựng bên trong hạt nhân T1 T2 HDH System call User mode Kernel mode Simpo PDF Merge and Split Unregistered Version - 12 Tiểu trình người dùng (User thread) Khái niệm tiểu trình được hỗ trợ bởi một thư viện hoạt động trong user mode T1 Kernel T2 User mode Kernel mode T3 LWP1 LWP2 P1 P2 Simpo PDF Merge and Split Unregistered Version - 1Bài 3 : QUẢN LÝ TIẾN TRÌNH Phân chia CPU cho các tiến trình ? Tiếp cận Mục tiêu ? Tổ chức ? Chiến lược ? Trạng thái tiến trình ? Lưu trữ thông tin tiến trình ? Các thao tác trên tiến trình ? Bảo vệ tiến trình ? Trao đổi thông tin giữa các tiến trình ? Simpo PDF Merge and Split Unregistered Version - 2Phân chia CPU ? 1 CPU vật lý : làm thế nào để tạo ảo giác mỗi tiến trình sở hữu CPU riêng của mình ? Dispatcher luân chuyển CPU giữa các tiến trình: Ngữ cảnh xử lý riêng biệt cho mỗi tiến trình (PCB) Dispatching loop : CPU while(1) { interrupt Pcur save state Pcur Scheduler gets Pnext load state Pnext jump to it } Simpo PDF Merge and Split Unregistered Version - 3Trạng thái tiến trình ? ready Rs CPU running Rs CPU blocked Rs CPU Nhận CPU Trả CPU Chờ R Nhận R Simpo PDF Merge and Split Unregistered Version - 4Khối quản lý tiến trình trong mô hình multiprocesses pid State (State, details) Context (IP, Mem, Files…) Scheduling statistic Relatives ( Dad, children) Process control Block PCB Simpo PDF Merge and Split Unregistered Version - 5PCB và TCB trong mô hình multithreads pid Threads list Context (Mem, global ressources…) Scheduling statistic Relatives ( Dad, children) PCB tid State (State, details) Context (IP, local stack…) Thread Control Block TCB Simpo PDF Merge and Split Unregistered Version - 6Các thao tác trên tiến trình Tạo lập tiến trình : Cấp phát tài nguyên cho tiến trình con ? Hoạt động của cha và con độc lập Kết thúc tiến trình : Thu hồi tài nguyên ? Eùp buộc kết thúc ? Thay đổi trạng thái tiến trình : Assign(), Block(), Awake(), Resume(), Suspend() Simpo PDF Merge and Split Unregistered Version - 7Trạng thái tiến trình ? Có nhu cầu Suspend &Resume : Hệ thống quá tải Kiểm soát hoạt động của tiến trình con Simpo PDF Merge and Split Unregistered Version - 8An ninh trật tự cho môi trường đa tiến trình ! Bảo vệ tiến trình : Ngăn cản các tiến trình xâm phạm tài nguyên, can thiệp vàoxử lý của nhau => KGĐC riêng biệt, 2 mode xử lý Bảo đảm quyền tiến triển xử lý cho mỗi tiến trình => công bằng trong các chiến lược phân phối tài nguyên. Trao đổi thông tin , phối hợp hoạt động ? Nhu cầu ? Vấn đề ? => Chương kế tiếp Giải pháp ? Simpo PDF Merge and Split Unregistered Version - 9Các danh sách tiến trình Ready List P1 P4 P5 Waiting Lists R1 P7P2 P10P3 P6 R1 R1 Simpo PDF Merge and Split Unregistered Version - 10 Điều phối tiến trình Mục tiêu ? Các cấp độ điều phối Thời điểm ra quyết định điều phối ? Đánh giá chiến lược điều phối ? Một số chiến lược điều phối Simpo PDF Merge and Split Unregistered Version - 11 Điều phối tiến trình SCHEDULER chọn một tiến trình nhận cpu DISPATCH ER chuyển đổi ngữ cảnh Simpo PDF Merge and Split Unregistered Version - 12 Chuyển đổi ngữ cảnh (context switching) Kịch bản : Lưu ngữ cảnh tiến trình hiện hành Nạp ngữ cảnh tiến trình được chọn kế tiếp Chi tiết cụ thể phụ thuộc vào phần cứng general-purpose & floating point registers, co- processor state… Chi phí chuyển đổi ngữ cảnh : Giữa các tiến trình ? Giữa các tiểu trình ? Simpo PDF Merge and Split Unregistered Version - 13 Chuyển đổi ngữ cảnh giữa các tiến trình Chuyển đổi mode xử lý Chuyển đổi IP và các thanh ghi khác của CPU Chuyển đổi không gian địa chỉ P1 P2 Dispatcher System call User mode Kernel mode Simpo PDF Merge and Split Unregistered Version - 14 Tiểu trình hạt nhân (Kernel thread) Khái niệm tiểu trình được xây dựng bên trong hạt nhân Distpatcher làm việc với đơn vị là tiểu trình T1 T2 Dispatcher System call User mode Kernel mode Simpo PDF Merge and Split Unregistered Version - 15 Tiểu trình người dùng (User thread) Khái niệm tiểu trình được hỗ trợ bởi một thư viện hoạt động trong user mode Distpatcher của hạt nhân làm việc với đơn vị là tiến trình ThreadDistpatcher làm việc với đơn vị là tiểu trình P -– LWP - T Không cần chuyển đổi chế độ xử lý khi chuyển đổi các tiểu trình cùng thuộc 1 tiến trình. T1 Kernel T2 User mode Kernel mode T3 LWP1 LWP2 P1 P2 Simpo PDF Merge and Split Unregistered Version - 16 Lựa chọn tiến trình ? Tác vụ của Scheduler Mục tiêu ? Sử dụng CPU hiệu quả Đảm bảo tất cả các tiến trình đều tiến triển xử lý Tiêu chuẩn lựa chọn ? Tất cả các tiến trình đều như nhau ? Đề xuất một độ ưu tiên cho mỗi tiến trình ? Thời điểm lựa chọn ? (Thời điểm kích hoạt Scheduler()) Simpo PDF Merge and Split Unregistered Version - 17 Mục tiêu điều phối Hiệu qủa (Efficiency) Thời gian Đáùp ứng (Response time) Hoàn tất(Turnaround Time = Tquit -Tarrive): Chờ (Waiting Time = T in Ready ) : Thông lượng (Throughput = # jobs/s ) Hiệu suất Tài nguyên Chi phí chuyển đổi Công bằng ( Fairness) : Tất cả các tiến trình đều có cơ hội nhận CPU Simpo PDF Merge and Split Unregistered Version - 18 Các cấp độ điều phối Longterm scheduling : chọn tiến trình kế tiếp được khởi động (mang vao bộ nhớ và nhận trạng thái ready) Mediumterm scheduling : quyết định chuyển tiến trình đang running sang trạng thái blocked. Shorterm scheduling : chọn 1 tiến trình ở trạng thái ready để chuyển sang trạng thái running. Không có sự phân biệt rõ ràng hoàn toàn giữa 3 cấp Simpo PDF Merge and Split Unregistered Version - 19 Thời điểm ra quyết định điều phối Điều phối độc quyền (non-preemptive scheduling): tiến trình được chọn độc chiếm CPU Điều phối không độc quyền (preemptive scheduling): tiến trình được chọn có thể bị « cướp » CPU bởi tiến trình có độ ưu tiên cao hơn Simpo PDF Merge and Split Unregistered Version - 20 Các chiến lược điều phối FIFO RR SJF MULTILEVELFEEDBACK LOTTERY Simpo PDF Merge and Split Unregistered Version - 21 FIFO – RR -SJF FIFO RR SJF addrun run add Simpo PDF Merge and Split Unregistered Version - 22 Multilevel Feedback priority Simpo PDF Merge and Split Unregistered Version - 23 Lottery 1 11 1 P1 P2 P3 P4 1 17 1 P1 P2 P3 P4 P2 có 25 % cơ hội P2 có 70 % cơ hội Simpo PDF Merge and Split Unregistered Version - 1BÀI 4 : LIÊN LẠC GIỮA CÁC TIẾN TRÌNH & VẤN ĐỀ ĐỒNG BỘ HOÁ CƠ CHẾ ? VẤN ĐỀ ? TRAO ĐỔI THÔNG TIN GIỮA CÁC TIẾN TRÌNH GỈAI PHÁP ? Simpo PDF Merge and Split Unregistered Version - 2Nhu Cầu Liên Lạc Q Lp Chia sẻ thông tin R Phối hợp tăng tốc độ xử lý Q L p JOB Simpo PDF Merge and Split Unregistered Version - 3Các Cơ Chế Liên Lạc Signal Không truyền được dữ liệu Pipe Truyền dữ liệu không cấu trúc Shared Memory Broadcast Mâu thuẫn truy xuất => nhu cầu đồng bộ hoá Message Liên lạc trên môi trường phân tán Socket Liên lạc trên nhiều môi trường khác biệt Simpo PDF Merge and Split Unregistered Version - 4Race condition hits = 0 + 1 read hits (0) hits = 0 + 1 read hits (0) P1 P2 hits = 1 hits = 0 time Kết quả cuối cùng không dự đoán được ! P1 và P2 chia sẻ biến chung hits Simpo PDF Merge and Split Unregistered Version - 5Miền găng (critical section) hits = 0 + 1 read hits (0) hits = 0 + 1 read hits (0) P1 P2 CSCS CS là đoạn chương trình có khả năng gây ra hiện tượng race condition Simpo PDF Merge and Split Unregistered Version - 6Giải pháp tổng quát Bảo đảm tính “độc quyền truy xuất” miền găng tại một thời điểm hits = hits + 1 P1 P2 hits = 2 hits = 0 time hits = hits + 1 Simpo PDF Merge and Split Unregistered Version - 7Mô hình đảm bảo độc quyền truy xuất Kiểm tra và dành quyền vào CS CS; Từ bỏ quyền sử dụng CS Simpo PDF Merge and Split Unregistered Version - 8Rendez-Vous Làm thế nào bảo đảm trình tự thực hiện Job1 - Job2 ? P1 P2 Job1; Job2; Simpo PDF Merge and Split Unregistered Version - 9Giải pháp Hai tiến trình cần trao đổi thông tin về diễn tiến xử lý P1 P2 Job1; Job2; Simpo PDF Merge and Split Unregistered Version - 10 Mô hình tổ chức phối hợp hoạt động giữa hài tiến trình P1 P2 Job1; Chờ ;Báo hiệu ; Job2; Simpo PDF Merge and Split Unregistered Version - 11 Bài toán đồng bộ hoá Nhiều tiến trình chia sẻ tài nguyên chung đồng thời : Tranh chấp ? Nhu cầu “độc quyền truy xuất” (mutual exclusion) Các tiến trình phối hợp hoạt động : Tương quan diễn tiến xử lý ? Nhu cầu “hò hẹn” (rendez-vous) Simpo PDF Merge and Split Unregistered Version -
File đính kèm:
- Bài giảng Hệ điều hành nâng cao - Trần Hạnh Nhi - Chương 1 Tổ chức hệ điều hành.pdf