Danh mục tài liệu

Bài giảng môn Hệ điều hành - Chương 2: Quản lý tiến trình

Số trang: 419      Loại file: pdf      Dung lượng: 5.79 MB      Lượt xem: 31      Lượt tải: 0    
Xem trước 10 trang đầu tiên của tài liệu này:

Thông tin tài liệu:

Bài giảng "Hệ điều hành - Chương 2: Quản lý tiến trình" cung cấp cho người học các kiến thức: Tiến trình, luồng, điều phối CPU, tài nguyên găng và điều độ tiến trình, bế tắc và xử lý bế tắc. Mời các bạn cùng tham khảo.
Nội dung trích xuất từ tài liệu:
Bài giảng môn Hệ điều hành - Chương 2: Quản lý tiến trình Hệ điều hành HỆ ĐIỀU HÀNH Phạm Đăng Hải haipd-fit@mail.hut.edu.vn Bộ môn Khoa học Máy tính Viện Công nghệ Thông tin & Truyền Thông ng.com Ngày 19 tháng 3 năm https://fb.com/tailieudientucntt 2011 1 / 201 Chương 2: Quản lý tiến trình Chương 2 Quản lý tiến trình ng.com https://fb.com/tailieudientucntt 2 / 201 Chương 2: Quản lý tiến trình Giới thiệu Chương trình đang thực hiện Được cung cấp tài nguyên (CPU, bộ nhớ, thiết bị vào/ra. . .) để hoàn thành công việc Tài nguyên được cấp khi khởi tạo tiến trình hay khi tiến trình đang thực hiện Gọi là tiến trình (process) Hệ thống là tập các tiến trình thực hiện đồng thời Tiến trình hệ điều hành Thực hiện mã lệnh hệ thống Tiến trình người dùng Thực hiện mã lệnh người dùng Tiến trình có thể chứa một hoặc nhiều luồng điều khiển Trách nhiệm của Hệ điều hành: Đảm bảo họat động của tiến trình và tiểu trình (luồng ) Tạo/xóa tiến trình (người dùng, hệ thống) Điều phối tiến trình Cung cấp cơ chế đồng bộ, truyền thông và ngăn ngừa tình ng.com trạng bế tắc giữa các tiến trình https://fb.com/tailieudientucntt 3 / 201 Chương 2: Quản lý tiến trình Nội dung chính ng.com https://fb.com/tailieudientucntt 4 / 201 Chương 2: Quản lý tiến trình 1. Tiến trình Nội dung chính 1 Tiến trình 2 Luồng (Thread) 3 Điều phối CPU 4 Tài nguyên găng và điều độ tiến trình 5 Bế tắc và xử lý bế tắc ng.com https://fb.com/tailieudientucntt 5 / 201 Chương 2: Quản lý tiến trình 1. Tiến trình 1.1 Khái niệm tiến trình 1 Tiến trình Khái niệm tiến trình Điều phối tiến trình (Process Scheduling) Thao tác trên tiến trình Hợp tác tiến trình Truyền thông liên tiến trình ng.com https://fb.com/tailieudientucntt 6 / 201 Chương 2: Quản lý tiến trình 1. Tiến trình 1.1 Khái niệm tiến trình Định nghĩa tiến trình 1 Là một dãy thay đổi trạng thái của hệ thống Chuyển từ trạng thái này sang trạng thái khác được thực hiện theo yêu cầu nằm trong chương trình của người sử dụng Xuất phát từ một trạng thái ban đầu ng.com https://fb.com/tailieudientucntt 7 / 201 Chương 2: Quản lý tiến trình 1. Tiến trình 1.1 Khái niệm tiến trình Định nghĩa tiến trình 1 Là một dãy thay đổi trạng thái của hệ thống Chuyển từ trạng thái này sang trạng thái khác được thực hiện theo yêu cầu nằm trong chương trình của người sử dụng Xuất phát từ một trạng thái ban đầu 2 Là chương trình đang thực hiện Tài nguyên tối thiểu cần có Bộ nhớ cho mã chương trình và dữ liệu Các thanh ghi của processor phục vụ cho quá trình thực hiện chương trình Tiến trình >< chương trình Chương trình: thực thể thụ động (nội dung file trên đĩa) Tiến trình: thực thể chủ động (bộ đếm lệnh, tập tài nguyên) Một chương trình có thể ⇒Được thực hiện bởi các tiến trình khác nhau,với các bộ dữ liệu khác nhau (một chương trình, nhiều tiến trình) ⇒Gọi tới nhiều tiến trình ng.com https://fb.com/tailieudientucntt 7 / 201 Chương 2: Quản lý tiến trình 1. Tiến trình 1.1 Khái niệm tiến trình Định nghĩa tiến trình Chương trình gồm Mã chương trình: Lệnh máy (CD2190EA...) Dữ liệu: Biến được lưu trữ và sử dụng trong bộ nhớ Biến toàn cục Biến được cung cấp động (malloc, new,..) Biến stack (tham số hàm, biến cục bộ ) Thư viện liên kết động: không được dịch & liên kết cùng với chương trình (DLL) Quá trình dịch một chương trình ng.com https://fb.com/tailieudientucntt 8 / 201 Chương 2: Quản lý tiến trình 1. Tiến trình 1.1 Khái niệm tiến trình Định nghĩa tiến trình Thực hiện một chương trình ng.com https://fb.com/tailieudientucntt 9 / 201 Chương 2: Quản lý tiến trình 1. Tiến trình 1.1 Khái niệm tiến trình Định nghĩa tiến trình Thực hiện một chương trình Hệ điều hành tạo một tiến trình và phân phối vùng nhớ cho nó Bộ thực hiện (loader/exec) Đọc và dịch (interprets) file thực thi Thiết lập không gian địa chỉ cho tiến trình để chứa mã lệnh và ...