Bài giảng Nguyên lý hệ điều hành: Chương 2 - Phạm Đăng Hải
lượt xem 8
download
Bài giảng Nguyên lý hệ điều hành - Chương 2: Quản lý tiến trình. Những nội dung chính trong chương này gồm có: Tiến trình, luồng (thread), đ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.
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Bài giảng Nguyên lý hệ điều hành: Chương 2 - Phạm Đăng Hải
- Hệ điều hành o .c ng HỆ ĐIỀU HÀNH co Phạm Đăng Hải an haipd@soict.hust.edu.vn thBộ môn Khoa học Máy tính Viện Công nghệ Thông tin & Truyền Thông o ng du Ngày 29 tháng 1 năm 2018 u CuuDuongThanCong.com https://fb.com/tailieudientucntt 1 / 220
- Chương 2: Quản lý tiến trình o .c ng co an Chương 2 Quản lý tiến trình th o ng du u CuuDuongThanCong.com https://fb.com/tailieudientucntt 2 / 220
- Chương 2: Quản lý tiến trình o .c Giới thiệu ng Khi 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. . .) co để hoàn thành công việc Tài nguyên được cấp khi bắt đầu chương trình hay trong khi chương trình đang thực hiện an Gọi là tiến trình (process) Hệ thống bao gồm tập các tiến trình thực hiện đồng thời th 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 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 o trình và tiểu trình (luồng ) du 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 u trạng bế tắc giữa các tiến trình CuuDuongThanCong.com https://fb.com/tailieudientucntt 3 / 220
- Chương 2: Quản lý tiến trình o .c Nội dung chính ng co 1 Tiến trình Luồng (Thread) an 2 3 Điều phối CPU th ng 4 Tài nguyên găng và điều độ tiến trình o 5 Bế tắc và xử lý bế tắc du u CuuDuongThanCong.com https://fb.com/tailieudientucntt 4 / 220
- Chương 2: Quản lý tiến trình o 1. Tiến trình .c Nội dung chính ng co 1 Tiến trình Luồng (Thread) an 2 3 Điều phối CPU th ng 4 Tài nguyên găng và điều độ tiến trình o 5 Bế tắc và xử lý bế tắc du u CuuDuongThanCong.com https://fb.com/tailieudientucntt 5 / 220
- Chương 2: Quản lý tiến trình o 1. Tiến trình 1.1 Khái niệm tiến trình .c ng 1 Tiến trình co Khái niệm tiến trình Điều phối tiến trình (Process Scheduling) an Thao tác trên tiến trình th Hợp tác tiến trình Truyền thông liên tiến trình o ng du u CuuDuongThanCong.com https://fb.com/tailieudientucntt 6 / 220
- Chương 2: Quản lý tiến trình o 1. Tiến trình 1.1 Khái niệm tiến trình .c Tiến trình ng Trạng thái hệ thống Vi xử lý: Giá trị các thanh ghi Bộ nhớ: Nội dung các ô nhớ co Thiết bị ngoại vi: Trạng thái thiết bị an th o ng du u CuuDuongThanCong.com https://fb.com/tailieudientucntt 7 / 220
- Chương 2: Quản lý tiến trình o 1. Tiến trình 1.1 Khái niệm tiến trình .c Tiến trình ng Trạng thái hệ thống Vi xử lý: Giá trị các thanh ghi Bộ nhớ: Nội dung các ô nhớ co Thiết bị ngoại vi: Trạng thái thiết bị Thực hiện chương trình ⇒Trạng thái hệ thống thay đổi an Thay đổi rời rạc, theo từng câu lệnh được thực hiện q0 q1 th q2 qn ... o ng du u CuuDuongThanCong.com https://fb.com/tailieudientucntt 7 / 220
- Chương 2: Quản lý tiến trình o 1. Tiến trình 1.1 Khái niệm tiến trình .c Tiến trình ng Trạng thái hệ thống Vi xử lý: Giá trị các thanh ghi Bộ nhớ: Nội dung các ô nhớ co Thiết bị ngoại vi: Trạng thái thiết bị Thực hiện chương trình ⇒Trạng thái hệ thống thay đổi an Thay đổi rời rạc, theo từng câu lệnh được thực hiện q0 q1 th q2 qn ... ng Tiến trình 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 o theo yêu cầu nằm trong chương trình của người sử dụng du Xuất phát từ một trạng thái ban đầu u CuuDuongThanCong.com https://fb.com/tailieudientucntt 7 / 220
- Chương 2: Quản lý tiến trình o 1. Tiến trình 1.1 Khái niệm tiến trình .c Tiến trình ng Trạng thái hệ thống Vi xử lý: Giá trị các thanh ghi Bộ nhớ: Nội dung các ô nhớ co Thiết bị ngoại vi: Trạng thái thiết bị Thực hiện chương trình ⇒Trạng thái hệ thống thay đổi an Thay đổi rời rạc, theo từng câu lệnh được thực hiện q0 q1 th q2 qn ... ng Tiến trình 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 o theo yêu cầu nằm trong chương trình của người sử dụng du Xuất phát từ một trạng thái ban đầu Tiến trình là sự thực hiện chương trình u CuuDuongThanCong.com https://fb.com/tailieudientucntt 7 / 220
- Chương 2: Quản lý tiến trình o 1. Tiến trình 1.1 Khái niệm tiến trình .c Tiến trình >< chương trình ng co an th o ng du u CuuDuongThanCong.com https://fb.com/tailieudientucntt 8 / 220
- Chương 2: Quản lý tiến trình o 1. Tiến trình 1.1 Khái niệm tiến trình .c Tiến trình >< chương trình ng Chương trình: thực thể thụ động (nội dung file trên đĩa) 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ớ co 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ộ ) an Thư viện liên kết động (DLL) Không được dịch & liên kết cùng với chương trình th Khi 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 ng Các thanh ghi của VXL phục vụ cho quá trình thực hiện o du u CuuDuongThanCong.com https://fb.com/tailieudientucntt 8 / 220
- Chương 2: Quản lý tiến trình o 1. Tiến trình 1.1 Khái niệm tiến trình .c Tiến trình >< chương trình ng Chương trình: thực thể thụ động (nội dung file trên đĩa) 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ớ co 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ộ ) an Thư viện liên kết động (DLL) Không được dịch & liên kết cùng với chương trình th Khi 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 ng Các thanh ghi của VXL phục vụ cho quá trình thực hiện Tiến trình: thực thể chủ động (bộ đếm lệnh, tập tài nguyên) o du u CuuDuongThanCong.com https://fb.com/tailieudientucntt 8 / 220
- Chương 2: Quản lý tiến trình o 1. Tiến trình 1.1 Khái niệm tiến trình .c Tiến trình >< chương trình ng Chương trình: thực thể thụ động (nội dung file trên đĩa) 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ớ co 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ộ ) an Thư viện liên kết động (DLL) Không được dịch & liên kết cùng với chương trình th Khi 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 ng Các thanh ghi của VXL phục vụ cho quá trình thực hiện Tiến trình: thực thể chủ động (bộ đếm lệnh, tập tài nguyên) o Một chương trình có thể du Chỉ là một phần của trạng thái tiến trình Một chương trình, nhiều tiến trình( bộ dữ liệu khác nhau) gcc hello.c k gcc baitap.c u Gọi tới nhiều tiếnhttps://fb.com/tailieudientucntt CuuDuongThanCong.com trình 8 / 220
- Chương 2: Quản lý tiến trình o 1. Tiến trình 1.1 Khái niệm tiến trình .c Dịch và thực hiên một chương trình ng co an th o ng du u CuuDuongThanCong.com https://fb.com/tailieudientucntt 9 / 220
- Chương 2: Quản lý tiến trình o 1. Tiến trình 1.1 Khái niệm tiến trình .c Thực hiện một chương trình ng co an th o ng du u CuuDuongThanCong.com https://fb.com/tailieudientucntt 10 / 220
- Chương 2: Quản lý tiến trình o 1. Tiến trình 1.1 Khái niệm tiến trình .c Thực hiện một chương trình ng Hệ điều hành tạo một tiến trình và phân phối vùng nhớ cho nó co an th o ng du u CuuDuongThanCong.com https://fb.com/tailieudientucntt 10 / 220
- Chương 2: Quản lý tiến trình o 1. Tiến trình 1.1 Khái niệm tiến trình .c Thực hiện một chương trình ng 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 (header file) co Thiết lập không gian địa chỉ cho tiến trình để chứa mã lệnh và dữ liệu từ file thực thi an Đặt các tham số dòng lệnh, biến môi trường (argc, argv, envp) vào stack Thiết lập các thanh ghi của VXL tới các giá trị thích hợp và th gọi hàm "_start()" (hàm của hệ điều hành) o ng du u CuuDuongThanCong.com https://fb.com/tailieudientucntt 10 / 220
- Chương 2: Quản lý tiến trình o 1. Tiến trình 1.1 Khái niệm tiến trình .c Thực hiện một chương trình ng 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 (header file) co Thiết lập không gian địa chỉ cho tiến trình để chứa mã lệnh và dữ liệu từ file thực thi an Đặt các tham số dòng lệnh, biến môi trường (argc, argv, envp) vào stack Thiết lập các thanh ghi của VXL tới các giá trị thích hợp và th gọi hàm "_start()" (hàm của hệ điều hành) Chương trình bắt đầu thực hiện tại "_start()". Hàm này gọi ng tới hàm main()(hàm của chương trình) ⇒"Tiến trình" đang thực hiện, không còn đề cập đến o "chương trình" nữa du u CuuDuongThanCong.com https://fb.com/tailieudientucntt 10 / 220
- Chương 2: Quản lý tiến trình o 1. Tiến trình 1.1 Khái niệm tiến trình .c Thực hiện một chương trình ng 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 (header file) co Thiết lập không gian địa chỉ cho tiến trình để chứa mã lệnh và dữ liệu từ file thực thi an Đặt các tham số dòng lệnh, biến môi trường (argc, argv, envp) vào stack Thiết lập các thanh ghi của VXL tới các giá trị thích hợp và th gọi hàm "_start()" (hàm của hệ điều hành) Chương trình bắt đầu thực hiện tại "_start()". Hàm này gọi ng tới hàm main()(hàm của chương trình) ⇒"Tiến trình" đang thực hiện, không còn đề cập đến o "chương trình" nữa du Khi hàm main() kết thúc, OS gọi tới hàm "_exit()" để hủy bỏ tiến trình và thu hồi tài nguyên u CuuDuongThanCong.com https://fb.com/tailieudientucntt 10 / 220
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Bài giảng Nguyên lý hệ điều hành: Chương 3 - GV. Đặng Quang Hiển
50 p | 298 | 52
-
Bài giảng Nguyên lý hệ điều hành: Chương 1 - GV. Đặng Quang Hiển
50 p | 316 | 51
-
Bài giảng Nguyên lý hệ điều hành: Chương 2 - GV. Đặng Quang Hiển
118 p | 283 | 44
-
Bài giảng Nguyên lý hệ điều hành - ĐH Hàng Hải VN
55 p | 59 | 15
-
Bài giảng Nguyên lý hệ điều hành - Chương 1: Mở đầu
26 p | 153 | 12
-
Bài giảng Nguyên lý hệ điều hành (Bài giảng tuần 10) - Nguyễn Hải Châu
8 p | 119 | 12
-
Bài giảng Nguyên lý hệ điều hành – ThS. Nguyễn Quỳnh Hoa
55 p | 73 | 11
-
Bài giảng Nguyên lý hệ điều hành (handout): Chương 5 - Phạm Đăng Hải
15 p | 59 | 9
-
Bài giảng Nguyên lý hệ điều hành (handout): Chương 2 - Phạm Đăng Hải
74 p | 65 | 9
-
Bài giảng Nguyên lý Hệ điều hành - Chương 2: Quản lý tiến trình
61 p | 212 | 9
-
Bài giảng Nguyên lý hệ điều hành (Bài giảng tuần 8) - Nguyễn Hải Châu
7 p | 115 | 9
-
Bài giảng Nguyên lý hệ điều hành (Bài giảng tuần 6) - Nguyễn Hải Châu
10 p | 118 | 9
-
Bài giảng Nguyên lý hệ điều hành: Chương 1 - Phạm Đăng Hải
115 p | 57 | 7
-
Bài giảng Nguyên lý Hệ điều hành - Chương 1: Các khái niệm cơ bản
54 p | 116 | 6
-
Bài giảng Nguyên lý hệ điều hành (handout): Chương 1 - Phạm Đăng Hải
33 p | 50 | 6
-
Bài giảng Nguyên lý hệ điều hành (Bài giảng tuần 1) - Nguyễn Hải Châu
6 p | 70 | 5
-
Bài giảng Nguyên lý hệ điều hành: Chương 1 - ĐH Bách khoa Đà Nẵng
26 p | 102 | 5
-
Bài giảng Nguyên lý hệ điều hành (Bài giảng tuần 2) - Nguyễn Hải Châu
6 p | 106 | 4
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn