TAILIEUCHUNG - Bài giảng Hệ điều hành: Chương 2A - Quản lý quá trình

Bài giảng Hệ điều hành: Chương 2A - Quản lý quá trình trình bày về khái niệm cơ bản; định thời CPU; các tác vụ cơ bản như tạo/kết thúc quá trình; sự cộng tác giữa các quá trình; giao tiếp giữa các quá trình. Mời các bạn tham khảo bài giảng để bổ sung thêm kiến thức về lĩnh vực này. | Quản lý quá trình Khái niệm cơ bản Định thời CPU Các tác vụ cơ bản: tạo/kết thúc quá trình Sự cộng tác giữa các quá trình Giao tiếp giữa các quá trình Khái niệm cơ bản Hệ thống máy tính thực thi nhiều chương trình khác nhau Batch system: job Time-shared system: user program, task Job process Quá trình (process) một chương trình đang thực thi Một quá trình bao gồm Text (program code), data (chứa các global variable), heap, stack Hoạt động hiện thời: program counter (PC), các register Các file đang dùng Các bước nạp chương trình vào bộ nhớ Từ chương trình đến quá trình Chương trình thực thi có định dạng load module mà trình nạp (loader) “hiểu” được Vd định dạng elf trong Linux Layout luận lý của process image program code data Executable binary file (load module) program code data stack Process image trong main memory start address Khởi tạo quá trình Các bước hệ điều hành khởi tạo quá trình Cấp phát một định danh duy nhất (process number hay process identifier, pid) cho quá trình Cấp phát không gian nhớ để nạp quá trình Khởi tạo khối dữ liệu Process Control Block (PCB) cho quá trình PCB là nơi hệ điều hành lưu các thông tin về quá trình Thiết lập các mối liên hệ cần thiết (vd: sắp PCB vào hàng đợi định thời, ) Các trạng thái của quá trình (1/2) Các trạng thái của quá trình: new: quá trình vừa được tạo ready: quá trình đã có đủ tài nguyên, chỉ còn cần CPU running: các lệnh của quá trình đang được thực thi waiting: hay là blocked, quá trình đợi I/O hoàn tất, hay đợi tín hiệu terminated: quá trình đã kết thúc Các trạng thái của quá trình (2/2) ready running dispatch interrupt I/O or event completion I/O or event wait new terminated waiting admit exit Chuyển đổi giữa các trạng thái của quá trình Ví dụ về trạng thái quá trình /* */ int main(int argc, char** argv) { printf(“Hello world\n"); exit(0); } Biên dịch chương trình trong Linux gcc –o test Thực thi chương trình test ./test Trong hệ thống sẽ có một quá .

TỪ KHÓA LIÊN QUAN
TAILIEUCHUNG - Chia sẻ tài liệu không giới hạn
Địa chỉ : 444 Hoang Hoa Tham, Hanoi, Viet Nam
Website : tailieuchung.com
Email : tailieuchung20@gmail.com
Tailieuchung.com là thư viện tài liệu trực tuyến, nơi chia sẽ trao đổi hàng triệu tài liệu như luận văn đồ án, sách, giáo trình, đề thi.
Chúng tôi không chịu trách nhiệm liên quan đến các vấn đề bản quyền nội dung tài liệu được thành viên tự nguyện đăng tải lên, nếu phát hiện thấy tài liệu xấu hoặc tài liệu có bản quyền xin hãy email cho chúng tôi.
Đã phát hiện trình chặn quảng cáo AdBlock
Trang web này phụ thuộc vào doanh thu từ số lần hiển thị quảng cáo để tồn tại. Vui lòng tắt trình chặn quảng cáo của bạn hoặc tạm dừng tính năng chặn quảng cáo cho trang web này.