tailieunhanh - Bài giảng Hệ điều hành Linux - Bài 6: Quản lý tiến trình
Bài giảng Hệ điều hành Linux - Bài 6: Quản lý tiến trình bao gồm những nội dung về tiến trình, thực thi, tạo tiến trình, các hàm cơ bản khác, thực thi chương trình ở chế độ nền, liệt kê tiến trình, các hàm quản lý tiến trình khác. | 1 HỆ ĐIỀU HÀNH LINUX (Quản lý tiến trình) Phạm Nguyên Khang, Đỗ Thanh Nghị Email: pnkhang,dtnghi@ Nội dung 2 Tiến trình Thực thi Tạo tiến trình Các hàm cơ bản khác Thực thi chương trình ở chế độ nền Liệt kê tiến trình Các hàm quản lý tiến trình khác Tiến trình 3 Tiến trình = chương trình đang thực thi Ảnh bộ nhớ (memory image) bao gồm: Text: mã thực thi của chương trình Data: lưu trữ dữ liệu Stack: ngăn xếp của người dùng Định danh: phân biệt tiến trình với chương trình khác Cấu trúc u (user: người dùng) Ngăn xếp (stack) của hệ thống Vùng định danh chỉ truy xuất được trong chế độ hệ thống (system mode) Thực thi 4 Điều khiển bằng tiến trình 0 (sched hoặc swapper) Tiến trình 0 (không) trong không gian hệ thống Sử dụng CPU theo mức độ ưu tiên của tiến trình Tiến trình thực thi trong chế độ người dùng (user mode) và chuyển sang chế độ hệ thống bằng các hàm đặc biệt của nhân Chỉ có duy nhất một tiến trình chạy trong không gian hệ thống: trình quản lý bộ nhớ ảo (pagedaemon) Tạo tiến trình 5 fork: Ví dụ: (viết bằng ngôn ngữ C) Tạo ra một tiến trình con bằng cách sao chép vùng nhớ của một tiến trình cha Kết quả trả về: -1 0 N thất bại tiến trình con tiến trình cha với N là PID (định danh) của tiến trình cha pid = fork(); if (pid == -1) { /*lỗi*/ } else if (pid == 0) { /*mã lệnh chương trình con*/ } else { /*mã lệnh chương trình cha .
đang nạp các trang xem trước