5
PCB và TCB trong mô hình multithreads
pid
Threads list
Context
(Mem, global
ressources…)
Scheduling statistic
Relatives
( Dad, children)
PCB
tid
State
(State, details)
Context
(IP, local stack…)
Thread Control Block
TCB
6
Các thao tác trên tiến trình
Tạo lập tiến trình :
Cấp phát tài nguyên cho tiến trình con ?
Hoạt động của cha và con độc lập
Kết thúc tiến trình :
Thu hồi tài nguyên ?
p buộc kết thúc ?
Thay đổi trạng thái tiến trình :
Assign(), Block(), Awake(), Resume(),
Suspend()
7
Trạng thái tiến trình ?
Có nhu cầu Suspend &Resume :
Hệ thống quá tải
Kiểm soát hoạt động của tiến trình con
8
An ninh trật tự cho môi trường đa tiến trình !
Bảo vệ tiến trình :
Ngăn cản các tiến trình xâm phạm tài nguyên, can
thiệp vàoxử lý của nhau => KGĐC riêng biệt, 2
mode xử lý
Bảo đảm quyền tiến triển xử lý cho mỗi tiến trình
=> công bằng trong các chiến lược phân phối tài
nguyên.
Trao đổi thông tin , phối hợp hoạt động ?
Nhu cầu ?
Vấn đề ? => Chương kế tiếp
Giải pháp ?
9
Các danh sách tiến trình
Ready List
P1
P4
P5
Waiting Lists
R1
P7
P2
P10
P3
P6
R1
R1
10
Điều phối tiến trình
Mục tiêu ?
Các cấp độ điều phối
Thời điểm ra quyết đònh điều phối ?
Đánh giá chiến lược điều phối ?
Một số chiến lược điều phối
11
Điều phối tiến trình
SCHEDULER
SCHEDULER
chọn một tiến trình
chọn một tiến trình
nhận cpu
nhận cpu
DISPATCH
DISPATCH
ER
ER
chuyển đổi ngữ
chuyển đổi ngữ
cảnh
cảnh
12
Chuyển đổi ngữ cảnh (context switching)
Kòch bản :
Lưu ngữ cảnh tiến trình hiện hành
Nạp ngữ cảnh tiến trình được chọn kế tiếp
Chi tiết cụ thể phụ thuộc vào phần cứng
general-purpose & floating point registers, co-
processor state…
Chi phí chuyển đổi ngữ cảnh :
Giữa các tiến trình ?
Giữa các tiểu trình ?
13
Chuyển đổi ngữ cảnh giữa các tiến trình
Chuyển đổi mode xử lý
Chuyển đổi IP và các thanh ghi khác của CPU
Chuyển đổi không gian đòa chỉ
P1 P2
Dispatcher
System call
User mode
Kernel mode
14
Tiểu trình hạt nhân (Kernel thread)
Khái niệm tiểu trình được xây dựng bên trong hạt
nhân
Distpatcher làm việc với đơn vò là tiểu trình
T1 T2
Dispatcher
System call
User mode
Kernel mode
Không có nhận xét nào:
Đăng nhận xét