Tải bản đầy đủ (.ppt) (61 trang)

Báo cáo hệ điều hành Quản lý tiến trình

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (292.9 KB, 61 trang )

HỆ ĐIỀU HÀNH
Quản lý tiến trình
2
NHÓM 2:

NGUYỄN THỊ HỒNG ANH

ĐỖ THỊ NGOC BÍCH

NGUYỄN THỊ NGỌC BÍCH

VŨ THỊ NGỌC BÍCH

NGUYỄN THỊ LINH CHI
3
NỘI DUNG
I. Mô hình tiến trình
II. Lập lịch tiến trình
III. Các hoạt động trên tiến trình
IV. Các tiến trình hợp tác ( Cooperating Processes )
V.Giao tiếp Liên tiến trình ( Interprocess
comunication )
4
I. Mô hình tiến trình
1. Khái niệm

Tiến trình (process):

Là một chương trình đang xử lý

Sở hữu 1 con trỏ lệnh, tập các thanh ghi, và


các biến.

Cần 1 số tài nguyên: CPU, memory,các tập
tin, và thiết bị xuất/nhập.
5
- Sự thực hiện tiến trình phải tiến hành theo kiểu tuần
tự.

Một tiến trình bao gồm:
- Program counter - bộ đếm chương trình
- Stack - ngăn xếp
- Data section – đoạn dữ liệu

6
Tiến trình trong bộ nhớ
7
2. Các đặc điểm của tiến trình

Tính hướng xuất/nhập

nhiều lượt sử dụng CPU, mỗi lượt trong thời gian
khá ngắn.

Tính hướng xử lý

Ít lượt sử dụng CPU, mỗi lượt trong thời gian đủ dài.

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

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


Thời gian đã sử dụng CPU của ttrình

Thời gian còn lại để ttrình hoàn tất.
8
3.Các trạng thái của tiến trình
Mới tạo Kết thúc
Ready
Ready
Running
Running
Blocked
Blocked
(1)
(5) (3)
(2)
(6)
(4)
9
Các trạng thái của tiến trình (tt)

Mới tạo: tiến trình đang được tạo lập

Ready: tiến trình chờ được cấp phát CPU để xử lý

Running: các lệnh của ttrình đang được xử lý.

Blocked: tiến trình chờ cấp phát tài nguyên, hay chờ
1 sự kiện xảy ra.


Kết thúc: tiến trình hoàn tất xử lý.
10
4. Chuyển đổi trạng thái của tiến trình

(1): ttrình mới tạo được đưa vào hệ thống.

(2): Bộ điều phối cấp phát cho ttrình 1 khoảng thời
gian sử dụng CPU.

(3): ttrình kết thúc.

(4): ttrình yêu tài nguyên nhưng chưa được đáp ứng;
hoặc phải chờ 1 sự kiện hay thao tác xuất/nhập.

(5): Bộ điều phối chọn ttrình khác để cho xử lý.

(6): tài nguyên yêu cầu đã sẵn sàng; hoặc sự kiện hay
tao tác xuất/nhập đã hoàn tất.
11
5. Chế độ xử lý của tiến trình

HĐH được bảo vệ khỏi sự xâm phạm của các ttrình.

Chế độ đặc quyền và không đặc quyền (htrợ bởi phần
cứng): tập lệnh CPU chia thành 2 tập.
OS
Hardware
Shell, editor
users
Chế độ không đặc quyền

Chế độ đặc quyền
12
6. Khối điều khiển tiến trình
Process Control Block (PCB)

Mỗi tiến trình được biểu diễn trong HĐH bởi một PCB.

Mỗi PCB chứa các thông tin được gắn với mỗi tiến trình:

Trạng thái tiến trình

Bộ đếm chương trình

Các thanh ghi của CPU

Thông tin lịch trình CPU

Thông tin quản lý bộ nhớ

Thông tin sử dụng CPU, thời gian, các số hiệu tiến trình…

Thông tin trạng thái vào/ra
13
Khối điều khiển tiến trình
Process Control Block (PCB)
14
Khối quản lý/điều khiển tiến trình

Process Control Block (PCB)
status

pid
Waiting/waiting list
CPU-state-rec
Processor
Main store
Resource
Created recource
Parent
Progency
Priority
CPU time
Unit 1 Unit 2
RCB 1 RCB 2
RCB 1 RCB 2
PCB
PCB 1 PCB 2

Ngữ cảnh của ttrình
Thông tin giao tiếp
Thông tin thống kê
Trạng thái ttrình
Định danh ttrình
15
7. Các thao tác trên tiến trình

Create: - Tạo PCB, xác định độ ưu tiên, cấp phát tài
nguyên ban đầu.
- Tạo lập ttrình con

Destroy: Thu hồi tài nguyên đã cấp phát, huỷ PCB.


Suspend (tạm dừng): hệ thống thực chức năng 1 cách
yếu kém, có thể bị thất bại.

