Hệ điều hành 1 - Chương III: Qúa trình (hay tiến trình) (process)
lượt xem 4
download
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 – thong tin du lieu di kem) program counter (PC- lưu lại vị trí dòng lệnh đang được thực thi), process status word (PSW- có nhiều trạng thái như ready, running..), stack pointer (SP)con trỏ tới vị trí típ theo, memory management registers,…...
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Hệ điều hành 1 - Chương III: Qúa trình (hay tiến trình) (process)
- Chöông III: Quaù trình (hay tieán 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 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 – thong tin du lieu di kem) – program counter (PC- löu laïi vò trí doøng leänh ñang ñöôïc thöïc thi), process status word (PSW- coù nhieàu traïng thaùi nhö ready, running..), stack pointer (SP)con troû tôùi vò trí típ theo, memory management registers,… Khoa KTMT 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 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 Stack laø vuøng löu tröõ döõ lieäu taïm Executable binary file Process image in (load module) main memory start address program program code code data data stack Khoa KTMT 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 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 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 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 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 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 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 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 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 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 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 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 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 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 18
- Caây quaù trình trong Linux/Unix Ví duï Khoa KTMT 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 20
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Hướng dẫn: Cài đặt nhiều hệ điều hành trên máy ảo
11 p | 1694 | 400
-
1. Linux là gì? Linux là hệ điều hành. Về mặt nguyên tắc hệ điều hành cũng
5 p | 1841 | 292
-
Nhập môn hệ điều hành Linux part 1
0 p | 560 | 179
-
Giáo trình Hệ điều hành Linux: Phần 1 - Viện CNTT - ĐH quốc gia Hà Nội
20 p | 786 | 172
-
Giáo trình Hệ điều hành phân tán: Phần 1
102 p | 155 | 13
-
Bài giảng Hệ điều hành linux: Phần 1 - Trường TCN Đông Sài Gòn
61 p | 55 | 10
-
Giáo trình Lý thuyết hệ điều hành: Phần 1 - Nguyễn Kim Tuấn
110 p | 42 | 9
-
Bài giảng Nhập môn Hệ điều hành Unix (Bài giảng tuần 1) – Nguyễn Hải Châu
6 p | 220 | 8
-
Bài giảng Hệ điều hành nâng cao - Chapter 1: Introduction
48 p | 142 | 8
-
Giáo trình Hệ điều hành - NXB Hà Nội: Phần 1
70 p | 74 | 8
-
Bài giảng Hệ điều hành: Phần 1 - Trường Đại học Kiến trúc Hà Nội
98 p | 19 | 7
-
Giáo trình Hệ điều hành: Phần 1 (Năm 2015)
91 p | 23 | 5
-
Bài giảng Hệ điều hành: Chapter 1 - ThS. Trần Thị Như Nguyệt
42 p | 69 | 5
-
Bài giảng Nhập môn Công nghệ thông tin 1: Giới thiệu về hệ điều hành
38 p | 40 | 4
-
Bài giảng Tin học căn bản - Bài 1: Hệ điều hành
43 p | 25 | 3
-
Giáo trình Hệ điều hành Linux 1 (Ngành: Quản trị mạng máy tính - Trình độ Cao đẳng) - Trường Cao đẳng Hòa Bình Xuân Lộc
82 p | 4 | 3
-
Giáo trình Hệ điều hành Linux 2 (Ngành: Quản trị mạng máy tính - Trình độ Cao đẳng) - Trường Cao đẳng Hòa Bình Xuân Lộc
79 p | 4 | 3
-
Giáo trình Hệ điều hành Linux (Ngành: Quản trị mạng máy tính – Trình độ Trung cấp) - Trường Cao đẳng Hòa Bình Xuân Lộc
79 p | 1 | 1
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