Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 464 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
464
Dung lượng
6,75 MB
Nội dung
HệđiềuhànhHỆĐIỀUHÀ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ày 13 tháng 3 năm 2012 1 / 217 Chương 2: QuảnlýtiếntrìnhChương2Quảnlýtiếntrình2 / 217 Chương 2: Quảnlýtiếntrình Giới thiệu Khi chươngtrì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 bắt đầu chươngtrình hay trong khi chươngtrình đang thực hiện Gọi là tiếntrình (process) Hệ thống bao gồm tập các tiếntrình thực hiện đồng thời Tiếntrìnhhệđiềuhành Thực hiện mã lệnh hệ thống Tiếntrình người dùng Thực hiện mã lệnh người dùng Tiếntrì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ếntrình và tiểu trình (luồng) Tạo/xóa tiếntrình (người dùng, hệ thống) Điều phối tiếntrình Cung cấp cơ chế đồng bộ, truyền thông và ngăn ngừa tình trạng bế tắc giữa các tiếntrình 3 / 217 Chương 2: Quảnlýtiếntrình Nội dung chính 1 Tiếntrình2 Luồng (Thread) 3 Điều phối CPU 4 Tài nguyên găng và điều độ tiếntrình 5 Bế tắc và xử lý bế tắc 4 / 217 Chương 2: Quảnlýtiếntrình 1. Tiếntrình Nội dung chính 1 Tiếntrình2 Luồng (Thread) 3 Điều phối CPU 4 Tài nguyên găng và điều độ tiếntrình 5 Bế tắc và xử lý bế tắc 5 / 217 Chương 2: Quảnlýtiếntrình 1. Tiếntrình 1.1 Khái niệm tiếntrình 1 Tiếntrình Khái niệm tiếntrìnhĐiều phối tiếntrình (Process Scheduling) Thao tác trên tiếntrình Hợp tác tiếntrình Truyền thông liên tiếntrình 6 / 217 Chương 2: Quảnlýtiếntrình 1. Tiếntrình 1.1 Khái niệm tiếntrìnhTiếntrình Trạng thái hệ thống Vi xử lý: Giá trị các thanh ghi Bộ nhớ: Nội dung các ô nhớ Thiết bị ngoại vi: Trạng thái thiết bị Thực hiện chươngtrình ⇒Trạng thái hệ thống thay đổi Thay đổi rời rạc, theo từng câu lệnh được thực hiện q 0 q 1 q 2 q n . . . Tiếntrì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 theo yêu cầu nằm trong chươngtrình của người sử dụng Xuất phát từ một trạng thái ban đầu ✞ ✝ ☎ ✆ Tiếntrình là sự thực hiện chươngtrình 7 / 217 Chương 2: Quảnlýtiếntrình 1. Tiếntrình 1.1 Khái niệm tiếntrìnhTiếntrình Trạng thái hệ thống Vi xử lý: Giá trị các thanh ghi Bộ nhớ: Nội dung các ô nhớ Thiết bị ngoại vi: Trạng thái thiết bị Thực hiện chươngtrình ⇒Trạng thái hệ thống thay đổi Thay đổi rời rạc, theo từng câu lệnh được thực hiện q 0 q 1 q 2 q n . . . Tiếntrì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 theo yêu cầu nằm trong chươngtrình của người sử dụng Xuất phát từ một trạng thái ban đầu ✞ ✝ ☎ ✆ Tiếntrình là sự thực hiện chươngtrình 7 / 217 Chương 2: Quảnlýtiếntrình 1. Tiếntrình 1.1 Khái niệm tiếntrìnhTiếntrình Trạng thái hệ thống Vi xử lý: Giá trị các thanh ghi Bộ nhớ: Nội dung các ô nhớ Thiết bị ngoại vi: Trạng thái thiết bị Thực hiện chươngtrình ⇒Trạng thái hệ thống thay đổi Thay đổi rời rạc, theo từng câu lệnh được thực hiện q 0 q 1 q 2 q n . . . Tiếntrì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 theo yêu cầu nằm trong chươngtrình của người sử dụng Xuất phát từ một trạng thái ban đầu ✞ ✝ ☎ ✆ Tiếntrình là sự thực hiện chươngtrình 7 / 217 Chương 2: Quảnlýtiếntrình 1. Tiếntrình 1.1 Khái niệm tiếntrìnhTiếntrình Trạng thái hệ thống Vi xử lý: Giá trị các thanh ghi Bộ nhớ: Nội dung các ô nhớ Thiết bị ngoại vi: Trạng thái thiết bị Thực hiện chươngtrình ⇒Trạng thái hệ thống thay đổi Thay đổi rời rạc, theo từng câu lệnh được thực hiện q 0 q 1 q 2 q n . . . Tiếntrì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 theo yêu cầu nằm trong chươngtrình của người sử dụng Xuất phát từ một trạng thái ban đầu ✞ ✝ ☎ ✆ Tiếntrình là sự thực hiện chươngtrình 7 / 217 [...]... trỏ tới một PCB khác 13 / 21 7 Chương 2: Quản lýtiếntrình 1 Tiếntrình 1.1 Khái niệm tiếntrình Danh sách tiếntrình 14 / 21 7 Chương 2: Quảnlýtiếntrình 1 Tiếntrình 1.1 Khái niệm tiếntrình Danh sách tiếntrình tail head 14 / 21 7 Chương 2: Quảnlýtiếntrình 1 Tiếntrình 1.1 Khái niệm tiếntrìnhTiếntrình đơn luồng và tiếntrình đa luồng Tiếntrình đơn luồng : Là chươngtrình thực hiện chỉ một luồng... điểm 15 / 21 7 Chương 2: Quảnlýtiếntrình 1 Tiếntrình 1 .2 Điều phối tiếntrình 1 Tiến trình Khái niệm tiếntrìnhĐiều phối tiếntrình (Process Scheduling) Thao tác trên tiếntrình Hợp tác tiếntrình Truyền thông liên tiếntrình 16 / 21 7 Chương 2: Quảnlýtiếntrình 1 Tiếntrình 1 .2 Điều phối tiếntrình Giới thiệu Mục đích Sử dụng tối đa thời gian của CPU ⇒ Cần có nhiều tiếntrình trong hệ thống Vấn... Một chươngtrình có thể Chỉ là một phần của trạng thái tiếntrình Một chương trình, nhiều tiến trình( bộ dữ liệu khác nhau) gcc hello.c gcc baitap.c Gọi tới nhiều tiếntrình 8 / 21 7 Chương 2: Quảnlýtiếntrình 1 Tiếntrình 1.1 Khái niệm tiếntrình Dịch và thực hiên một chươngtrình 9 / 21 7 Chương 2: Quảnlýtiếntrình 1 Tiếntrình 1.1 Khái niệm tiếntrình Thực hiện một chươngtrình 10 / 21 7 Chương 2: ... Khái niệm tiếntrình Lưu đồ thay đổi trạng thái tiếntrình (Silberschatz 20 02) 12 / 21 7 Chương 2: Quảnlýtiếntrình 1 Tiếntrình 1.1 Khái niệm tiếntrình Lưu đồ thay đổi trạng thái tiếntrình (Silberschatz 20 02) Hệ thống có một processor Có duy nhất một tiếntrình ở trạng thái thực hiện Có thể có nhiều tiếntrình ở trạng thái chờ đợi hoặc sẵn sàng 12 / 21 7 Chương 2: Quản lýtiếntrình 1 Tiếntrình 1.1.. .Chương 2: Quảnlýtiếntrình 1 Tiếntrình 1.1 Khái niệm tiếntrìnhTiếntrình >< chươngtrình 8 / 21 7 Chương 2: Quảnlýtiếntrình 1 Tiếntrình 1.1 Khái niệm tiếntrìnhTiếntrình >< chươngtrìnhChươ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ớ... Khái niệm tiếntrình Thực hiện một chươngtrình 10 / 21 7 Chương 2: Quảnlýtiếntrình 1 Tiếntrình 1.1 Khái niệm tiếntrình Thực hiện một chươngtrìnhHệđiềuhành tạo một tiếntrình và phân phối vùng nhớ cho nó 10 / 21 7 Chương 2: Quản lýtiếntrình 1 Tiếntrình 1.1 Khái niệm tiếntrình Thực hiện một chươngtrìnhHệđiềuhành tạo một tiếntrình và phân phối vùng nhớ cho nó Bộ thực hiện (loader/exec) Đọc... các tiếntrình đang chờ đợi một thiết bị vào ra Phân biệt hàng đợi cho từng thiết bị 18 / 21 7 Chương 2: Quảnlýtiếntrình 1 Tiếntrình 1 .2 Điều phối tiếntrình Các hàng đợi tiếntrình II Các tiếntrình di chuyển giữa hàng đợi khác nhau Tiếntrình mới tạo, được đặt trong hàng đợi sẵn sàng, và đợi cho tới khi được lựa chọn để thực hiện 19 / 21 7 Chương 2: Quảnlýtiếntrình 1 Tiếntrình 1 .2 Điều phối tiến. .. chuyển CPU giữa các tiếntrình ⇒ Phải có hàng đợi cho các tiếntrìnhHệ thống một processor ⇒ Một tiếntrình thực hiện ⇒ Các tiếntrình khác phải đợi tới khi CPU tự do 17 / 21 7 Chương 2: Quảnlýtiếntrình 1 Tiếntrình 1 .2 Điều phối tiếntrình Các hàng đợi tiếntrình I Hệ thống có nhiều hàng đợi dành cho tiếntrình Job-queue Tập các tiếntrình trong hệ thống Ready-Queue Tập các tiếntrình tồn tại trong... của hệđiều hành) Chươngtrình bắt đầu thực hiện tại "_start()" Hàm này gọi 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 "chương trình" nữa Khi hàm main() kết thúc, OS gọi tới hàm "_exit()" để hủy bỏ tiếntrình và thu hồi tài nguyên 10 / 21 7 Chương 2: Quản lýtiếntrình 1 Tiếntrình 1.1 Khái niệm tiếntrình Thực hiện một chươngtrìnhHệđiềuhành tạo một tiến. .. 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 "chương trình" nữa Khi hàm main() kết thúc, OS gọi tới hàm "_exit()" để hủy bỏ tiếntrình và thu hồi tài nguyên Tiếntrình là chươngtrình đang thực hiện 10 / 21 7 Chương 2: Quảnlýtiếntrình 1 Tiếntrình 1.1 Khái niệm tiếntrình Trạng thái tiếntrình Khi thực hiện, tiếntrình thay đổi trạng thái Khởi tạo (New) Tiếntrình đang . Quản lý tiến trình 1. Tiến trình 1.1 Khái niệm tiến trình Dịch và thực hiên một chương trình 9 / 21 7 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 Thực hiện một chương trình Hệ. 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 6 / 21 7 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 Tiến trình Trạ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 5 / 21 7 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