Chương III: Quá trình
lượt xem 3
download
Cái gì gọi các hoạt động của CPU? Hệ thống bó (Batch system): jobs Time-shared systems: user programs, tasks Các hoạt động là tương tự = gọi là process Quá trình (process) một chương trình đang thực thi Một quá trình bao gồm Text section (program code), data section (chứa global variables) program counter (PC), process status word (PSW), stack pointer (SP), memory management registers,…
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Chương III: Quá trình
- Chöông III: Quaù trình (Process) Khaùi nieäm cô baûn Traïng thaùi quaù trình Khoái ñieàu khieån quaù trình (Process control block) Ñònh thôøi quaù trình (Process Scheduling) Caùc taùc vuï ñoái vôùi quaù trình Söï coäng taùc giöõa caùc quaù trình Giao tieáp giöõa caùc quaù trình Khoa KTMT Vũ Đức Lung 1
- 3.1. Khaùi nieäm cô baûn Caùi gì goïi caùc hoaït ñoäng cuûa CPU? – Heä thoáng boù (Batch system): jobs – Time-shared systems: user programs, tasks – Caùc hoaït ñoäng laø töông töï => goïi laø process Quaù trình (process) – moät chöông trình ñang thöïc thi Moät quaù trình bao goàm – Text section (program code), data section (chöùa global variables) – program counter (PC), process status word (PSW), stack pointer (SP), memory management registers,… Khoa KTMT Vũ Đức Lung 2
- 3.1. Khaùi nieäm cô baûn Caùc böôùc naïp chöông trình vaøo boä nhôù Khoa KTMT Vũ Đức Lung 3
- 3.1. Khaùi nieäm cô baûn chöông trình =>quaù trình Duøng load module ñeå bieåu dieãn chöông trình thöïc thi ñöôïc Layout luaän lyù cuûa process image Executable binary file Process image in (load module) main memory start address program program code code data data stack Khoa KTMT Vũ Đức Lung 4
- 3.1. Khaùi nieäm cô baûn Khôûi taïo quaù trình Caùc böôùc heä ñieàu haønh khôûi taïo quaù trình – Caáp phaùt moät ñònh danh duy nhaát (process number hay process identifier, pid) cho quaù trình – Caáp phaùt khoâng gian nhôù ñeå naïp quaù trình – Khôûi taïo khoái döõ lieäu Process Control Block (PCB) cho quaù trình PCB laø nôi heä ñieàu haønh löu caùc thoâng tin veà quaù trình – Thieát laäp caùc moái lieân heä caàn thieát (vd: saép PCB vaøo haøng ñôïi ñònh thôøi,…) Khoa KTMT Vũ Đức Lung 5
- 3.2.Traïng thaùi quaù trình Caùc traïng thaùi cuûa quaù trình (process states): – new: quaù trình vöøa ñöôïc taïo – ready: quaù trình ñaõ coù ñuû taøi nguyeân, chæ coøn caàn CPU – running: caùc leänh cuûa quaù trình ñang ñöôïc thöïc thi – waiting: hay laø blocked, quaù trình ñôïi I/O hoaøn taát, tín hieäu. – terminated: quaù trình ñaõ keát thuùc. Khoa KTMT Vũ Đức Lung 6
- 3.2.Traïng thaùi quaù trình Chuyeån ñoåi giöõa caùc traïng thaùi cuûa quaù trình terminated terminated new new admit dispatch exit ready ready running running interrupt I/O or event I/O or completion event wait waiting waiting Khoa KTMT Vũ Đức Lung 7
- 3.2.Traïng thaùi quaù trình Ví duï Chuoãi traïng thaùi cuûa /* test.c */ quaù trình test nhö sau int main(int argc, char** argv) { (tröôøng hôïp toát printf(“Hello world\n"); nhaát): exit(0); } – new – ready Bieân dòch chöông trình trong Linux – running gcc test.c –o test – waiting (do chôø I/O khi goïi printf) Thöïc thi chöông trình test ./test – ready – running Trong heä thoáng seõ coù moät – terminated quaù trình test ñöôïc taïo ra, thöïc thi vaø keát thuùc. Khoa KTMT Vũ Đức Lung 8
- 3.3.Process control block Ñaõ thaáy laø moãi quaù trình trong heä thoáng ñeàu ñöôïc caáp phaùt moät Process Control Block (PCB) PCB laø moät trong caùc caáu truùc döõ lieäu quan troïng nhaát cuûa heä ñieàu haønh vaø goàm: - Traïng thaùi quaù trình: new, ready, running,… - Boä ñeám chöông trình - Caùc thanh ghi - Thoâng tin laäp thôøi bieåu CPU: ñoä öu tieân, … - Thoâng tin quaûn lyù boä nhôù - Thoâng tin taøi khoaûn: löôïng CPU, thôøi gian söû duïng, - Thoâng tin traïng thaùi I/O Khoa KTMT Vũ Đức Lung 9
- 3.3.Process control block Löu ñoà chuyeån CPU töø quaù trình naøy ñeán quaù trình khaùc Khoa KTMT Vũ Đức Lung 10
- Yeâu caàu ñoái vôùi heä ñieàu haønh veà quaûn lyù quaù trình Hoã trôï söï thöïc thi luaân phieân giöõa nhieàu quaù trình – Hieäu suaát söû duïng CPU – Thôøi gian ñaùp öùng Phaân phoái taøi nguyeân heä thoáng hôïp lyù – traùnh deadlock, trì hoaõn voâ haïn ñònh,… Cung caáp cô cheá giao tieáp vaø ñoàng boä hoaït ñoäng caùc quaù trình Cung caáp cô cheá hoã trôï user taïo/keát thuùc quaù trình Khoa KTMT Vũ Đức Lung 11
- Quaûn lyù caùc quaù trình: caùc haøng ñôïi Ví duï caùc PCB running 7 process number ready 11 4 2 17 waiting 19 11 Coù gì sai trong ví duï? Khoa KTMT Vũ Đức Lung 12
- 3.4. Ñònh thôøi quaù trình (Process Scheduling) Taïi sao phaûi ñònh thôøi? – Ña chöông (Multiprogramming) Coù vaøi quaù trình chaïy taïi caùc thôøi ñieåm Muïc tieâu: taän duïng toái ña CPU – Chia thôøi(Time-sharing) Users töông taùc vôùi moãi chöông trình ñang thöïc thi Muïc tieâu: toái thieåu thôøi gian ñaùp öùng Moät soá khaùi nieäm cô baûn – Caùc boä ñònh thôøi (scheduler) – Caùc haøng ñôïi ñònh thôøi (scheduling queue) Khoa KTMT Vũ Đức Lung 13
- Caùc haøng ñôïi ñònh thôøi (Scheduling queues) Haøng ñôïi coâng vieäc- Job queue Haøng ñôïi saün saøng- Ready queue Haøng ñôïi thieát bò- Device queues … Khoa KTMT Vũ Đức Lung 14
- Caùc haøng ñôïi ñònh thôøi (Scheduling queues) Löu ñoà haøng ñôïi cuûa ñònh thôøi quaù trình Khoa KTMT Vũ Đức Lung 15
- 3.5. Boä ñònh thôøi (Scheduler) Boä ñònh thôøi coâng vieäc (Job scheduler) hay boä ñònh thôøi daøi (long-term scheduler) Boä ñònh thôøi CPU hay boä ñònh thôøi ngaén Caùc quaù trình coù theå moâ taû nhö: – Quaù trình höôùng I/O (I/O bound process) – Quaù trình höôùng CPU (CPU bound process) Thôøi gian thöïc hieän khaùc nhau => keát hôïp haøi hoøa giöõa chuùng Khoa KTMT Vũ Đức Lung 16
- Boä ñònh thôøi trung gian(mediumterm scheduling) Ñoâi khi heä ñieàu haønh (nhö time-sharing system) coù theâm medium-term scheduling ñeå ñieàu chænh möùc ñoä ña chöông cuûa heä thoáng Medium-term scheduler – chuyeån quaù trình töø boä nhôù sang ñóa (swap out) – chuyeån quaù trình töø ñóa vaøo boä nhôù (swap in) Khoa KTMT Vũ Đức Lung 17
- 3.6. Caùc taùc vuï ñoái vôùi quaù trình Taïo quaù trình môùi (process creation) – Moät quaù trình coù theå taïo nhieàu quaù trình môùi thoâng qua moät lôøi goïi heä thoáng create-process (vd: haøm fork trong Unix) Ví duï: (Unix) Khi user ñaêng nhaäp heä thoáng, moät command interpreter (shell) seõ ñöôïc taïo ra cho user Quaù trình ñöôïc taïo laø quaù trình con cuûa quaù trình taïo (quaù trình cha). Quan heä cha-con ñònh nghóa moät caây quaù trình. Khoa KTMT Vũ Đức Lung 18
- Caây quaù trình trong Linux/Unix Ví duï Khoa KTMT Vũ Đức Lung 19
- 3.6.Caùc taùc vuï ñoái vôùi quaù trình Taïo quaù trình môùi – Quaù trình con nhaän taøi nguyeân: töø HÑH hoaëc töø P cha – Chia seû taøi nguyeân cuûa quaù trình cha Quaù trình cha vaø con chia seû moïi taøi nguyeân Quaù trình con chia seû moät phaàn taøi nguyeân cuûa cha – Trình töï thöïc thi Quaù trình cha vaø con thöïc thi ñoàng thôøi (concurrently) Quaù trình cha ñôïi ñeán khi caùc quaù trình con keát thuùc. Khoa KTMT Vũ Đức Lung 20
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Microsoft Excel - Chương III HÀM (FUNCTION)
9 p | 286 | 125
-
Xử lý tín hiệu số_Chương 4
20 p | 258 | 117
-
Giáo trình học Excel: Chương III HÀM (FUNCTION)
0 p | 320 | 113
-
Nhập môn kỹ nghệ phần mềm - Chương 3
34 p | 313 | 105
-
Chương III - Các Hệ Mật Mã Công Khai
48 p | 212 | 52
-
Hướng dẫn sử dụng Outlook 2010 part 19
6 p | 134 | 48
-
Giáo trình Ghép nối thiết bị ngoại vi - Phạm Đức Long
110 p | 236 | 43
-
CHƯƠNG 4: PHÂN TÍCH TÍN HIỆU & HỆ THỐNG RỜI RẠC LTI Ở MIỀN TẦN SỐ
17 p | 199 | 37
-
Báo cáo về tài liệu phục vụ công tác đào tạo: Nghiên cứu ứng dụng công nghệ đa phương tiện nhằm nâng cao văn hóa truyền thống Việt Nam
61 p | 206 | 27
-
LẬP TRÌNH TRỰC QUAN - PHẦN I MICROSOFT ACCESS - BÀI 1
6 p | 138 | 22
-
Bài giảng Kỹ thuật lập trình: Chương III - Lưu Hồng Việt
51 p | 147 | 15
-
Quá trình hình thành giáo trình tần số truyền thông và các đặc tính của phương tiện truyền dẫn p8
11 p | 74 | 8
-
Kỹ thuật lập trình - Chương 9: Khuôn mẫu hàm và khuôn mẫu lớp
23 p | 61 | 5
-
Hệ điều hành 1 - Chương III: Qúa trình (hay tiến trình) (process)
27 p | 67 | 4
-
Tài liệu giảng dạy Thiết kế nhận diện thương hiệu - Trường Cao đẳng Công nghệ TP. HCM
764 p | 8 | 4
-
Chương 1Kỹ thuật lập trìnhPhần III: Lập trình hướng ₫ối tượng Chương 5:
19 p | 60 | 3
-
Kỹ thuật lập trình- Chương 5: Lớp và đối tượng
19 p | 46 | 3
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn