1 of 23

Nguyên lý hệ điều hành

Chương 2: Tiến trình

2 of 23

Nội dung

2

`

Khái niệm tiến trình

Mô hình trạng thái Thao tác trên tiến trình

Khối điều khiển tiến trình (PCB)

Quan hệ giữa các tiến trình

Định thời tiến trình Điều phối tiến trình

3 of 23

Khái niệm tiến trình

3

  • Tiến trình (Process): Chương trình đang được xử lý
  • Một tiến trình gồm :
    • Text section (programcode), data section (chứa variable)
    • Program counter (PC), process status word (PSSW), stacfk pointer (SP), memory management register,…

4 of 23

Khái niệm tiến trình

4

  • Tiến trình hệ thống : được sinh ra khi thực hiện các lời gọi hệ thống

  • Tiến trình người sử dụng : được sinh ra khi thực thi chương trình của người sử dụng

5 of 23

Phân loại tiến trình

5

  • Tiến trình kế tiếp
  • Tiến trình song song :

6 of 23

Mô hình trạng thái

Trạng thái của tiến trình là hoạt động hiện hành của tiến trình

  • new: Tiến trình đang được tạo lập
  • running: Các chỉ thị của tiến trình đang được xử lý
  • waiting: Tiến trình đang chờ được cấp phát tài nguyên hay chờ một sự kiện xảy ra
  • ready: Tiến trình chờ được cấp phát CPU để xử lý
  • terminated: Tiến trình hoàn tất xử lý

6

7 of 23

Mô hình trạng thái

7

  • Sơ đồ chuyển trạng thái của tiến trình

8 of 23

Thao tác trên tiến trình

8

Khởi tạo tiến trình:

  • Cấp phát một định danh duy nhất cho tiến trình
  • Cấp phát ko gian nhớ để nạp tiến trình
  • Khởi tạo PCB cho tiến trình
  • Thiết lập các mối liên hệ cần thiết
  • Một tiến trình có thể tạo lập nhiều tiến trình mới

9 of 23

Thao tác trên tiến trình

9

Khởi tạo tiến trình:

Khi tạo lập tiến trình, HĐH cần thực hiện

  • Định danh cho tiến trình (PID)
  • Đưa tiến trình vào danh sách quản lý của hệ thống
  • Xác định độ ưu tiên của tiến trình
  • Tạo khối quản lý tiến trình (PCB)
  • Cấp phát tài nguyên ban đầu cho tiến trình

10 of 23

Thao tác trên tiến trình

10

Kết thúc tiến trình:

Khi kết thúc tiến trình, HĐH cần thực hiện

  • Thu hồi các tài nguyên của hệ thống đã cấp phát cho tiến trình
  • Hủy tiến trình khỏi tất cả các danh sách quản lý của hệ thống
  • Hủy bỏ PCB của hệ thống

11 of 23

Khối điều khiển tiến trình (PCB)

11

  • Khối quản lý tiến trình (PCB – Process Control

Block)

12 of 23

Quan hệ giữa các tiến trình

12

  • Tiến trình độc lập : là tiến trình không thể ảnh hưởng hay bị ảnh hưởng bởi tiến trình khác thực thi trong hệ thống
  • Tiến trình hợp tác : là tiến trình có thể ảnh hưởng hay bị ảnh hưởng bởi tiến trình khác thực thi trong hệ thống

13 of 23

Quan hệ giữa các tiến trình

13

Liên lạc giữa các tiến trình

  • Đặt tên :
    • Giao tiếp trực tiếp : Send(P,msg); Receive(Q,msg)
    • Giao tiếp gián tiếp : Send(A,msg); Receive(B,msg)
  • Đồng bộ hóa
  • Tạo vùng đệm

14 of 23

Định thời tiến trình

14

Tại sao phải định thời?

Các hàng đợi định thời :

  • Job queue: Tập hợp tất cả các tiến trình trong hệ thống
  • Ready queue: Tập hợp tất cả các tiến trình trong hệ thống sẵn sàng và chờ thực thi.
  • Device queues: Tập hợp các tiến trình chờ để tham gia quá trình nhập/xuất

15 of 23

15

Định thời tiến trình

Các hàng đợi định thời

16 of 23

Định thời tiến trình

16

Các bộ định thời :

  • Bộ định thời dài
  • Bộ định thời ngắn
  • Bộ định thời trung gian

17 of 23

Điều phối tiến trình

17

  • Mục tiêu điều phối
  • Tiêu chuẩn điều phối
  • Đồng hồ ngắt thời gian
  • Độ ưu tiên của tiến trình

18 of 23

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

18

  • Sự công bằng giữa các tiến trình
  • Tính hiệu quả
  • Cực tiểu hóa thời gian lưu lại trong hệ thống
  • Thời gian đáp ứng hợp lý
  • Thông lượng tối đa

19 of 23

Tiêu chuẩn điều phối

19

  • Tính hướng IO của tiến trình
  • Tính hướng xử lý của tiến trình
  • Tiến trình tương tác hay xử lý theo lô
  • Độ ưu tiên của tiến trình
  • Thời gian sử dụng CPU của tiến trình
  • Thời gian còn lại tiến trình cần để hoàn tất

20 of 23

Chế độ xử lý

20

  • Có 2 chế độ xử lý :

21 of 23

Đồng hồ ngắt thời gian

21

  • Bộ đếm thời gian quy định một thông số thời gian t thích hợp ứng với một lượt cấp CPU cho một tiến trình
  • Sau một khoảng thời gian t sẽ xảy ra một ngắt báo hiệu hết thời gian sử dụng CPU của tiến trình hiện hành. HĐH sẽ thu hồi CPU và bộ điều phối sẽ quyết định tiến trình nào sẽ được cấp phát

22 of 23

Độ ưu tiên của tiến trình

22

  • Là giá trị giúp phân định tầm quan trọng của tiến trình
  • Độ ưu tiên tĩnh :
    • Được gán sẵn cho tiến trình khi mới được tạo ra
    • Không thay đổi
  • Độ ưu tiên động : thay đổi theo thời gian và môi trường xử lý của tiến trình

23 of 23

Hết Chương