Bài giảng cung cấp cho người học các kiến thức: Tiến trình là gì?; Trạng thái của tiến trình; Khối điều khiển tiến trình (PCB); Thao tác trên tiến trình; Điều phối (lập lịch) tiến trình; Truyền thông liên tiến trình. Mời các bạn cùng tham khảo nội dung chi tiết.
TIẾN TRÌNH ThS Nguyễn Thị Hải Bình Khoa CNTT, ĐH Giao thông vận tải Email: calmseahn@gmail.com Website: calmseahn.weebly.com NỘI DUNG • Tiến trình gì? • Trạng thái tiến trình • Khối điều khiển tiến trình (PCB) • Thao tác tiến trình • Điều phối (lập lịch) tiến trình • Truyền thơng liên tiến trình TIẾN TRÌNH LÀ GÌ? • Tiến trình chương trình thực • Được xem đơn vị làm việc Hệ điều hành • Chương trình vs Tiến trình • Chương trình • Thực thể tĩnh • Khơng sở hữu tài ngun cụ thể • Tiến trình • Thực thể động • Được cấp số tài nguyên (memory, CPU Registers) để chứa liệu thực lệnh TIẾN TRÌNH LÀ GÌ? • Các hoạt động tiến trình thể qua đếm chương trình (program counter) nội dung ghi (registers) xử lý PROCESS IN MEMORY • Text section (Đoạn mã lệnh) • Chứa mã lệnh chương trình (compiled program code) • Data section (Đoạn liệu) • Chứa biến tồn cục (global variables) biến static • Khởi tạo trước thực thi hàm main • Heap • Dành cho cấp phát nhớ động (dynamic memory allocation) • Được quản lý thơng qua hàm: new, delete, malloc, free, etc • Stack • Dành cho biến cục (local variables) Figure credit: Abraham Silberschatz, Greg Gagne, and Peter Baer Galvin, "Operating System Concepts, Ninth Edition ", Chapter Figure credit: https://cg2010studio.wordpress.com/2011/06/26/process-in-memory/ TRẠNG THÁI CỦA TIẾN TRÌNH • Khi thực hiện, trạng thái tiến trình thay đổi • Trạng thái tiến trình xác định hoạt động thời • Tiến trình nhận trạng thái sau: • New (Khởi tạo) – tiến trình khởi tạo • Ready (Sẵn sàng) – tiến trình chờ cấp CPU để thực thi lệnh • Running (Thực hiện) – câu lệnh tiến trình thực • Waiting (Chờ đợi) – tiến trình tạm dừng để chờ tài nguyên kiện • Terminated (Kết thúc) – tiến trình thực xong Figure credit: Abraham Silberschatz, Greg Gagne, and Peter Baer Galvin, "Operating System Concepts, Ninth Edition ", Chapter KHỐI ĐIỀU KHIỂN TIẾN TRÌNH • Process Control Block (PCB) • Cấu trúc thông tin cho phép xác định tiến trình Figure credit: Abraham Silberschatz, Greg Gagne, and Peter Baer Galvin, "Operating System Concepts, Ninth Edition ", Chapter KHỐI ĐIỀU KHIỂN TIẾN TRÌNH • Các thơng tin PCB • • • • Process state (Trạng thái tiến trình) Program counter (Bộ đếm chương trình) CPU registers (Các ghi) CPU scheduling information (Thông tin điều phối tiến trình) • Mức độ ưu tiên tiến trình, vị trí hàng đợi, … • Memory management information (Thơng tin nhớ tiến trình) • Accounting information (thông tin thống kê): • Thời gian sử dụng CPU, giới hạn thời gian • I/O status information • Danh sách thiết bị vào/ra cấp phát cho tiến trình, file mở 10 Figure credit: Abraham Silberschatz, Greg Gagne, and Peter Baer Galvin, "Operating System Concepts, Ninth Edition ", Chapter 19 CÁC HÀNG ĐỢI ĐIỀU PHỐI • Trong suốt thời gian tồn tiến trình di chuyển hàng đợi 20 BỘ ĐIỀU PHỐI – SCHEDULER Lựa chọn tiến trình hàng đợi • Điều phối dài hạn (Job scheduler; Long-term scheduler) • Điều phối ngắn hạn (CPU scheduler; Short-term scheduler) 21 BỘ ĐIỀU PHỐI DÀI HẠN • Thuật ngữ: Job scheduler, long-term scheduler • Trong hệ thống lơ, số lượng tiến trình đưa vào hệ thống thường nhiều số lượng tiến trình thực thi • Các tiến trình lưu trữ tạm thời thiết bị lưu trữ (mass-storage device), thường ổ đĩa (disk) • Bộ điều phối dài hạn lựa chọn tiến trình từ nhóm để tải vào nhớ 22 BỘ ĐIỀU PHỐI DÀI HẠN • Bộ điều phối dài hạn kiểm sốt mức độ đa chương trình (số lượng tiến trình nhớ) • Nếu mức độ đa chương trình ổn định, điều phối dài hạn gọi có tiến trình rời hệ thống • Điều phối khơng thường xun • Đơn vị giây/phút • Lựa chọn tiến trình: • Tiến trình thiên vào/ra (I/O bound) • Tiến trình thiên CPU (CPU bound) • Cần lựa chọn loại tiến trình • Trong nhiều hệ thống, khơng có điều phối dài hạn • Ví dụ: Time-sharing system, như: Unix, Microsoft Windows 23 BỘ ĐIỀU PHỐI NGẮN HẠN • Thuật ngữ: CPU scheduler, short-term scheduler • Lựa chọn tiến trình từ ready queue phân phối CPU cho • Được thực thường xun • Phải thực nhanh • Thuật tốn lựa chọn tiến trình? 24 BỘ ĐIỀU PHỐI TRUNG HẠN • Thuật ngữ: Medium-term scheduler • Trong số hệ chia sẻ thời gian (time-sharing systems), có thêm điều phối trung hạn • Nhiệm vụ • Đưa tiến trình khỏi nhớ (làm giảm mức độ đa chương trình) • Sau đưa tiến trình trở lại tiếp tục thực • Mục đích • Giải phóng vùng nhớ, tạo vùng nhớ tự rộng 25 BỘ ĐIỀU PHỐI TRUNG HẠN 26 CHUYỂN ĐỔI GIỮA CÁC TIẾN TRÌNH • Thơng tin tiến trình thời (chứa PCB) gọi ngữ cảnh (context) tiến trình • Việc chuyển tiến trình cịn gọi chuyển đổi ngữ cảnh (context switch) • Xảy khi: • Có ngắt • Tiến trình gọi lời gọi hệ thống • Trước chuyển sang thực tiến trình khác, ngữ cảnh lưu vào PCB • Khi cấp phát CPU thực trở lại, ngữ cảnh khôi phục từ PCB vào ghi bảng tương ứng 27 Figure credit: Abraham Silberschatz, Greg Gagne, and Peter Baer Galvin, "Operating System Concepts, Ninth Edition ", Chapter 28 TRUYỀN THƠNG LIÊN TIẾN TRÌNH • Phân loại tiến trình • Hợp tác tiến trình • Hai mơ hình truyền thơng liên tiến trình • Shared memory systems • Message passing systems 29 PHÂN LOẠI TIẾN TRÌNH • Tiến trình • Điểm bắt đầu tiến trình nằm sau điểm kết thúc tiến trình • Tiến trình song song • Điểm bắt đầu tiến trình nằm điểm bắt đầu kết thúc tiến trình • Tiến trình độc lập • Tiến trình hợp tác 30 HỢP TÁC TIẾN TRÌNH • Mục đích • • • • Chia sẻ thơng tin Tăng tốc độ tính tốn Module hố Tiện dụng • u cầu chế: • Truyền thơng tiến trình • Đồng hố hoạt động tiến trình 31 HAI MƠ HÌNH CƠ BẢN CỦA TRUYỀN THƠNG LIÊN TIẾN TRÌNH • Shared Memory • Một vùng nhớ chung thiết lập cho tiến trình hợp tác • Các tiến trình trao đổi thông tin việc đọc (reading) ghi (writing) liệu vào vùng nhớ chung • Nhanh • Khó set up • Khơng dùng hệ đa máy tính (multiple computers) • Message Passing • Các tiến trình trao đổi thơng tin thơng qua hình thức truyền thơng điệp • Dùng chia sẻ lượng thơng tin nhỏ, hệ đa MT • Dễ lập trình Shared Memory • Chậm cần đến lời gọi hệ thống (System calls) 32 33 ... gian giới hạn • Do quản trị hệ thống hệ điều hành kết thúc 15 ĐIỀU PHỐI TIẾN TRÌNH • Mục tiêu • Các hàng đợi điều phối (Scheduling queues) • Bộ điều phối (Scheduler) 16 ĐIỀU PHỐI TIẾN TRÌNH • Thuật... xuyên • Phải thực nhanh • Thuật tốn lựa chọn tiến trình? 24 BỘ ĐIỀU PHỐI TRUNG HẠN • Thuật ngữ: Medium-term scheduler • Trong số hệ chia sẻ thời gian (time-sharing systems), có thêm điều phối... ngắn hạn (CPU scheduler; Short-term scheduler) 21 BỘ ĐIỀU PHỐI DÀI HẠN • Thuật ngữ: Job scheduler, long-term scheduler • Trong hệ thống lơ, số lượng tiến trình đưa vào hệ thống thường nhiều số lượng