Quản lý tiến trình
Trang 1Bagi 3: QUAUN LYU TIEAN TRINH
Phaan chia CPU cho cauc tiean trinh
Trang 2Phân chia CPU ?
= 1 CPU vaat lyu : làm
thea nago fea taio ato
giauc moai tiean trinh sod Mày VŸÝ
hữu CPU rieang cuda mình ?
chuyền CPU giưưa caúc
tiến trình:
=5 Ngữ caƠnh xưƠ lý riêng
biệt cho mội tiến trình
Trang 4Khoái quaũñn lyù tieán trình trong moa hinh multiprocesses
Trang 6Các thao tác trên tiến trình
= Taio lập tiến trình :
- Cấp phát tài nguyện cho tiến trình
con ?
= Hoait noang cuua cha va@ con độc lập
= Keat thuuc tiean trinh :
=" Thu hoai tagi nguyean ?
= Eup buoac keat thuuc ?
= Thay foai trạng thái tiến trình :
Assign(), Block(), Awake(), Resume(), Suspend()
Trang 7Trạng thái tiến trình ?2
Cou nhu caau Suspend &Resume :
=" Hea thoang quau taui
"= Kieam soát hoạt động cuơa tiến trình con
Trang 8An ninh trật tưi cho môi trường na tiến trình !
“ Bao vệ tiến trình :
= Ngắn caun các tiến trình xaam phaim tài nguyean, can thiệp vagoxou lyu cuua nhau => KGNC rieang bieat, 2 mode xou lyu
= Bado đâ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 looic phaan phoai tagi nguyean
"= Trao hoai thông tin , phối hợp hoạt
nong ?
=" Nhu caau ?
= Giadi phaup ?
Trang 10
+ Niều phối tiến trình
" Muic tieau ?
" Cauc caap noa nieau phoai
“ Thời điệm ra quyết định
Trang 11
+ Nieau phoai tieán trình
> choin moat tiean
Trang 12Chuyean fioai ng66 cadnh (context
= Lou ngoo caunh tiean trinh hiean hagnh
=" Naip ngoo caunh tiean trinh nooic choin kea tieap
“ Chi tiedt cui thea phul thuoac vago
phaan coung
=" general-purpose & floating point registers, co-processor state
" Chi phi chuyean đối ngữ cađơnh :
" Giữa cCác tiến trình ?
“ Giữa các tiệu trình ?
12
Trang 13Chuyean đoải ngữ caơnh giữa các
= Chuyean foai mode xod lyu
= Chuyean fioai IP vag cauc thanh ghi khauc cuda CPU
=» Chuyean đội không gian địa chœ
13
Trang 14Tiệu trình hạt nhân (Kernel thread)
= Khati nieam tieau trinh hddic xaay dding
bean trong hait nhaan
= Distpatcher lagm vieac voul Non vo là tieau trinh
14
Trang 15Tiệu trình người dùng (User
thread)
= Khaui nieam tieau trình được | User
hộã trơi bơơi moat tho viean hoait hoang trong user mode mM
NN FT NNW
nRNrN FTF NNW
= P LWP-T
chea Noa xou lyu khi chuyean đoải các tiệu trình cùng
Kernel
mada 15
Trang 16Lựa choin tiến trình 2
=" Tauc vul cuda Scheduler
= Muic tieau ?
= Sou duing CPU hieau quad
= Nadm bado taat cad cauc tiean trình đều tiến triện xươ lyt
" Tieau chuaan loia choin ?
" Taat cau cauc tiean trinh neau nho nhau ?
= Nea xuaat moat hoa 6u tiean cho moai
tiean trinh ?
" Thogi hieam loia choin ? (Thégi hieam kich hoait Scheduler())
16
Trang 17Muic tiêu điều phối
# Chờ (Waiting Time = T ,,, reaay ) :
44 Thông looing (Throughput = # jobs/s )
*#* Hieau suaat Tagi nguyean
ỷ Chi phí chuyean foai
" Coang baeng ( Fairness) : Taat cau
cauc tiean trinh neau cou co hoai nhaan CPU
quit -T arrive) :
17
Trang 18
Longterm scheduling : choin tiến trình kế tiếp
vao bộ nhớ và nhận
traing thái ready)
Mediumterm
running sang traing thái
blocked
Shorterm scheduling:
choin 1 tiean trinh ou traing
Sang traing thaui running
Không cou soi phaan bieat
giữa 3 caap Noa
Cauc caap noa nieau phoai
transput wait E—
main-store wait E—
Trang 19Thời điệm ra quyết định điều
nhối
= Nieau phoai độc quyền (non-preemptive
scheduling): tiến trình được choin độc chiếm CPU
“Điều phối không độc quyền
(preemptive scheduling): tiến trình được
chọn có thệ bị « cướp » CPU bơơi tiến trình
cou Noa ưu tiên cao hơn