Thông tin tài liệu:
Chương 8 của bài giảng Hệ điều hành Unix trình bày về tiến trình - Process. Các nội dung chính cần tìm hiểu trong chương này gồm: Các khái niệm cơ bản, system call interface, truy cập process từ file system.
Nội dung trích xuất từ tài liệu:
Bài giảng Hệ điều hành Unix: Chương 8 - Ngô Duy Hòa Nội dung bài học • Các khái niệm cơ bản. • System Call Interface Bài 8. Tiến trình - Process • /proc file system • Interprocesses Communication Ngô Duy Hoa – KHMT - CNTT Program - Process 1. Các khái niệm cơ bản Program - Process Program - Process• Khi chương trình được kích hoạt: – OS cung cấp 1 framework để chạy chương trình (virtual memory framework). – Nạp code, data và các thư viện cần thiết cho chương trình vào các vùng địa chỉ xác định trong framework. – Thông tin của tiến trình được lưu trữ trong khối quản lý tiến trình (PCB – process control block) nằm ở kernel area. 1 Process Control Block • OS quản lý process thông qua các khối PCB • PCB chứa các thông tin: – Trạng thái tiến trình. – Định danh tiến trình. – Thông tin về người dùng. – Các thanh ghi hệ thống. – Danh sách các đơn vị bộ nhớ sử dụng. – Các file đang làm việc. –… Process Life Cycle Process Control Blocks Process Table (PCBs)/Process Descriptors• OS dùng 1 bảng quản lý tiến trình (Process Table) chung cho tất cả tiến trình.• Mỗi 1 phần tử trong bảng là một con trỏ tương ứng với khối quản lý tiến trình PCB. – Khi tiến trình bắt đầu được tạo Æ PCB được đưa vào PT. – Khi tiến trình kết thúc Æ các tài nguyên tiến trình được giải phóng và PCB bị xóa khỏi PT. Running double list prio_array: priority array of running processes 2 parent & childrens Process’s Virtual Memory vm_area_struct process virtual memory task_struct mm_struct vm_end mm pgd vm_start vm_prot mmap vm_flags shared libraries vm_next 0x40000000 vm_end vm_start – vm_prot: vm_prot data vm_flags process call ptrace() • read/write 0x0804a020 permissions for this vm_next ...