Resume (tái kích hoạt)

Thay đổi độ ưu tiên
16
8. Điều phối tiến trình

Chia sẻ thời gian – để chuyển đổi CPU qua lại giữa các
ttrình.

Bộ phân phối (dispatcher)

Lựa chọn ttrình để xử lý tiếp theo.

Chuyển ngữ cảnh (context).

Mục tiêu điều phối (scheduling)

Sự công bằng (fairness)

Hiệu quả (efficiency)

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

Thời gian lưu lại hệ thống (turnaround time)

Thông lượng tối đa (throughput)

17
II. Lập lịch tiến trình (process
scheduling)

Mục tiêu của multiprogramming là có nhiều tiến trình
cùng chạy tại mọi thời điểm để tối đa hóa sử dụng CPU.
Mục tiêu của time-sharing là chuyển CPU giữa các tiến
trình càng thường xuyên càng tốt để người sử dụng có
thể tương tác với mỗi chương trình khi nó đang chạy.

Một HĐH đơn processor chỉ có thể chạy 1 tiến trình.

Nếu có nhiều tiến trình tồn tại, chúng phải đợi đến
khi CPU rỗi và được lập lịch lại.
18
1. Các queue lập lịch tiến trình

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 cư trú trong
bộ nhớ chính, đã sẵn sàng và chờ được thực hiện.

FIFO queue

Priority queue

Tree

Danh sách liên kết


Device queues – tập hợp các tiến trình đang chờ một
thiết bị vào/ra.

Tiến trình có thể di trú giữa các queue khác nhau.
19
Sơ đồ lập lịch tiến trình
20
2. Các trình lập lịch - Schedulers

Long-term scheduler (trình lập lịch dài kỳ) còn được gọi là job
scheduler.

lựa chọn những tiến trình nào nên được đưa từ đĩa vào trong
ready queue.

được sử dụng đến rất không thường xuyên (seconds, minutes)
may be slow.

kiểm soát mức đa chương trình (degree of multiprogramming),
vd: số tiến trình.

Short-term scheduler (trình lập lịch ngắn kỳ) còn được gọi là
CPU scheduler.

lựa chọn tiến trình nào nên được thực hiện kế tiếp và phân phối
CPU cho nó.

được sử dụng đến rất thường xuyên (milliseconds) must be fast.
21


Một số HĐH, như HĐH chia sẻ thời gian, có thể có
thêm trình lập

lịch trung kỳ (medium-term scheduler).

Tư tưởng là thực hiện swapping (kỹ thuật hoán
chuyển):

Đưa tiến trình ra khỏi bộ nhớ khi cần thiết

Khi cân đối giữa các tiến trình tính toán nhiều và tiến
trình vào/ra

nhiều

Khi cần giải phóng bộ nhớ cho việc khác

Sau đó đưa tiến trình trở lại bộ nhớ để thực hiện tiếp
22
3. Chuyển ngữ cảnh - Context
Switch
Các tiến trình có thể được mô tả là:

I/O-bound process – sử dụng nhiều thời gian thực
hiện vào/ra hơn việc tính toán, nhiều lần chiếm dụng
CPU ngắn. Cần chuyển ngữ cảnh thường xuyên tại
thời điểm bắt đầu và kết thúc I/O.

CPU-bound process – sử dụng nhiều thời gian cho
việc tính toán hơn; ít lần chiếm dụng CPU dài. Cũng

cần chuyển ngữ cảnh thường xuyên để

tránh tr.hợp một tiến trình ngăn chặn các tiến trình
khác sử dụng CPU.

23

Khi CPU chuyển tới một tiến trình khác, hệ thống phải lưu trạng
thái

của tiến trình trước và nạp trạng thái đã lưu cho tiến trình mới.

Thời gian chuyển ngữ cảnh phụ thuộc vào sự hỗ trợ phần cứng.

Hệ thống thực hiện công việc vô ích trong khi chuyển (ngữ
cảnh).

3.3. Các hoạt động trên tiến trình

Các tiến trình trong hệ thống có thể thực hiện đồng

thời, và chúng phải được tạo (create) và xóa

(delete) một cách tự động.

Do đó HĐH phải cung cấp kỹ thuật tạo và xóa tiến

trình.
24
III. Các hoạt động trên tiến trình

Các tiến trình trong hệ thống có thể thực hiện
đồng thời, và chúng phải được tạo (create) và xóa
(delete) một cách tự động. Do đó HĐH phải cung
cấp kỹ thuật tạo và xóa tiến trình.
1. Sự tạo tiến trình - Process Creation

Tiến trình cha (parent process) tạo ra các tiến trình
con (children processes), chúng lần lượt tạo ra các
tiến trình con khác tạo thành cây tiến trình (tree of
processes).

Tạo tiến trình là một công việc "nặng nhọc" vì phải
phân phối bộ nhớ và tài nguyên.
25

×