1. Trang chủ
  2. » Công Nghệ Thông Tin

slide bài giảng kiến trúc máy tính và hệ điều hành chương 7 quản lý tiến trình

92 1,2K 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 92
Dung lượng 2,58 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Các trạng thái của tiến trình - Tại một thời điểm: Processor Pause  Chỉ có một tiến trình ở trạng thái Running  Có thể có nhiều tiến trình ở trạng thái Not Running - Sơ đồ chuyển tiến

Trang 1

KIẾN TRÚC MÁY TÍNH

VÀ HỆ ĐIỀU HÀNH

Trang 2

7.1 Khái niệm về các tiến trình

7.2 Sự điều phối tiến trình

Trang 3

7.1 Khái niệm về các tiến trình

7.1.1 Định nghĩa:

CHƯƠNG 7: QUẢN LÝ TIẾN TRÌNH

+ Tiến trình là một chương trình đang hoạt động, sở hữu:

- Một con trỏ lệnh - Một con trỏ stack

- Một tập các thanh ghi - Một không gian địa chỉ

Chương trình Dữ liệuTrạng thái tiến trình Nguồn tài nguyên

Môi trường máy tính lý thuyết

Trang 4

7.1 Khái niệm về các tiến trình

Trang 5

7.1 Khái niệm về các tiến trình

7.1.2 Phân loại:

+ Tiến trình tuần tự:

- Điểm khởi tạo là điểm kết thúc của tiến trình trước đó

+ Tiến trình song song:

- Điểm khởi tạo nằm ở thân của các tiến trình khác

Trang 6

7.1 Khái niệm về các tiến trình

7.1.2 Phân loại:

+ Một số loại tiến trình song song:

- Song song độc lập: không có quan hệ thông tin với nhau

- Song song có quan hệ thông tin với nhau

- Song song phân cấp: tiến trình đang hoạt động khởi tạo các tiến trình khác hoạt động song song với nó

 Mô hình tập trung  Mô hình phân tán

- Song song đồng mức: sử dụng chung tài nguyên theo nguyên tắc lần lượt

CHƯƠNG 7: QUẢN LÝ TIẾN TRÌNH

Trang 7

7.1 Khái niệm về các tiến trình

7.1.3 Các trạng thái của tiến trình

+ Tiến trình hai trạng thái:

Not Running Running

Enter

Dispatch

Pause

Exit

Tiến trình vừa mới

khởi tạo và đưa vào

hệ thống hoặc bị thu

hồi processor

Tiến trình ở trạng thái Not Running được cấp processor

CHƯƠNG 7: QUẢN LÝ TIẾN TRÌNH

Trang 8

7.1 Khái niệm về các tiến trình

7.1.3 Các trạng thái của tiến trình

- Tại một thời điểm:

Processor

Pause

 Chỉ có một tiến trình ở trạng thái Running

 Có thể có nhiều tiến trình ở trạng thái Not Running

- Sơ đồ chuyển tiến trình vào hàng đợi:

CHƯƠNG 7: QUẢN LÝ TIẾN TRÌNH

Trang 9

7.1 Khái niệm về các tiến trình

7.1.3 Các trạng thái của tiến trình

2

Đang chờ cấp

phát processor

Đang được sở hữu processor

Đang chờ để: cấp phát thêm tài nguyên, quá trình vào/ra kết thúc; một sự kiện nào đó xảy ra

CHƯƠNG 7: QUẢN LÝ TIẾN TRÌNH

Trang 10

7.1 Khái niệm về các tiến trình

7.1.3 Các trạng thái của tiến trình

Release: Tiến trình hoàn thành xử lý và kết thúc

Time_out: Tiến trình bị thu hồi processor do hết thời gian được quyền sử dụng processor

Event wait: Tiến trình đang chờ:

một sự kiện;

một thao tác vào/ra; một tài nguyên

Event Occurs:

Sự kiện mà tiến trình chờ đã xảy ra

CHƯƠNG 7: QUẢN LÝ TIẾN TRÌNH

Trang 11

7.1 Khái niệm về các tiến trình

7.1.3 Các trạng thái của tiến trình

- Bộ phận điều phối tiến trình thu hồi processor khi:

 Tiến trình đang thực hiện hết thời gian sử dụng processor

 Có tiến trình mới phát sinh có độ ưu tiên cao hơn

 Có tiến trình mới phát sinh có thời gian sử dụng processor nhỏ hơn nhiều so với thời gian sử dụng processor còn lại của tiến trình

CHƯƠNG 7: QUẢN LÝ TIẾN TRÌNH

Trang 12

7.1 Khái niệm về các tiến trình

7.1.3 Các trạng thái của tiến trình

Processor

Time - out Ready Queue

Blocked Queue

Event Wait

Event

Occurs

- Sơ đồ chuyển tiến trình vào các hàng đợi:

CHƯƠNG 7: QUẢN LÝ TIẾN TRÌNH

Trang 13

7.1 Khái niệm về các tiến trình

7.1.3 Các trạng thái của tiến trình

+ Tiến trình bốn trạng thái:

- Trong môi trường đa nhiệm:

 Tồn tại nhiều tiến trình trong Queue

 Sử dụng tài nguyên không hợp lý

- Thiết kế thêm 1 trạng thái tiến trình Suspend (tạm dừng):

 Tiến trình đang được lưu trên bộ nhớ phụ

 Tiến trình đang ở trạng thái Blocked, Ready

CHƯƠNG 7: QUẢN LÝ TIẾN TRÌNH

Trang 14

7.1 Khái niệm về các tiến trình

7.1.3 Các trạng thái của tiến trình

Trang 15

7.1 Khái niệm về các tiến trình

7.1.3 Các trạng thái của tiến trình

+ Tiến trình năm trạng thái:

- Hệ điều hành thiết kế 2 trạng thái suspend:

 Blocked - Suspend: trạng thái suspend dành cho các tiến trình từ blocked chuyển đến

 Ready - Suspend: trạng thái suspend dành cho các tiến trình từ Ready chuyển đến

CHƯƠNG 7: QUẢN LÝ TIẾN TRÌNH

Trang 16

7.1 Khái niệm về các tiến trình

7.1.3 Các trạng thái của tiến trình

Suspend

Exit

Event Occurs

Ready Suspend

Event Occurs

Activate

Admit Admit

CHƯƠNG 7: QUẢN LÝ TIẾN TRÌNH

Trang 17

7.1 Khái niệm về các tiến trình

7.1.4 Các thao tác điều khiển tiến trình

+ Khối điều khiển tiến trình là một cấu trúc dữ liệu gồm:

- Trạng thái hiện thời của tiến trình

- Định danh của tiến trình (PID)

- Một con trỏ đến tiến trình mẹ

- Các con trỏ đến các tiến trình con

CHƯƠNG 7: QUẢN LÝ TIẾN TRÌNH

Trang 18

7.1 Khái niệm về các tiến trình

7.1.4 Các thao tác điều khiển tiến trình

+ Khối điều khiển tiến trình là một cấu trúc dữ liệu gồm:

- Mức ưu tiên của tiến trình

- Các con trỏ xác định vị trí nguồn tài nguyên

- Không gian lưu trữ

- Bộ vi xử lý đang sử dụng

Sự biểu hiện của tiến trình trong hệ điều hành

CHƯƠNG 7: QUẢN LÝ TIẾN TRÌNH

Trang 19

7.1 Khái niệm về các tiến trình

7.1.4 Các thao tác điều khiển tiến trình

+ Khi thay đổi trạng thái tiến trình, hệ điều hành thực hiện:

- Lưu ngữ cảnh của tiến trình (PC, các thanh ghi khác)

- Cập nhật PCB của tiến trình

- Di chuyển PCB của tiến trình đến một hàng đợi thích hợp

- Chọn 1 tiến trình khác để thực hiện và cập nhật PCB

- Cập nhật các thông tin liên quan đến quản lý bộ nhớ

- Khôi phục lại ngữ cảnh cho phù hợp với tiến trình mới

CHƯƠNG 7: QUẢN LÝ TIẾN TRÌNH

Trang 20

7.2 Sự điều phối tiến trình (Process Scheduling)

7.2.1 Hàng đợi điều phối

+ Hàng đợi sẵn sàng:

- Các tiến trình ở bộ nhớ chính sẵn sàng và chờ thực thi

- Được lưu thành 1 danh sách liên kết:

 Đầu hàng đợi chứa các con trỏ trỏ đến PCB của tiến trình đầu và tiến trình cuối

 Mỗi PCB có 1 con trỏ trỏ đến tiến trình kế tiếp+ Hàng đợi thiết bị vào/ra

+ Hàng đợi yêu cầu vào ra

+ Hàng đợi tạo tiến trình con+ Hàng đợi ngắt

CHƯƠNG 7: QUẢN LÝ TIẾN TRÌNH

Trang 21

7.2 Sự điều phối tiến trình (Process Scheduling)7.2.1 Hàng đợi điều phối

Hàng đợi sẵn sàng

Tiến trình con chấm dứt

Thực thi tiến trình con Ngắt phát sinh

Hàng đợi vào/ra

Tạo ra tiến trình con

Khoảng thời gian cho đã hết

Trang 22

7.2 Sự điều phối tiến trình (Process Scheduling)

7.2.2 Khái niệm

+ Trong hệ thống thực thi theo lô:

- Số tiến trình được nạp nhiều hơn số tiến trình được thực thi ngay

- Các tiến trình được đưa vào thiết bị lưu trữ

- Bộ điều phối dài hạn chọn tiến trình nạp vào bộ nhớ

- Bộ điều phối ngắn hạn (bộ điều phối CPU) chọn tiến trình

để chuyển giao CPU

CHƯƠNG 7: QUẢN LÝ TIẾN TRÌNH

Trang 23

7.2 Sự điều phối tiến trình (Process Scheduling)

7.2.2 Khái niệm

+ Trong hệ thống đa nhiệm:

- Xem xét và quyết định khi nào dừng tiến trình hiện tại để thu hồi processor và chuyển processor cho tiến trình khác

- Chọn tiến trình nào trong số các tiến trình ở trạng thái ready để cấp processr cho nó

- Phân biệt sự khác nhau giữa điều phối tiến trình và điều

độ tiến trình

CHƯƠNG 7: QUẢN LÝ TIẾN TRÌNH

Trang 24

7.2 Sự điều phối tiến trình (Process Scheduling)

+ Các cơ chế điều phối:

- Điều phối độc quyền:

 Toàn quyền sử dụng processor cho đến khi tiến trình kết thúc hoặc tự động trả processor

 Quyết định điều phối xảy ra khi tiến trình chuyển từ trạng thái Running sang Blocked hoặc kết thúc

7.2.2 Khái niệm

CHƯƠNG 7: QUẢN LÝ TIẾN TRÌNH

Trang 25

7.2 Sự điều phối tiến trình (Process Scheduling)

+ Các cơ chế điều phối:

- Điều phối không độc quyền:

 Bộ điều phối có thể tạm dừng tiến trình đang xử

lý để thu hồi processor và cấp cho tiến trình khác

 Quyết định điều phối xảy ra khi tiến trình chuyển trạng thái hoặc kết thúc

7.2.2 Khái niệm

CHƯƠNG 7: QUẢN LÝ TIẾN TRÌNH

Trang 26

7.2 Sự điều phối tiến trình (Process Scheduling)

+ Các đặc điểm của tiến trình:

- Tiến trình thiên hướng vào/ra

7.2.2 Khái niệm

- Tiến trình thiên hướng xử lý

- Tiến trình tương tác hay xử lý theo lô

- Độ ưu tiên của tiến trình: tĩnh hay động

- Thời gian sử dụng processor của tiến trình

- Thời gian còn lại tiến trình cần processor

CHƯƠNG 7: QUẢN LÝ TIẾN TRÌNH

