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. nội dung chi tiết. | Bài giảng Hệ điều hành: Chương - ThS. Nguyễn Thị Hải Bình TIẾN TRÌNH ThS. Nguyễn Thị Hải Bình Khoa CNTT, ĐH Giao thông vận tải Email: calmseahn@ Website: NỘI DUNG • 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 2 TIẾN TRÌNH LÀ GÌ? • Tiến trình là chương trình đang được thực hiện • Được xem là đơn vị làm việc trong cá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 nguyên cụ thể • Tiến trình • Thực thể động • Được cấp một số tài nguyên (memory, CPU Registers) để chứa dữ liệu và thực hiện lệnh 3 TIẾN TRÌNH LÀ GÌ? • Các hoạt động hiện tại của tiến trình được thể hiện qua bộ đếm chương trình (program counter) và nội dung các thanh ghi (registers) của bộ xử lý 4 PROCESS IN MEMORY • Text section (Đoạn mã lệnh) • Chứa mã lệnh của chương trình (compiled program code) • Data section (Đoạn dữ liệu) • Chứa các biến toàn cục (global variables) và biến static • Khởi tạo trước khi thực thi hàm main • Heap • Dành cho cấp phát bộ nhớ động (dynamic memory allocation) • Được quản lý thông qua các hàm: new, delete, malloc, free, etc. • Stack • Dành cho các biến cục bộ (local variables) Figure credit: Abraham Silberschatz, Greg Gagne, and Peter Baer Galvin, "Operating System Concepts, Ninth Edition ", Chapter 3 5 Figure credit: 6 TRẠNG THÁI CỦA TIẾN TRÌNH • Khi thực hiện, trạng thái của tiến trình thay đổi • Trạng thái của tiến trình được xác định bằng hoạt động hiện thời của nó • Tiến trình có thể nhận 1 trong 5 trạng thái sau: • New (Khởi tạo) – tiến trình đang được khởi tạo • Ready (Sẵn sàng) – tiến trình đang chờ được cấp CPU để thực thi lệnh của mình • Running (Thực hiện) – các câu lệnh của tiến trình đang được thực .