Bài 3 : QUẢN LÝ TIẾN TRÌNH
lượt xem 5
download
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 ? Ep buộc kết thúc ? Thay đổi trạng thái tiến trình : Assign(), Block(), Awake(), Resume(), Suspend()
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Bài 3 : QUẢN LÝ TIẾN TRÌNH
- Baøi 3 : QUAÛN LYÙ TIEÁN TRÌNH Phaân chia CPU cho caùc tieán trình ? Tieáp caän Muïc tieâu ? Toå chöùc ? Chieán löôïc ? Traïng thaùi tieán trình ? Löu tröõ thoâng tin tieán trình ? Caùc thao taùc treân tieán trình ? Baûo veä tieán trình ? Trao ñoåi thoâng tin giöõa caùc tieán trình ? 1
- Phaân chia CPU ? 1 CPU vaät lyù : laøm theá naøo ñeå taïo aûo giaùc moãi tieán trình CPU while(1) sôû höõu CPU { rieâng cuûa interrupt Pcur save state Pcur mình ? Scheduler gets Pnext Dispatcher luaân load state Pnext chuyeån CPU jump to it } giöõa caùc tieán trình: 2
- Traïng thaùi tieán trình ? Nhaän CPU ready running Rs Rs Traû CPU CPU CPU blocked Chôø R Nhaän R Rs CPU 3
- Khoái quaûn lyù tieán trình trong moâ hình multiprocesses Process control Block pid PCB State (State, details) Context (IP, Mem, Files…) Relatives ( Dad, children) Scheduling statistic 4
- PCB vaø TCB trong moâ hình multithreads PCB pid Thread Control Block TCB Threads list Context tid (Mem, global State ressources…) (State, details) Relatives Context ( Dad, children) (IP, local stack…) Scheduling statistic 5
- Caùc thao taùc treân tieán trình Taïo laäp tieán trình : Caáp phaùt taøi nguyeân cho tieán trình con ? Hoaït ñoäng cuûa cha vaø con ñoäc laäp Keát thuùc tieán trình : Thu hoài taøi nguyeân ? Eùp buoäc keát thuùc ? Thay ñoåi traïng thaùi tieán trình : Assign(), Block(), Awake(), Resume(), 6
- Traïng thaùi tieán trình ? Coù nhu caàu Suspend &Resume : Heä thoáng quaù taûi Kieåm soaùt hoaït ñoäng cuûa tieán trình con 7
- An ninh traät töï cho moâi tröôøng ña tieán trình ! Baûo veä tieán trình : Ngaên caûn caùc tieán trình xaâm phaïm taøi nguyeân, can thieäp vaøoxöû lyù cuûa nhau => KGÑC rieâng bieät, 2 mode xöû lyù Baûo ñaûm quyeàn tieán trieån xöû lyù cho moãi tieán trình => coâng baèng trong caùc chieán löôïc phaân phoái taøi nguyeân. Trao ñoåi thoâng tin , phoái hôïp hoaït ñoäng ? Nhu caàu ? Vaán ñeà ? => Chöông keá tieáp Giaûi phaùp ? 8
- Caùc danh saùch tieán trình Ready List P1 P5 P4 Waiting Lists R1 P2 P7 R1 P3 P10 R1 P6 9
- Ñieàu phoái tieán trình Muïc tieâu ? Caùc caáp ñoä ñieàu phoái Thôøi ñieåm ra quyeát ñònh ñieàu phoái ? Ñaùnh giaù chieán löôïc ñieàu phoái ? Moät soá chieán löôïc ñieàu phoái 10
- Ñieàu phoái tieán trình SCHEDULER choïn moät tieán trình nhaän cpu DISPATCH ER chuyeån ñoåi ngöõ caûnh 11
- Chuyeån ñoåi ngöõ caûnh (context switching) Kòch baûn : Löu ngöõ caûnh tieán trình hieän haønh Naïp ngöõ caûnh tieán trình ñöôïc choïn keá tieáp Chi tieát cuï theå phuï thuoäc vaøo phaàn cöùng general-purpose & floating point registers, co- processor state… Chi phí chuyeån ñoåi ngöõ caûnh : Giöõa caùc tieán trình ? Giöõa caùc tieåu trình ? 12
- Chuyeån ñoåi ngöõ caûnh giöõa caùc tieán trình P1 P2 User mode System call Kernel Dispatc mode her Chuyeån ñoåi mode xöû lyù Chuyeån ñoåi IP vaø caùc thanh ghi khaùc cuûa CPU Chuyeån ñoåi khoâng gian ñòa chæ 13
- Tieåu trình haït nhaân (Kernel thread) T1 T2 User mode System call Kernel mode Dispatcher Khaùi nieäm tieåu trình ñöôïc xaây döïng beân trong haït nhaân Distpatcher laøm vieäc vôùi ñôn vò laø tieåu trình 14
- Tieåu trình ngöôøi duøng (User thread) Khaùi nieämtieåu trình ñöôïc User hoã trôï bôûi moät thö vieän mode hoaït ñoäng trong user mode T1 T2 T3 Distpatcher cuûa haït nhaân laøm vieäc vôùi ñôn vò laø tieán trình LWP1 LWP2 ThreadDistpatcher laømvieäc vôùi ñôn vò laø tieåu trình P -– LWP - T Khoâng caàn chuyeån P1 P2 ñoåi cheá ñoä xöû lyù khi Kernel chuyeån ñoåi caùc tieåu trình cuøng thuoäc 1 Kernel 15 tieán trình.
- Löïa choïn tieán trình ? Taùc vuï cuûa Scheduler Muïc tieâu ? Söû duïng CPU hieäu quaû Ñaûm baûo taát caû caùc tieán trình ñeàu tieán trieån xöû lyù Tieâu chuaån löïa choïn ? Taát caû caùc tieán trình ñeàu nhö nhau ? Ñeà xuaát moät ñoä öu tieân cho moãi tieán trình ? Thôøi ñieåm löïa choïn ? (Thôøi ñieåm kích hoaït Scheduler()) 16
- Muïc tieâu ñieàu phoái Hieäu quûa (Efficiency) Thôøi gian Ñaùùp öùng (Response time) Hoaøn taát(Turnaround Time = Tquit -Tarrive): Chôø (Waiting Time = T in Ready ) : Thoâng löôïng (Throughput = # jobs/s ) Hieäu suaát Taøi nguyeân Chi phí chuyeån ñoåi Coâng baèng ( Fairness) : Taát caû caùc tieán trình ñeàu coù cô hoäi nhaän CPU 17
- Caùc caáp ñoä ñieàu phoái Longterm scheduling : choïn tieán trình keá tieáp ñöôïc khôûi ñoäng (mang vao boä nhôù vaø nhaän traïng thaùi ready) Mediumterm scheduling : quyeát ñònh chuyeån tieán trình ñang running sang traïng thaùi blocked. Shorterm scheduling : choïn 1 tieán trình ôû traïng thaùi ready ñeå 18
- Thôøi ñieåm ra quyeát ñònh ñieàu phoái Ñieàu phoái ñoäc quyeàn (non-preemptive scheduling): tieán trình ñöôïc choïn ñoäc chieám CPU Ñieàu phoái khoâng ñoäc quyeàn (preemptive scheduling): tieán trình ñöôïc choïn coù theå bò « cöôùp » CPU bôûi tieán trình coù ñoä öu tieân cao hôn 19
- Caùc chieán löôïc ñieàu phoái FIFO RR SJF MULTILEVELFEEDBACK LOTTERY 20
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Bài giảng Hệ điều hành - Chương 3: Quản lý bộ nhớ
79 p | 316 | 52
-
Nguyên lý hệ điều hành - Phần 4
10 p | 173 | 33
-
Bài giảng Hệ điều hành (Operating Systems): Chương 1, 2, 3, 4 - TS. Vũ Đức Lung
24 p | 156 | 22
-
Bài giảng Hệ điều hành - Chương 3: Liên lạc giữa các tiến trình
29 p | 102 | 15
-
Bài giảng Lập trình quản lý - Chương 3: Thiết kế phần mềm quản lý (Phần 2)
49 p | 28 | 13
-
Bài giảng môn học Quản lý mạng viễn thông - Hoàng Trọng Minh
146 p | 96 | 11
-
Tập bài giảng Nguyên lý hệ điều hành
300 p | 78 | 11
-
Bài giảng Hệ điều hành Unix /Linux: Bài 3 - Đặng Ngọc Cường
50 p | 78 | 7
-
Bài giảng Hệ điều hành - Chương 3: Quản lý tiến trình
58 p | 75 | 7
-
Bài giảng Tổ chức sản xuất sản phẩm đa phương tiện - Phần 3: Quản lý thời gian (Nguyễn Anh Hào)
18 p | 42 | 7
-
Bài giảng Hệ điều hành Linux - Bài 3: Một số tiện ích trong Linux
24 p | 60 | 6
-
Bài giảng Hệ điều hành: Chương 2.3 - TS. Ngô Hữu Dũng
53 p | 51 | 4
-
Bài giảng LINUX và phần mềm nguồn mở - Chương 3: Quản lý tiến trình
29 p | 7 | 4
-
Bài giảng Hệ điều hành nâng cao: Bài 3 - Trần Hạnh Nhi
23 p | 50 | 3
-
Bài giảng Hệ điều hành: Chương 3.1 - Nguyễn Ngọc Duy
61 p | 63 | 3
-
Bài giảng Hệ điều hành: Chương 3.2 - Nguyễn Ngọc Duy
63 p | 68 | 3
-
Bài giảng Hệ phân tán - Chương 3: Quản lý tiến trình và luồng
70 p | 5 | 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