Trang 27

7.2 Sự điều phối tiến trình (Process Scheduling)7.2.3 Mục tiêu điều phối:

+ Sự công bằng (Fairness)

+ Tính hiệu quả (Efficiency)

+ Thời gian đáp ứng hợp lý (Response time)

+ Thời gian lưu lại trong hệ thống (Turnaround time)+ Thông lượng tối đa (Throughtput)

Dung hòa các mục tiêu

CHƯƠNG 7: QUẢN LÝ TIẾN TRÌNH

Trang 28

7.2 Sự điều phối tiến trình (Process Scheduling)

7.2.3 Mục tiêu điều phối:

+ Ví dụ: P1, P2, P3, P4 có thời gian sử dụng processor lần lượt là: 1, 12, 2, 1 được nạp vào tại thời điểm 0, 1, 2, 3

Thời

điểm

Tiến trình đang xử lý

Thời gian

đã xử lý

Thời gian còn lại

Các tiến trình chờ

Trang 29

7.2 Sự điều phối tiến trình (Process Scheduling)

7.2.3 Các chiến lược điều phối:

+ Chiến lược FIFO hay FCFS:

- Tiến trình đầu tiên yêu cầu CPU sẽ được nhận CPU

- Tiến trình mới được tạo gắn vào đuôi hàng đợi

- Khi CPU rỗi, tiến trình đầu tiên trong hàng đợi được chọn

- Tiến trình chờ vào/ra được chuyển về cuối hàng đợi

Không hiệu quả khi tính toán thời gian chờ trung bình

CHƯƠNG 7: QUẢN LÝ TIẾN TRÌNH

Trang 30

7.2 Sự điều phối tiến trình (Process Scheduling)

7.2.3 Các chiến lược điều phối:

+ Chiến lược FIFO hay FCFS:

TT Phương pháp tổ hợp Phương pháp tính

Thời gian trung bình (ms)

Trang 31

7.2 Sự điều phối tiến trình (Process Scheduling)

7.2.3 Các chiến lược điều phối:

Luôn tạo ra thời gian chờ trung bình ngắn nhất

- Có thể độc quyền hoặc không độc quyền

CHƯƠNG 7: QUẢN LÝ TIẾN TRÌNH

Trang 32

7.2 Sự điều phối tiến trình (Process Scheduling)7.2.3 Các chiến lược điều phối:

+ Chiến lược SJF:

- Ví dụ có 5 tiến trình: P1, P2, P3, P4, P5

 WT (wait time): thời gian chờ

 ET (execution time): thời gian thực thi

WT = 4*ET1 + 3*ET2 + 2*ET3 + ET4

WT  min thì ET1 < ET2 < ET3 < ET4

CHƯƠNG 7: QUẢN LÝ TIẾN TRÌNH

Trang 33

7.2 Sự điều phối tiến trình (Process Scheduling)

7.2.3 Các chiến lược điều phối:

Trang 34

7.2 Sự điều phối tiến trình (Process Scheduling)

7.2.3 Các chiến lược điều phối:

Trang 35

7.2 Sự điều phối tiến trình (Process Scheduling)

7.2.3 Các chiến lược điều phối:

+ Chiến lược ưu tiên (Priority Scheduling):

- Mỗi tiến trình được cài cho một mức độ ưu tiên

- Mức ưu tiên càng nhỏ thì độ ưu tiên càng lớn

- Tiến trình có mức ưu tiên nhỏ nhất sẽ được chọn

- Có nhiều tiến trình có cùng mức ưu tiên thì điều phối dựa trên nguyên tắc FCFS

CHƯƠNG 7: QUẢN LÝ TIẾN TRÌNH

Trang 36

7.2 Sự điều phối tiến trình (Process Scheduling)

7.2.3 Các chiến lược điều phối:

+ Chiến lược ưu tiên (Priority Scheduling):

- Ví dụ có 5 tiến trình được nạp vào cùng 1 thời điểm

CHƯƠNG 7: QUẢN LÝ TIẾN TRÌNH

Trang 37

7.2 Sự điều phối tiến trình (Process Scheduling)

7.2.3 Các chiến lược điều phối:

+ Chiến lược ưu tiên (Priority Scheduling):

- 5 tiến trình được nạp vào các thời điểm khác nhau

CHƯƠNG 7: QUẢN LÝ TIẾN TRÌNH

Trang 38

7.2 Sự điều phối tiến trình (Process Scheduling)

7.2.3 Các chiến lược điều phối:

+ Chiến lược xoay vòng (RRS - Round Robin Scheduling):

- Tăng sự đáp ứng của các hệ thống tương tác

- Các tiến trình được sắp xếp theo một hàng đợi tròn

- Bộ điều phối chuyển từ tiến trình này đến tiến trình tiếp:

 Cuối mỗi khoảng thời gian quy định

 Sự chờ vào/ra xảy ra sớm hơn một khoảng thời gian quy định

CHƯƠNG 7: QUẢN LÝ TIẾN TRÌNH

Trang 39

7.2 Sự điều phối tiến trình (Process Scheduling)

7.2.3 Các chiến lược điều phối:

+ Chiến lược xoay vòng (RRS - Round Robin Scheduling):

- Thường kết hợp với chiến lược ưu tiên

- Là chiến lược không độc quyền

- Mô tả cách xử lý n công việc với khoảng thời gian q:

 Mỗi công việc nhận 1/n thời gian xử lý

 Một khoảng thời gian quy định dài tối đa là q đơn vị

 Mỗi công việc sẽ chờ không quá (n-1)*q đơn vị

CHƯƠNG 7: QUẢN LÝ TIẾN TRÌNH

Trang 40

7.2 Sự điều phối tiến trình (Process Scheduling)

7.2.3 Các chiến lược điều phối:

+ Chiến lược xoay vòng (RRS - Round Robin Scheduling):

Khoảng thời gian quy định

Trang 41

7.2 Sự điều phối tiến trình (Process Scheduling)

7.2.3 Các chiến lược điều phối:

+ Chiến lược điều phối hàng đợi nhiều mức:

- Phân chia hàng đợi sẵn sàng ra nhiều hàng đợi độc lập

- Các tiến trình được phân chia cố định cho 1 hàng đợi dựa trên tính chất của tiến trình

- Mỗi hàng đợi có chiến lược điều phối riêng

- Giữa các hàng đợi cũng có chiến lược điều phối

CHƯƠNG 7: QUẢN LÝ TIẾN TRÌNH

Trang 42

7.2 Sự điều phối tiến trình (Process Scheduling)

7.2.3 Các chiến lược điều phối:

+ Chiến lược điều phối với nhiều mức ưu tiên:

- Các tiến trình sẵn sàng được phân thành nhiều danh sách riêng biệt theo mức độ ưu tiên

- Giữa các danh sách có chiến lược điều phối

- Tiến trình được cấp CPU khi các danh sách cấp ưu tiên cao hơn đã rỗng

- Mỗi danh sách áp dụng 1 chiến lược điều phối

CHƯƠNG 7: QUẢN LÝ TIẾN TRÌNH

Trang 43

7.2 Sự điều phối tiến trình (Process Scheduling)

7.2.3 Các chiến lược điều phối:

+ Chiến lược điều phối với nhiều mức ưu tiên:

- Ưu điểm:

- Nhược điểm:

 Giảm chi phí điều phối

 Thiếu linh động

- Hướng giải quyết:

 Thay đổi mức độ ưu tiên

1 Số lượng mức ưu tiên

2 Chiến lược điều phối

3 Xác định thời điểm

4 Xác định mức ưu tiên

CHƯƠNG 7: QUẢN LÝ TIẾN TRÌNH

Trang 44

7.3 Sự liên lạc và quan hệ giữa các tiến trình

7.3.1 Sự liên lạc giữa các tiến trình (IPC)

+ Cung cấp cơ chế liên lạc và đồng bộ giữa các tiến trình

Trang 45

