Bài giảng Hệ điều hành nâng cao

pdf 70 trang phuongnguyen 3070
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Hệ điều hành nâng cao", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pdfbai_giang_he_dieu_hanh_nang_cao.pdf

Nội dung text: Bài giảng Hệ điều hành nâng cao

  1. Simpo PDF Merge and Split Unregistered Version - HEÄ ÑIEÀU HAØNH NAÂNG CAO Tröôøng ñaïi hoïc Khoa hoïc töï nhieân Khoa Coâng ngheä Thoâng tin Traàn Haïnh Nhi 1
  2. Simpo PDF Merge and Split Unregistered Version - Toå chöùc Phuï traùch Lyù thuyeát :  Traàn Haïnh Nhi  Phuï traùch thöïc haønh:  Phaïm Nguyeãn Anh Huy  Traàn Anh Tuaán  Leâ Thuïy Anh  Ñinh Baù Tieán  Trang web cuûa moân hoïc :  2
  3. Simpo PDF Merge and Split Unregistered Version - Muïc tieâu Keát quaû mong ñôïi veà lyù thuyeát :  Hieåu ñöôïc caùch thöùc Heä ñieàu haønh laøm vieäc  Naém ñöôïc caùc nguyeân lyù thieát keá Heä ñieàu haønh  Bieát ñöôïc moät soá cô cheá, chieán löôïc cô baûn ñeå giaûi  quyeát caùc nhieäm vuï cuûa Heä ñieàu haønh Keát quaû caàn ñaït ñöôïc veà thöïc haønh  Vaän duïng ñöôïc caùc kieán thöùc lyù thuyeát ñeå caøi ñaët  giaû laëp moät soá module cuûa Heä ñieàu haønh Söû duïng ñöôïc caùc cô cheá hoã trôï cuûa moät Heä ñieàu  haønh cuï theå (Windows NT) ñeå giaûi quyeát caùc baøi toaùn cô baûn. 3
  4. Simpo PDF Merge and Split Unregistered Version - Kieán thöùc yeâu caàu Kieán truùc Maùy tính  Heä ñieàu haønh cô baûn  Laäp trình C/C++  4
  5. Simpo PDF Merge and Split Unregistered Version - Tính ñieåm 70% Lyù thuyeát + 30% Thöïc haønh  Lyù thuyeát :  1 baøi thi cuoái khoaù (khoâng tham khaûo taøi lieäu)  Moãi sinh vieân laøm baøi ñoäc laäp  Thöïc haønh: 2 baøi taäp lôùn  Thôøi haïn vaø caùch thöùc noäp baøi seõ do giaùo vieân phuï  traùch thöïc haønh qui ñònh Moãi nhoùm thöïc haønh goàm 2 sinh vieân  Baét buoäc coù noäp baøi thöïc haønh môùi ñöôïc thi lyù  thuyeát 5
  6. Simpo PDF Merge and Split Unregistered Version - Taøi lieäu tham khaûo Traàn Haïnh Nhi : Giaùo trình Heä ñieàu haønh Naâng cao  A.Silberschatz & P/Galvin : OS concepts (5e)  Slides :  W. Stallings : Operating Systems  A.Tanenbaum et al : OS Design and Implementation  Minix :  R.Finkel:: An OS vade mecum  Book online :  Jeffrey Richter : Advanced Windows  Tieán Huy- Ñan Thö- Haïnh Nhi : Kyõ thuaät laäp trình  treân Windows NT 6
  7. Simpo PDF Merge and Split Unregistered Version - Noäi dung Chöông 1 : Toå chöùc Heä ñieàu haønh  Chöông 2 : Quaûn lyù tieán trình  Chöông 3 : Lieân laïc giöõa caùc tieán trình  Chöông 4 : Quaûn lyù boä nhôù chính  Chöông 5 : An toaøn heä thoáng  7
  8. Simpo PDF Merge and Split Unregistered Version - Baøi giaûng 1 : Giôùi thieäu Taïi sao phaûi tìm hieåu veà Heä ñieàu haønh ?  Heä ñieàu haønh laø gì ?  Vai troø trong heä thoáng ?  Chöùc naêng ?  Kieán truùc ?  Caùc nguyeân lyù thieát keá Heä ñieàu haønh  8
  9. Simpo PDF Merge and Split Unregistered Version - Taïi sao caàn tìm hieåu Heä ñieàu haønh ? Ñeå phaù vôõ söï “bí aån” cuûa heä thoáng :  Taïi sao maùy tính coù theå “bieát” ñöôïc noäi dung ñóa ?  Taïi sao coù theå vöøa soaïn thaûo, vöøa nghe nhaïc treân cuøng 1 maùy  tính (coù 1 CPU ?) Taïi sao 1 öùng duïng kích thöôùc 1 M coù theå hoaït ñoäng treân  Windows maø bò baùo “Not enough memory” treân DOS ? Ñeå khai thaùc toát hôn moâi tröôøng laøm vieäc :  Laäp trình treân moâi tröôøng ña nhieäm (multitask), ña xöû  lyù(multiprocessing) vôùi caùc moâ hình multiprocess, multithreads Söû duïng boä nhôù hieäu quaû  söû duïng caùc cô cheá Thoâng tin lieân laïc, an toaøn & baûo maät  Vì laø moân hoïc baét buoäc   9
  10. Simpo PDF Merge and Split Unregistered Version - Heä ñieàu haønh, anh laø ai ? Öùng duïng Giao dieän aûo Heä ñieàu haønh Giao dieän vaät lyù Phaàn cöùng 10
  11. Simpo PDF Merge and Split Unregistered Version - Chöùc naêng cuûa Heä ñieàu haønh Quaûn trò taøi nguyeân (resource principle) :  Taøi nguyeân : CPU, Mem, IO; Files, ports, mailboxes  Ñoái töôïng söû duïng taøi nguyeân : Process, Thread  Nhieäm vuï : Cung caáp caùc giaûi thuaät caáp phaùt, quaûn lyù taøi  nguyeân.cho caùc ñoái töôïng hoaït ñoäng trong heä thoáng Muïc tieâu : Caáp phaùt ñaày ñuû, coâng baèng R cho Ps; Söû duïng  hieäu quaû Rs, Naâng cao thoâng löôïng Ps Tröøu töôïng hoaù heä thoáng (beautification principle)  Nhieäm vuï : Cung caáp caùc giaûi thuaät ñeå che daáu chi tieát phaàn  cöùng, taïo 1 moâi tröôøng deã laøm vieäc hôn (hope) cho user Muïc tieâu : taïo moâi tröôøng an toaøn, taïo söï tröøu töôïng hoaù,  ñoäc laäp thieát bò Ví duï : device driver  11
  12. Simpo PDF Merge and Split Unregistered Version - Caùc thaønh phaàn Quaûn lyù boä nhôù phuï Quaûn lyù tieán trình Quaûn lyù nhaääp xuaát Heä thoáng taäp tin Quaûn lyù boä nhôù chính Heä thoáng baûo veä Boä thoâng dòch leänh Giao tieáp maïng 12
  13. Simpo PDF Merge and Split Unregistered Version - Kieán truùc Heä ñieàu haønh Ñôn giaûn (Monolithic)  Haït nhaân (Kernel)  Phaân lôùp (Layered)  Maùy aûo (Virtual Machine)  Höôùng ñoái töôïng (OOOS)  Exokernel  13
  14. Simpo PDF Merge and Split Unregistered Version - Monolithic 14
  15. Simpo PDF Merge and Split Unregistered Version - Monolithic OS = Thö vieän tieän ích  Coù theå toå chöùc thaønh nhieàu module : CPU  scheduling, Mem Management, Device management nhöng chæ coù 1 trong nhöõng module naøy hoaït ñoäng taïi moät thôøi ñieåm Ñôn nhieäm  Quyeàn ñieàu khieån ñöôïc chuyeån ñoåi thoâng qua  lôøi goïi haøm Khi taàm voùc phaùt trieån heä thoáng trôû neân thieáu tin caäy. Ví duï : MS-DOS, Ultrix (mature Unix)  15
  16. Simpo PDF Merge and Split Unregistered Version - Kernel 16
  17. Simpo PDF Merge and Split Unregistered Version - Kernel OS = Kernel + System processes  Kernel ñöôïc baûo veä  Ña nhieäm  Kernel chòu traùch nhieäm phaân chia thôøi gian  söû duïng CPU, Giao tieáp giöõa caùc tieán trình Chæ coù 2 möùc kernel/non-kernel =>kernel lôùn, thieáu tin caäy nhö tröôùc Ñònh nghóa cöùng caùc giao tieáp vôùi öùng duïng trong kernel Ví duï : Windows NT  17
  18. Simpo PDF Merge and Split Unregistered Version - Layered 18
  19. Simpo PDF Merge and Split Unregistered Version - Layered OS = caùc lôùp tröøu töôïng hoaù moät taùc vuï quaûn  lyù Lôùp treân ñöôïc söû duïng caùc haøm xöû lyùù taøi  nguyeân thuoäc taùc vuï do lôùp döôùi cung caáp Khoù xaùc ñònh ñöôïc caùc lôùp xöû lyù raïch roøi, thöù töï lôùp ? Taïo tieán trình -> PM goïi MM Boä nhôù ñaày -> MM goïi PM Xeáp lôùp theo haøm xöû lyù , thay vì taùc vuï Seg management- P scheduling- Seg creation- P creation Ví duï : THE , MULTICS 19
  20. Simpo PDF Merge and Split Unregistered Version - Virtual Machine 20
  21. Simpo PDF Merge and Split Unregistered Version - Virtual Machine OS = Virtualizing kernel + virtual machines  Virtual machine = physical hardware  Virtualizing kernel taïo ra nhieàu VM treân 1 maùy tính.  Process interface = hardware interface  Öu ñieåm : Moâi tröôøng thuaän lôïi cho söï töông thích (compatibility) Taêng tính an toaøn heä thoáng do cung caáp caùc VM ñoäc laäp. Deå phaùt trieån caùc HDH ñôn nhieäm cho moãi VM Khuyeát ñieåm: Phöùc taïp cho vieäc giaû laëp (transput, add translation ) Ví duï : CMS(conversational Monitor System) treân  VM/370 (hoã trôï hardware) 21
  22. Simpo PDF Merge and Split Unregistered Version - OOOS OS = taäp caùc ñoái töôïng  Tieán trình, taäp tin, haøm, khoái nhôù  Moät haøm xöû lyù (kernel/non-kernel mode)  thao taùc treân moät taäp caùc ñoái töôïng. Che daáu thoâng tin  Ví duï :CAP, StarOS, iMAX432  22
  23. Simpo PDF Merge and Split Unregistered Version - Exokernel 23
  24. Simpo PDF Merge and Split Unregistered Version - Exokernel Höôùng ñeán moät HDH linh ñoâng trong giao  tieáp vôùi öùng duïng, cho pheùp öùng duïng chuyeân bieät hoaù heä ñieàu haønh theo nhu caàu ñaëc thuø moät caùch deã daøng OS = Exokernel + Library OS  Öùng duïng coù theå phaùt trieån caùc moâ hình toå  chöùc VM, IPC theo nhu caàu rieâng Ví duï : yù töôûng cuûa project do Dawson R  Engler et al phaùt trieån taïi MIT 24
  25. Simpo PDF Merge and Split Unregistered Version - Baøi 2 : CAÙC MOÂ HÌNH XÖÛ LYÙ ÑOÀNG HAØNH XÖÛ LYÙ ÑOÀNG HAØNH VÌ SAO ? VAÁN ÑEÀ ? 1
  26. Simpo PDF Merge and Split Unregistered Version - Xöû lyù ñoàng haønh, ñeå taêng hieäu suaát söû duïng CPU CPU IO CPU IO Job 1 Job 1 CPU Job 1 CPU IO CPU IO Job 2 CPU IO CPU CPU Job 1 Job 1 Job 1 Job 1 2
  27. Simpo PDF Merge and Split Unregistered Version - Xöû lyù ñoàng haønh, ñeå taêng toác ñoä xöû lyù Job : kq = a*b + c*d;  Xöû lyù tuaàn töï :  kq1 = a * b; kq2 = c* d; kq = kq1 + kq2; Xöû lyù ñoàng haønh :  kq1 = a*b; kq2 = c*d; kq = kq1 + kq2; 3
  28. Simpo PDF Merge and Split Unregistered Version - Xöû lyù ñoàng haønh, nhöõng khoù khaên ? - Taøi nguyeân Excel giôùi haïn, öùng Visual C++ duïng “voâ haïn” CDplayer Winword - Nhieàu hoaït ñoäng ñan xen ??? Phaân chia taøi nguyeân ? ??? Chia seû taøi nguyeân ? HÑH : “ Giaûi quyeát nhieàu coâng vieäc ñoàng thôøi, ñaâu coù deã ! ??? Baûo veä? 4
  29. Simpo PDF Merge and Split Unregistered Version - Giaûi phaùp Winword -“Chia ñeå trò”, coâ laäp caùc hoaït ñoäng. CDPlayer - Moãi thôøi Excel ñieåm chæ giaûi quyeát 1 yeâu Visual C ++ caàu. - Aûo hoaù taøi HÑH : “ Ai cuõng coù phaàn khi ñeán löôït nguyeân : bieán maø ! ” ít thaønh nhieàu 5
  30. Simpo PDF Merge and Split Unregistered Version - Thuaät ngöõ Concurrency (ñoàng haønh): moâ hình xöû lyù  nhieàu taùc vuï ñoàng thôøi. Multitasking (ña nhieäm) : cho pheùp nhieàu taùc  vuï/ coâng vieäc ñöôïc xöû lyù ñoàng thôøi Multiprogramming (ña chöông) : cho pheùp  nhieàu chöông trình ñöôïc thöïc hieän ñoàng thôøi (treân 1 CPU) Multiprocessing (ña xöû lyù): nhieàu boä xöû lyù laøm  vieäc ñoàng thôøi 6
  31. Simpo PDF Merge and Split Unregistered Version - Khaùi nieäm tieán trình P1 IP P2 int a; IP int a; 7
  32. Simpo PDF Merge and Split Unregistered Version - Moâ hình ña tieán trình (MultiProcesses) Heä thoáng laø moät taäp caùc tieán trình hoaït ñoäng ñoàng  thôøi Caùc tieán trình ñoäc laäp vôùi nhau => khoâng coù söï trao  ñoåi thoâng tin hieån nhieân Excel winword Visual C CDplayer OS 8
  33. Simpo PDF Merge and Split Unregistered Version - Moâ hình ña tieåu trình (MultiThreads) Muoán nhieàu doøng xöû lyù ñoàng thôøi cuøng chia seû taøi  nguyeân (server, OS, caùc chöông trình tính toaùn song song) alta vista  TIEÅU TRÌNH (THREAD) 9
  34. Simpo PDF Merge and Split Unregistered Version - Khaùc bieät giöõa Tieåu trình & Tieán trình Tieåu trình : 1 doøng xöû  P1 lyù Tieán trình : T1 T2  T 1 khoâng gian ñòa chæ  3 1 hoaëc nhieàu tieåu trình  Caùc tieán trình laø ñoäc  laäp Caùc tieåu trình trong int a;  cuøng 1 tieán trình khoâng coù söï baûo veä laãn nhau (caàn thieát ? ). 10
  35. Simpo PDF Merge and Split Unregistered Version - Tieåu trình haït nhaân (Kernel thread) T1 T2 User mode System call Kernel mode HDH Khaùi nieäm tieåu trình ñöôïc xaây döïng beân trong haït nhaân 11
  36. Simpo PDF Merge and Split Unregistered Version - Tieåu trình ngöôøi duøng (User thread) T1 T2 T3 User mode LWP1 LWP2 P1 P2 Kernel mode Kernel Khaùi nieäm tieåu trình ñöôïc hoã trôï bôûi moät thö vieän hoaït ñoäng trong user mode 12
  37. Simpo PDF Merge and Split Unregistered Version - 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
  38. Simpo PDF Merge and Split Unregistered Version - 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 sôû höõu CPU rieâng cuûa CPU mình ? while(1) { Dispatcher luaân interrupt Pcur  save state P chuyeån CPU giöõa caùc cur Scheduler gets P tieán trình: next load state Pnext Ngöõ caûnh xöû lyù rieâng jump to it  } bieät cho moãi tieán trình (PCB) 2 Dispatching loop :
  39. Simpo PDF Merge and Split Unregistered Version - Traïng thaùi tieán trình ? Nhaän CPU ready running R R  s  s Traû CPU CPU   CPU blocked Chôø R Nhaän R R  s  CPU 3
  40. Simpo PDF Merge and Split Unregistered Version - 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
  41. Simpo PDF Merge and Split Unregistered Version - 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
  42. Simpo PDF Merge and Split Unregistered Version - 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(), Suspend() 6
  43. Simpo PDF Merge and Split Unregistered Version - 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
  44. Simpo PDF Merge and Split Unregistered Version - 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
  45. Simpo PDF Merge and Split Unregistered Version - Caùc danh saùch tieán trình Ready List P1 P4 P5 Waiting Lists R1 P2 P7 R1 P3 P10 R1 P6 9
  46. Simpo PDF Merge and Split Unregistered Version - Ñ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
  47. Simpo PDF Merge and Split Unregistered Version - Ñ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
  48. Simpo PDF Merge and Split Unregistered Version - 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
  49. Simpo PDF Merge and Split Unregistered Version - Chuyeån ñoåi ngöõ caûnh giöõa caùc tieán trình P1 P2 User mode System call Kernel mode Dispatcher 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
  50. Simpo PDF Merge and Split Unregistered Version - 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
  51. Simpo PDF Merge and Split Unregistered Version - Tieåu trình ngöôøi duøng (User thread) Khaùi nieäm tieåu trình ñöôïc User  hoã trôï bôûi moät thö vieän hoaït mode ñ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øm vieäc  vôùi ñôn vò laø tieåu trình P -– LWP - T  Khoâng caàn chuyeån ñoåi cheá  P1 P2 ñoä xöû lyù khi chuyeån ñoåi caùc tieåu trình cuøng thuoäc 1 tieán Kernel trình. Kernel mode 15
  52. Simpo PDF Merge and Split Unregistered Version - 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
  53. Simpo PDF Merge and Split Unregistered Version - 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 = T -T ):  quit arrive 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
  54. Simpo PDF Merge and Split Unregistered Version - 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å chuyeån sang traïng thaùi running. Khoâng coù söï phaân bieät roõ 18  raøng hoaøn toaøn giöõa 3 caáp
  55. Simpo PDF Merge and Split Unregistered Version - 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
  56. Simpo PDF Merge and Split Unregistered Version - Caùc chieán löôïc ñieàu phoái . FIFO . RR . SJF . MULTILEVELFEEDBACK . LOTTERY 20
  57. Simpo PDF Merge and Split Unregistered Version - FIFO – RR -SJF FIFO run add  RR  SJF add  run 21
  58. Simpo PDF Merge and Split Unregistered Version - Multilevel Feedback priority 22
  59. Simpo PDF Merge and Split Unregistered Version - Lottery 1 1 1 1 P1 P2 P3 P4 P2 coù 25 % cô hoäi 1 7 1 1 P1 P2 P3 P4 P2 coù 70 % cô hoäi 23
  60. Simpo PDF Merge and Split Unregistered Version - BAØI 4 : LIEÂN LAÏC GIÖÕA CAÙC TIEÁN TRÌNH & VAÁN ÑEÀ ÑOÀNG BOÄ HOAÙ CÔ CHEÁ ? TRAO ÑOÅI THOÂNGVAÁN TINÑEÀ GIÖÕA CAÙC TIEÁN TRÌNH ? GÆAI PHAÙP ? 1
  61. Simpo PDF Merge and Split Unregistered Version - Nhu Caàu Lieân Laïc Q . Chia seû thoâng tin p R L . Phoái hôïp taêng toác ñoä xöû lyù JOB p L Q 2
  62. Simpo PDF Merge and Split Unregistered Version - Caùc Cô Cheá Lieân Laïc Signal  Khoâng truyeàn ñöôïc döõ lieäu Pipe   Truyeàn döõ lieäu khoâng caáu truùc Shared Memory   Broadcast  Maâu thuaãn truy xuaát => nhu caàu ñoàng boä hoaù Message   Lieân laïc treân moâi tröôøng phaân taùn Socket   Lieân laïc treân nhieàu moâi tröôøng khaùc bieät 3
  63. Simpo PDF Merge and Split Unregistered Version - Race condition . P1 vaø P2 chia seû bieán chung hits hits = 0 P2 time P1 read hits (0) read hits (0) hits = 0 + 1 hits = 0 + 1 hits = 1  Keát quaû cuoái cuøng khoâng döï ñoaùn ñöôïc ! 4
  64. Simpo PDF Merge and Split Unregistered Version - Mieàn gaêng (critical section) P1 P2 read hits (0) CS read hits (0) hits = 0 + 1 CS hits = 0 + 1 CS laø ñoaïn chöông trình coù khaû naêng gaây ra hieän töôïng race condition 5
  65. Simpo PDF Merge and Split Unregistered Version - Giaûi phaùp toång quaùt hits = 0 P2 time P1 hits = hits + 1 hits = hits + 1 hits = 2 Baûo ñaûm tính “ñoäc quyeàn truy xuaát” mieàn gaêng taïi moät thôøi ñieåm 6
  66. Simpo PDF Merge and Split Unregistered Version - Moâ hình ñaûm baûo ñoäc quyeàn truy xuaát Kieåm tra vaø daønh quyeàn vaøo CS CS; Töø boû quyeàn söû duïng CS 7
  67. Simpo PDF Merge and Split Unregistered Version - Rendez-Vous P1 P2 Job1; Job2; Laøm theá naøo baûo ñaûm trình töï thöïc hieän Job1 - Job2 ? 8
  68. Simpo PDF Merge and Split Unregistered Version - Giaûi phaùp P1 P2 Job1; Job2; Hai tieán trình caàn trao ñoåi thoâng tin veà dieãn tieán xöû lyù 9
  69. Simpo PDF Merge and Split Unregistered Version - Moâ hình toå chöùc phoái hôïp hoaït ñoäng giöõa haøi tieán trình P1 P2 Job1; Chôø ; Baùo hieäu ; Job2; 10
  70. Simpo PDF Merge and Split Unregistered Version - Baøi toaùn ñoàng boä hoaù Nhieàu tieán trình chia seû taøi nguyeân  chung ñoàng thôøi : Tranh chaáp ?  Nhu caàu “ñoäc quyeàn truy xuaát” (mutual  exclusion) Caùc tieán trình phoái hôïp hoaït ñoäng :  Töông quan dieãn tieán xöû lyù ?  Nhu caàu “hoø heïn” (rendez-vous)  11