7.3 Sự liên lạc và quan hệ giữa các tiến trình

7.3.1 Sự liên lạc giữa các tiến trình (IPC)

* Cấu trúc cơ bản:

send (message) receive (message)

kết nối

?

+ Thiết lập kết nối, một chiều hay hai chiều

+ Số lượng tiến trình liên kết thông qua một kết nối

+ Số lượng kết nối giữa hai tiến trình

+ Dung lượng của kết nối, độ lớn thông điệp

CHƯƠNG 7: QUẢN LÝ TIẾN TRÌNH

Trang 46

7.3 Sự liên lạc và quan hệ giữa các tiến trình

7.3.1 Sự liên lạc giữa các tiến trình (IPC)

* Cách thức liên lạc: trực tiếp hoặc gián tiếp

+ Liên lạc trực tiếp:

- Send (P, message): gửi 1 thông điệp cho tiến trình P

- Receive (Q, message): nhận 1 thông điệp từ tiến trình Q

- Tính chất:

 Tự động

 1 kết nối chỉ liên kết giữa 2 tiến trình và ngược lại

 Kết nối có thể là 1 chiều nhưng thường là 2 chiều

CHƯƠNG 7: QUẢN LÝ TIẾN TRÌNH

Trang 47

7.3 Sự liên lạc và quan hệ giữa các tiến trình

7.3.1 Sự liên lạc giữa các tiến trình (IPC)

* Cách thức liên lạc: trực tiếp hoặc gián tiếp

+ Liên lạc trực tiếp:

- Ví dụ: bài toán người sản xuất - người tiêu thụ

Tiến trình của người sản xuất:

Repeat

…Tạo ra SP trong nextp

…Send (NTT, nextp) Until false;

Tiến trình của người tiêu thụ:

Repeat

…Receive (NSX, nextp)

…Tiêu thụ SP trong nextc Until false;

CHƯƠNG 7: QUẢN LÝ TIẾN TRÌNH

Trang 48

7.3 Sự liên lạc và quan hệ giữa các tiến trình

7.3.1 Sự liên lạc giữa các tiến trình (IPC)

* Cách thức liên lạc: trực tiếp hoặc gián tiếp

+ Liên lạc gián tiếp:

- Các thông điệp được gửi và nhận từ hộp thư (mailbox)

- Mỗi hộp thư có một định danh duy nhất

- Các tiến trình liên lạc được với nhau khi có cùng hộp thư dùng chung

- Send (A, message): gửi 1 thông điệp đến hộp thư A

- Receive (A, message): nhận 1 thông điệp từ hộp thư A

CHƯƠNG 7: QUẢN LÝ TIẾN TRÌNH

Trang 49

7.3 Sự liên lạc và quan hệ giữa các tiến trình

7.3.1 Sự liên lạc giữa các tiến trình (IPC)

* Cách thức liên lạc: trực tiếp hoặc gián tiếp

+ Liên lạc gián tiếp:

- Tính chất:

 Kết nối hình thành khi có hộp thư chung

 1 kết nối có thể liên kết với hơn 2 tiến trình

 Giữa 2 tiến trình có thể có nhiều kết nối

 1 kết nối có thể 1 chiều hay 2 chiều

- Hộp thư có thể được sở hữu bởi tiến trình hay hệ thống

CHƯƠNG 7: QUẢN LÝ TIẾN TRÌNH

Trang 50

7.3 Sự liên lạc và quan hệ giữa các tiến trình

7.3.1 Sự liên lạc giữa các tiến trình (IPC)

* Vùng chứa (buffer):

+ Hàng đợi của các thông điệp liên quan đến sự kết nối

- Dung lượng 0: 2 tiến trình phải được đồng bộ cho việc truyền thông điệp  hẹn trước

+ Hàng đợi thực hiện theo 3 cách:

- Dung lượng giới hạn

- Dung lượng không giới hạn

CHƯƠNG 7: QUẢN LÝ TIẾN TRÌNH

Ngày đăng: 17/10/2014, 07:13

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w