Bài giảng Nguyên lý hệ điều hành - Nguyễn Đức Thuần

pdf 215 trang hapham 2900
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Nguyên lý hệ điều hành - Nguyễn Đức Thuần", để 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_nguyen_ly_he_dieu_hanh_nguyen_duc_thuan.pdf

Nội dung text: Bài giảng Nguyên lý hệ điều hành - Nguyễn Đức Thuần

  1. nguyeânlyù hEÄÑIEÀU HAØNH Ng ThS.Duc NguyeãnÑö ThuanùcThuaàn BoämoânHeäThoángThoângTin Ñ.H THUYÛSAÛN 1
  2. Chöông0: Caáutruùcheäthoángmaùytính Ng Duc Thuan 2
  3. Côcheávaänhaønhcuûaheäthoáng MoätheäthoángthoângthöôønggoàmCPU vaøcaùcboäñieàu khieånthieátbò(BÑKTB -device controller). Caùctaùcvuïcuûa CPU vaøBÑKTB coùtheåthöïcthisong haønhvaøtranhchaáp boänhôùchiaseûqua söïñieàukhieånñoàngboäcuûamemory controller. MoãiBÑKTB phuïtraùchmoätloaïithieátbòcuïtheå(video adapter, disk drive, ) MoãiBÑKTB coùmoätbuffer rieâng. CPU chuyeåndöõlieäutöøboänhôùchínhñeánbuffer rieângcuûa caùcBÑKTB vaøngöôïclaïi. DöõlieäucuûacaùctaùcvuïI/O ñöôïc chuyeåntöøthieátbòñeánbuffer rieângcuûaBÑKTB töôngöùng. MoãikhikeátthuùcmoättaùcvuïI/O, BÑKTB thoângbaùocho CPU baèngcaùchgaâyra ngaétNg(interrupts). Duc Thuan 3
  4. Ngaét(interrupts) Ngaét(interrupt) laøcôcheáchopheùptaïmngöngcoângvieäc ñangñöôïcCPU xöûlyùñeåphuïcvuïmoätyeâucaàukhaùc. Khicoùngaétxaûyra, quyeànñieàukhieånñöôïcchuyeångiao chotrìnhphuïcvuïngaét(interrupt service routine) thoâng qua baûngvector ngaét. Caùcñaëcñieåmcuûacôcheángaét: –taênghieäusuaátxöûlyùcoângvieäc–ñaëcbieätlaøcaùctaùcvuïI/O –ngaétthöôøngñöôïcphaùtkhôûibôûimoätthieátbòphaàncöùng –thöïchieäntheocôcheábaátñoàngboä(asynchronously) vôùiprocess bò ngaét. Trap: ngaétmeàm, phaùtkhôûibôûimoätloãinaøoñoùhoaëcdo user yeâucaàu. Víduï: –Loãichiacho0 (divided-by-zerNgo), memory Duc page fault Thuan HaàuheátOS laøinterrupt-driven operating systems 4
  5. Chutrìnhthöïchieänleänh Ng Duc Thuan 5
  6. Chutrìnhleänhvôùingaétquaõng CPU kieåmtrangaétsaumoãileänh – polling –vectored interrupt system Neáukhoângcoùngaét, baétñaàumoätchNgukyøleänh môùiDuc Thuan Neáucoùngaétñangchôø, taïmngöngvaølöutraïngthaùichöôngtrìnhñang thöïcthi(Program Check, Program Status Word, caùcthanhghidöõlieäu, ), chuyeånqua thöïcthitrìnhñieàukhieånxöûlyùngaét(interrupt handler) 6
  7. I/O structure HaiphöôngthöùcthöïchieänI/O SaukhibaétñaàutaùcvuïI/O, quyeànñieàukhieånchæñöôïc traûveàkhivaøchækhitaùcvuïI/O hoaøntaát. –CPU phaûichôøñeánkhitaùcvuïI/O hoaøntaát –Trongmoätthôøiñieåm, coùnhieàunhaátlaø1 taùcvuïI/O ñöôïcthöïchieän, khoângxöûlyùñöôïcñoàngthôøinhieàuyeâu caàuI/O. SaukhibaétñaàutaùcvuïI/O, quyeànñieàukhieånñöôïctraû veàngaymaøkhoângcaànchôøhoaøntaáttaùcvuïI/O –CPU coùtheåthöïcthileänhkeátieápmaøkhoângphaûichôø ñeánkhitaùcvuïI/O hoaøntaát –Trongmoätthôøiñieåm, coùNgtheåcoùnhieà Ducutaùcvuï I/OThuan ñöôïc thöïchieänñoàngthôøi. 7
  8. HaiphöôngthöùcI/O Synchronous I/O Asynchronous I/O Ng Duc Thuan 8
  9. CaùckyõthuaätthöïchieänI/O Programmed I/O (PIO) –Khoângduøngngaét, CPU phaûichôøtaùcvuïI/O hoaøntaát Interrupt-driven I/O –CPU coùtheåtieáptuïcthöïcthitrongsuoátquaùtrìnhxaûyra I/O, khitaùcvuïI/O hoaøntaátthìseõphaùtramoätngaétbaùo hieäuchoCPU. Direct Memory Access (DMA) –Moätkhoáidöõlieäuñöôïcchuyeåntröïctieápgiöõaboänhôùvaø thieátbòI/O maøkhoângcaàNgnqua CPU Duc Thuan –ThöôøngsöûduïngchocaùcthieátbòI/O coùtoácñoä cao. 9
  10. Storage structure Boänhôùchính(main memory):CPU chæcoùtheåtruycaäp tröïctieápthanhghi(registers) vaøboänhôùRAM. Boänhôùphuï(secondary storage):heäthoánglöutröõthoângtin beànvöõng(nonvolatile storage). Ñóatöø(magnetic disks) –Beàmaëtñóachiathaønhcaùcraõnh(tracks), caùcraõnhnaøyñöôïcchia nhoûhônthaønhcaùccungtöø(sectors). – Cylinder: taäpcaùctrack taïothaønhmoäthìnhtruï – Disk controller: boäñieàukhieåNgnquaùtrìn hDucgiaotieápgiöõ aCPUThuan vaøñóa. 10
  11. Côcheátruyxuaátñóa Thôøigianñònhvòdöõlieäu- positioning time (random- access time) baogoàm –Seek time: thôøigiandi chuyeånñaàuñoïcñeáncylinder caànñoïc –Rotational latency: thôøigian tìmñöôïcsector caànñoïcdöõ lieäu. Transfer rate:toácñoächuyeån döõlieäugiöõañóavaøCPU Ng Duc Thuan 11
  12. Phaâncaápheäthoánglöutröõ Heäthoánglöutröõcoùtheåphaâncaáptheocaùctieâu chuaån –Toácñoä(speed, access time). –Dung löôïng(capacity) –Giaùcaû(cost) –Ñoäbeànvöõngdöõlieäu(volatility) Heäthoángphaâncaáptöøtreânxuoángtheo –Giaùthaønhgiaûmdaàn –Dung löôïngtaêngdaàn –Thôøigiantruycaäptaêngdaàn –TaànsuaáttruycaäpcuûaCPUNg giaûm daànDuc Thuan –Cheáñoälöutröõbeànvöõng(non-volatile) 12
  13. Phaâncaápheäthoánglöutröõ Ng Duc Thuan 13
  14. Côcheácaching Caching: copy döõlieäuvaøothieátbòlöutröõtoácñoäcao hôn. Taïisaophaûiduøngboänhôùcache –ToácñoäCPU vaøboänhôùchínhkhaùcnhau. –Khaithaùcnguyeânlyù“locality” Caàncoùchieánlöôïcquaûnlyùboänhôùcache thíchhôïp Trongcôcheácaching, moätdöõlieäucoùtheåñöôïclöu tröõnhieàunôi ® phaûibaûoñaûmtínhnhaátquaùndöõ lieäu(consistent): baøitoaùncache coherency. Ng Duc Thuan 14
  15. Baûoveäphaàncöùng Chöùcnaêngcuûaheäñieàuhaønhlaøkieåmtratoaønboä heäthoáng. Heäñieàuhaønhcungcaápchöùcnaêngchiaseûtaøi nguyeânchonhieàuchöôngtrình, vìvaäyphaûicoùcô cheákieåmtravaøxöûlyùloãiöùngvôùimoãimoätchöông trình. Caùcloãichöôngtrìnhdo phaàncöùngphaùt hieänvaøthoângbaùochoheäñieàuhaønhñeåraquyeát ñònhchaámdöùtvaøthoângbaùo BaûoveäphaàncöùngbaogoàNgmcô cheDucábaûove ThuanäCPU, Boänhôù, Thieátbònhaäpxuaát . 15
  16. Chöông1:Toång quanveàHeäñieàuhaønh •Kháiniệmvềhệđiềuhành •Phânloạicáchệđiềuhành •Cấutrúccủahệđiềuhành •Lịchsửpháttriểncủahệđiềuhành Ng Duc Thuan 16
  17. Chöông1:Toång quanveàHeäñieàuhaønh •Kháiniệmvềhệđiềuhành –CácthànhphầncộngtáctrongHệthốngCNTT gồm: phầncứng, HĐH, các ứngdụngvàngườisửdụng (user) –Phầncứng(CPU, bộ nhớ, thiếtbịIO ): tàinguyênmáy tính –Chươngtrình ứngdụng(trìnhbiêndịch, hệ quảntrị CSDL, phầnmềmthươngmại, tròchơi ) sử dụngtài nguyênmáytính để giảiquyếtcácyêucầucủauser. –HĐH làchươngtrìnhhoạt độnggiữauser vàphầncứng máytính, điềukhiểnquảnlýtàinguyênvàphốihợpsử dụngphầncứngchonhữNgng ứngd Ducụngkhácnhau, Thuan giúp giaotiếpngười-máythuậnlợihiệuquả. 17
  18. Chöông1:Toång quanveàHeäñieàuhaønh Users Chöôngtrình HeäÑieàuHaønh PhaàncöùngNg Duc Thuan 18
  19. Chöông1:Toång quanveàHeäñieàuhaønh Moâhìnhtröøutöôïngcuûa1 maùytính Ng Duc Thuan 19
  20. Chöông1:Toång quanveàHeäñieàuhaønh •Kháiniệmvềhệđiềuhành(tt) –HĐH làbộđiềuphốitàinguyêncủamáytính(thời giansửdụngCPU, bộ nhớ, đĩa, thiếtbịIO) chocác ứngdụng –Khicónhiềuyêucầukhaitháctàinguyên, HĐH phải giảiquyếtvấnđề tranhchấpvàquyết địnhcấpphát tàinguyênnhư thế nàolàhiệuquả nhất – Để giatănghiệuquả khaitháctàinguyên, HĐH phải quảnlýcácbộ ĐKTB củanhàsảnxuất(vd: VGA card, sound card, modem, printer, HDD ) è Mụctiêucơbảncủa HĐNgH: Duc Thuan –Giúpchoviệcthihànhcácchươngtrìnhdễdànghơn –Hỗtrợ cácthaotrênhệthốngmáytínhhiệuquả hơn 20
  21. Chöông1:Toång quanveàHeäñieàuhaønh •Phânloạicáchệđiềuhành –Hệthốngxửlýtheolô(batch) đơngiản –Hệthốngxửlýtheolô đachương –Hệthốngchiaxẻthờigian –Hệthốngsong song –Hệthốngphântán –HệthốngxửlýthờigiaNgnthự Ducc Thuan 21
  22. Chöông1:Toång quanveàHeäñieàuhaønh 1. Heäthoángxöûlyùtheoloâñôngiaûn(ñônnhieäm, ñôn chöông) Heäñieàuhaønhxöûlyùtheoloâ thöïchieäncaùccoângvieäclaàn löôïttheonhöõngchæthòñònhtröôùc. Vieäcthöïchieändaõycaùc coângvieäcmoätcaùchtöïñoängnhôømoätchöôngtrìnhluoân naèmthöôøngtruùtrongboänhôùmaùytínhñöôïcgoïi boägiaùm saùtthöôøngtröïc Öuñieåm:Thôøigianthöïchieänchöôngtrìnhnhanh. Nhöôïcñieåm:CPU coønnhieàuthôøigiannhaønroãikhilaøm vieäcthieátbònhaäpxuaát: Khaécphuïc:Xöûlyùoff_line, NgSpooling. Duc Thuan 22
  23. Chöông1:Toång quanveàHeäñieàuhaønh Multi-programmed Systems 2. Heäthoángxöûlyùñachöông –Job pool: caáutruùcdöõlieäuchopheùpOS löïachoïncoângvieäcñöôïcthöïcthikeátieáp –Nhieàucoângvieäcñöôïcnaïpvaøoboänhôù chínhcuøngluùc, thôøigianxöûlyùcuûaCPU ñöôïcphaânchiagiöõacaùccoângvieäcñoù –Taänduøngñöôïcthôøigianraûnh, khimoät coângvieäcnaøoñoùphaûichôøI/O thìphaûi nhöôøngCPU chocoângvieäckhaùc (overlapping CPU -I/O). YeâucaàuñoáivôùiOS –Job Scheduling Ng Duc Thuan –Memory management –CPU scheduling –Allocation of devices 23 –Protection
  24. Chöông1:Toång quanveàHeäñieàuhaønh So saùnhmulti-programming vaøuni-programming Ng Duc Thuan 24
  25. Chöông1:Toång quanveàHeäñieàuhaønh 3. Heäthoángchiaseûthôøigian Time-Sharing (multitasking) Systems –Multi-programmed systems khoângcungcaápkhaûnaêngtöôngtaùc vôùiusers –CPU luaânphieânchuyeånñoåithöïcthigiöõacaùccoângvieäc Quaùtrìnhchuyeånñoåixaûyra thöôøngxuyeânhôn, moãicoâng vieäcchæñöôïcchiamoätphaànnhoûthôøigianCPU Cungcaápsöïtöôngtaùcgiöõaheäthoángvôùiuser –Khikeátthuùcthöïcthimoätleänh, OS seõchôøleänhkeátieáptöø baønphímchöùkhoângphaûitöøcard reader MoätcoângvieäcchæñöôïcchieámCPU ñeåxöûlyùkhinoùnaèmtrong boänhôùchính Khicaànthieát, moätcoângviNgeäcnaøoño ùcDucoùtheåñöôïcchu Thuanyeåntöøboä nhôùchínhrathieátbòlöutröõ, nhöôøngboänhôùchínhchocoâng vieäckhaùc. 25
  26. Chöông1:Toång quanveàHeäñieàuhaønh YeâucaàuñoáivôùiOS trongTime-Sharing Systems –Ñònhthôøicoângvieäc(job scheduling) –Quaûnlyùboänhôù(Memory Management) Caùccoângvieäcñöôïchoaùnchuyeångiöõaboänhôùchínhvaøñóa Virtual memory: chopheùpmoätcoângvieäccoùtheåñöôïcthöïcthimaø khoângcaànphaûinaïphoaøntoaønvaøoboänhôùchính –Quaûnlyùcaùcprocess (Process Management) ÑònhthôøiCPU (CPU scheduling) Ñoàngboäcaùccoângvieäc(synchronization) Töôngtaùcgiöõacaùccoângvieäc(process communication) TraùnhDeadlock –Quaûnlyùheäthoángfile, heäthoánglöutröõ(disk management) –Phaânboåcaùcthieátbò, taøinguyNgeân Duc Thuan –Côcheábaûoveä(protection) 26
  27. Chöông1:Toång quanveàHeäñieàuhaønh 4. Heäthoángsong song Ø Goàmnhieàuboävi xöûlyùcuøngchiaseûheäthoángñöôøngdaãndöõlieäu, ñoàngboä, boänhôùvaøcaùcthieátbòngoaïivi. Caùcboävi xöûlyùlieânlaïcbeântrongvôùi nhau. Ø Vôùinhieàuboävi xöûlyùcoângvieäcthöïchieänñöôïcthöïchieänseõnhanhhôn, nhöõngkhoângphaûicoùn vi xöûlyùnhanhhôngaápn laànso heäthoáng1 vi xöû lyù. Ø Ñoätin caäytrongheäthoángnhieàuvi xöûlyùlaøraátcao. Ø Heäthoángñaxöûlyùthöôøngsöûduïngcaùchñaxöûlyùñoáixöùng. Moätsoáheä thoángñaxöûlyùbaátñoáixöùng. Symmetric multiprocessing (SMP) –Caùcprocessor vaänhaønhcuøngmoätheäñieàuhaønhduynhaát. –Nhieàuöùngduïngthöïcthicuøngluùcvôùiperformance cao. –ÑasoácaùcheäñieàuhaønhhoãtrôïSMP. Asymmetric multiprocessing Ng Duc Thuan –Moãiprocessor thöïcthimoätcoângvieäckhaùcnhau, master processor ñònhthôøivaøphaân coângvieäcchocaùcslave processors. 27
  28. Chöông1:Toång quanveàHeäñieàuhaønh 5. Heäthoángphaântaùn. Ø Heäthoángphaântaùn: treânmoãimaùytrongmaïngcaøiñaëtmoät heäñieàuhaønhkhaùcnhau. Maùychuûchuûyeáuthöïchieänmoät soáchöùcnaêngsau: Quaûnlyùcaùckhodöõlieäutaäptrung, cungcaápmoätsoádòchvuïtruyeàndöõlieäu, toåchöùcxöûlyùkhi coùyeâucaàutöømaùytraïm. Moâhìnhkhaùchchuû(Client- Server) phaânchiaquaûnlyù. Ø Nguyeânnhaânxaây döïngHÑH phaântaùn: -Chiaseûtaøingyeân. -Taêngtoácñoätínhtoaùn. -An toaøn -Thoângtin lieânlaïcñöôïcvôùinhau YeâucaàucôsôûhaïtaàngmaïnNggmaùytính Duc Thuan –LAN,WAN Döïatreânmoâhìnhclient-server hoaëcpeer-to-peer 28
  29. Chöông1:Toång quanveàHeäñieàuhaønh 6. Heäthoángthôøigianthöïc Heäthoángthôøigianthöïc(Real-Time Systems) –Thöôøngduøngtrongcaùcthieátbòchuyeânduïngnhöñieàukhieåncaùc thöûnghieämkhoahoïc, ñieàukhieåntrongy khoa, daâychuyeàncoâng nghieäp. –Raøngbuoäctöôngñoáichaëtcheõveàthôøigian: hard vaøsoft real-time. Hard real-time: –Haïncheá(hoaëckhoângcoù) boänhôùphuï, taátcaûdöõlieäunaèmtrongboä nhôùchính(RAM) hoaëcROM –Yeâucaàuthôøigianñaùpöùng, xöûlyùraátnghieâmngaët, thöôøngsöûduïng trongñieàukhieåncoângnghieäp, coângngheärobotics. Soft real-time Ng Duc Thuan –Thöôøngxuaáthieäntronglónhvöïcmultimedia, thöïcteáaûo(virtual reality) vôùiyeâucaàumeàmdeûohônveàthôøigian. 29
  30. Chöông1:Toång quanveàHeäñieàuhaønh 1.3.1 Caùcthaønhphaàncuûaheäthoánggoàm: -Quảnlýtiếntrình –Quảnlýbộnhớ chính –Quảnlýbộnhớ phụ –Quảnlýhệthốngnhậpxuất –Quảnlýhệthốngtậptin –Hệthốngbảovệ Ng Duc Thuan –Hệthốngcơchế dònglệnh 30
  31. Chöông1:Toång quanveàHeäñieàuhaønh •Quảnlýtiếntrình –Tiếntrìnhlàmộtloạtcáccôngviệc đượcthihành(proram, batch processing, spooling, connecting ) –Tiếntrìnhsửdụngtàinguyênmáytính(CPU, bộ nhớ, tậptin, thiếtbị ) để phụcvụcôngviệccủanó –Khitiếntrìnhkhởitạo, nó đòihỏinhiềutàinguyênhệthống. –Khitiếntrìnhkếtthúc, HĐH phảithuhồihoặctáitạotàinguyên để cóthể dùnglạichocáctiếntrìnhkhác –Tiếntrình đượcbiêndịchthànhcáctậptin thụđộng trên đĩa –Khitiếntrình đượckíchhoạt, HĐH sẽ khởitạotàinguyênban đầutheoyêucầu, nạptậpchỉ thị vàobộnhớ vàthihànhtheocơ chế tuầntự. TiếntrìnhchuyểNgnsang ho ạDuct động Thuan 31
  32. Chöông1:Toång quanveàHeäñieàuhaønh Caáutruùc1 tieántrìnhcuûaUNIX 1. inta = 0, b, *c; High address argc/argv[] 2.intmain( intargc, char *argv[ ] ) { Stack segment 3.b= increase(a); 4.c =(int*)malloc(10*sizeof(int)); 5.c[5]= b; Heap end 6.} Uninitialized edata data 7.intincrease(intx) { Ng DucInitialized Thuan data etext 8.return x ++; Text segment Low address 9.} 32
  33. Chöông1:Toång quanveàHeäñieàuhaønh •Quảnlýbộnhớ chính –Bộnhớ chínhlàtrungtâmcủacácthaotácvàxửlý –Vềmặtvậtlý, bộ nhớ làcácchip nhớ tĩnh điện –Vềmặtluậnlý, bộ nhớ làmảngcácbit nhớ tổ chứctheo đơnvị lưutrữ (byte, word hay dword) –Mỗiô nhớđược HĐH địnhvịbằngcơchếđánh địachỉ riêng –Cácbộ ĐKTB, HĐH, ứngdụng đềulưutrữ dữ liệuvàobộnhớ –Cácchươngtrìnhmuốnthihànhphải đượcánhxạthành địachỉ tuyệt đối, nạpvàobộnhớ chính để hệ thốngtruyxuất đến –Khitiếntrìnhkếtthúc, dữ liệuvẫncòntrongbộnhớ cho đếnkhi mộttiếntrìnhkhácghichồngNglên(hoặ ctDucắtmáy) Thuan 33
  34. Chöông1:Toång quanveàHeäñieàuhaønh •Quảnlýbộnhớ chính(tt) –Do ứngdụngcónhucầusửdụngbộnhớ khácnhau, nên HĐH phảicónhiềukếhoạchquảntrị bộ nhớ hiệu quả –Kếhoạchquảntrị bộ nhớ của HĐH phụ thuộcvào đặc điểmphầncứngvànhucầusửdụngcủauser –Vaitròcủa HĐH trongviệcquảnlýbộnhớ chính: •Cấpphátvàthuhồibộnhớ khicầnthiết •Quyết địnhtiếntrìnhnào đượcnạpvàobộnhớ chính, địachỉ nạp •Lưugiữ thôngtin về cácvNgịtrítrongb Ducộnhớđãsử dThuanụng, tiến trìnhnào đangsửdụng 34
  35. Chöông1:Toång quanveàHeäñieàuhaønh •Quảnlýbộnhớ phụ –Nhược điểmcủabộnhớ chính: •Quánhỏđể cóthể lưugiữ mọidữliệuvàchươngtrình •Mấtdữliệukhitắtmáy –Hệthốnglưutrữ phụ dùng đĩalưutrữ chươngtrình, dữ liệu –Vaitròcủa HĐH trongviệcquảnlý đĩa: • Địnhvịlưutrữ, truyxuất đĩa •Quảnlývùngtrống •Lậplịchcho đĩa –Hiệunăngcủahệthốngtùythuộcrấtnhiềuvàotốc độđọc/ghi. Vìvậy HĐH Ngphảicóc Ducơchế quả nThuanlý đĩa hiệuquả. 35
  36. Chöông1:Toång quanveàHeäñieàuhaønh •Quảnlýhệthốngnhậpxuất –Mỗinhàsảnxuất đềucungcấpcác device driver ĐKTB –Nhiệmvụcủa HĐH làtạomặtgiaotiếpthân thiệngiữauser vàthiếtbịthôngqua cácgiao thức ĐKTB tổngquát –Mộthệthốngnhậpxuấtbaogồm: •Hệthốngbuffer cahing •Giaotiếp điềukhiểnthiNgếtbịt ổnDucgquát Thuan •Bộđiềukhiểnchocácthiếtbịphầncứng 36
  37. Chöông1:Toång quanveàHeäñieàuhaønh •Quảnlýhệthốngtậptin –Máytínhcóthể lưutrữ thôngtin trênnhiềudạngthiếtbịvậtlý khácnhau(băngtừ, đĩatừ, đĩaquang, thẻ nhớ ) –Mỗidạngthiếtbịlưutrữ có đặc điểmriêngvềtổchứcvậtlý, tốc độ truyxuất, khả nănglưutrữ, tốc độ truyền –HĐH địnhnghĩa đơnvịlưutrữ logic làtậptin cùngvớicấutrúc đĩaluậnlý để truyxuấtthôngqua bộđiềukhiển đĩa –Tậptin: tậphợpthôngtin củachươngtrìnhvà/hoặcdữliệu –Cácloạitậptin: •Thihành: chứa ứngdụng, phầnmềm. Vd: COM, EXE •Vănbản: chứakýtựASCII, chươngtrìnhnguồn •Nhị phân: chứadữliệucủaNgcác ứngd ụngDuc Thuan 37
  38. Chöông1:Toång quanveàHeäñieàuhaønh •Quảnlýhệthốngtậptin(tt) –Vaitròcủa HĐH trongviệcquảnlýtậptin: •Tạo, xóatậptin •Tạo, xóathư mục •Hỗtrợ cácthaotáctrêntậptin vàthư mục •Ánhxạtậptin trênhệthốnglưutrữ phụ •Backup tậptin trêncáNgcthiếtb ịDuclưutrữ Thuan 38
  39. Chöông1:Toång quanveàHeäñieàuhaønh •Hệthốngbảovệ –Hệthốngcónhiềuuser, nhiềutiếntrình đồngthời –HĐH cungcấpcơchếđảmbảotàinguyên(tậptin, bộ nhớ, CPU, đồnghồ, thiếtbịngoạivi ) chỉđượctruy xuấtbởinhữngtíêntrìnhcóquyền –Hệthốngbảovệlàcơchế kiểmsoátquátrìnhtruy xuấtcủachươngtrình, tiếntrình, user trêntàinguyên hệ thống –Giatăng độ an toànkhiNgkiểmtral Ducỗicủacác giaThuanotiếp giữanhữnghệthốngnhỏ bêntrong 39
  40. Chöông1:Toång quanveàHeäñieàuhaønh •Hệthốngcơchế dònglệnh –Mỗi HĐH cónhữnggiaotiếpkhácnhau: cơ chế dònglệnh, giao diệncócácbiểutượng, cửasổthaotácdùngchuột –Cơchế dònglệnhlàgiaotiếptươngtáclệnhgiữauser và HĐH –Các HĐH thiếtkếcơchế dònglệnhbêntronghạtnhânhoặc táchcơchế dònglệnhthànhmộtứngdụng đặcbiệt: •DOS: thihànhkhibắtđầucôngviệc(COMMAND.COM) •Unix: thihànhkhiuser login lần đầutiên –Cáclệnh được đưavào HĐH nhờ bộ thôngdịchlệnhqua cơ chế dònglệnhhoặcShell và đượcthựchiệntuầntự –Cáclệnhcóquanhệvớiviệctạovàquảnlýcáctiếntrình, kiểm soátnhậpxuất, quảnlýbộnhNgớ, quản lýDucđĩa, truyxuấ ttThuanậptin và cơ chế bảovệ. 40
  41. Chöông1:Toång quanveàHeäñieàuhaønh •Cácdịchvụcủahệđiềuhành –Thihànhchươngtrình: Nạpchươngtrình, chấmdứt bìnhthườnghay bấtthường(lỗinghiêmtrọng) –Thaotácnhậpxuất: cungcấpdịchvụhỗtrợ nhập xuất –Thaotáctrênhệthốngtậptin, truyxuất đĩa –Truyềnthông điệpgiữacáctiếntrình(máy đơn, mạng) –Pháthiệnlỗido CPU, bộNgnhớ, thi Ducếtbị, tiếntrìn Thuanhgây ra. Mỗidạnglỗiđược HĐH giảiquýêttương ứng 41
  42. Chöông1:Toång quanveàHeäñieàuhaønh •Lờigọihệthống –Cungcấpgiaotiếpgiữatiếntrìnhvà HĐH. Có2 dạng: •Cấpthấp: cáclệnhhợpngữ •Cấpcao: cáchàm/thủ tụcthiếtkếbằngNNLT cấpcao. –TrongcácNLT cấpcao, user khôngquantâm đếnchi tiếtmàchỉ cầnthôngqua cáchàmhay cáclệnh để gọithựchiện –Có3 phươngphápchuyểnthamsốcho HĐH: thanh ghi, ngănxếphoặccấuNgtrúcbảng Duc Thuan –Cácloạilờigọihệthống: kiểmsoáttiếntrình, taotác tậptin, thaotácthiếtbị, truyềnthông điệp 42
  43. Chöông1:Toång quanveàHeäñieàuhaønh •Cácchươngtrìnhhệthống –Thaotáctậptin, môtảtậptin –Thôngtin trạngthái(ngàygiờ, dung lượng đĩa, bộ nhớ ) –Hỗtrợ cácNNLT: trìnhbiêndịch, thôngdịchtíchhợp trongnhânhay pháthànhriêng –Nạpvàthihànhchươngtrình: nạp, địnhvị, liênkết, debug –Thông điệp: dùngliênlạcgiữacáctiếntrình, cácmáy –Cácchươngtrình ứngdNgụng đikèm: Duc địnhdạ ng,Thuan sao chép đĩa, sọanthảovănbản, vẽ hình đơngiản 43
  44. Chöông1:Toång quanveàHeäñieàuhaønh •Cấutrúchệthống –Cấutrúc đơngiản –Cấutrúctheolớp –CấutrúcMáy ảo –Môhìnhclient-server Ng Duc Thuan 44
  45. Chöông1:Toång quanveàHeäñieàuhaønh •Cấutrúc đơngiản –Khởi đầucủa HĐH làhệthốngnhỏ, đơngiảnvàcó giớihạn –Các HĐH cấutrúc đơngiảnquenthuộc: MSDOS, UNIX –HệđiềuhànhMSDOS: •HĐH cấutrúc đơngiản, khôngchiathànhnhững đơnthể rõ rệt •Cungcấpnhữngchứcnăngcầnthiếtnhấttrongkhônggian nhỏ, chạytrênphầncứnggiớihạn •GiữagiaodiệnvàchứcnNgăngkhôn gDucphânchiarõr Thuanệt •Các ứngdụngcóthể truyxuấttrựctiếpthủ tụcnhậpxuất 45
  46. Chöông1:Toång quanveàHeäñieàuhaønh CaáutruùccuûaMS-DOS Chươngtrình ứngdụng Chươngtrìnhhệthốngthườngtrú MSDOS device driver ROM BIOSNg device driverDuc Thuan 46
  47. Chöông1:Toång quanveàHeäñieàuhaønh •Cấutrúc đơngiản –HĐH UNIX: cấutrúcgồmhạtnhânvàchươngtrình hệ thống •Hạtnhângồmchuỗigiaotiếpvàbộ ĐKTB (device driver) •Hạtnhâncungcấphệthốngtậptin, lậplịchCPU, quảntrị bộ nhớ vànhữngchứcnăngkhácthôngqua lờigọihệthống •Lờigọihệthống địnhnghĩagiaotiếplậptrìnhchoUNIX •Cácchươngtrìnhhệthốngdùnglờigọihệthốngdo hạt nhânhỗtrợđể cungcấpnhữngchứcnănghữuíchnhư biên dịchvàthaotáctậptin Ng Duc Thuan 47
  48. Chöông1:Toång quanveàHeäñieàuhaønh CaáutruùcUNIX Ngườisửdụng Shell vàlệnh Biêndịchvàthôngdịch Thư việnhệthống Giaotiếplờigọihệthốngvớihạtnhân Tínhiệukiểmsoáthệ Hệ thốngtậptin LậplịchCPU, thay thống, nhậpxuấttuần chuyển đổigiữahệ thế phântrang, yêu tự củabộđiềukhiển thốngnhậpxuấtkhối cầuphântrangtrong terminal vàbộđiềukhiển đĩa bộ nhớảo GiaotiếpgiữahạNgtnhânvớiph ầDucncứng Thuan Bộ kiểmsoát Bộ kiểmsoát đĩa Bộ kiểmsoátbộnhớ terminal 48
  49. Chöông1:Toång quanveàHeäñieàuhaønh •Cấutrúctheolớp –Chiachứcnănghệthốngthànhnhiềuphầnnhỏ –Cấmứngdụngsửdụngcáchàmtruyxuấtcấpthấp –HĐH đượcchiathànhnhiềulớp: lớpphầncứng, lớp hệ thống, lớpgiaotiếpuser –MỗilớpgồmmộtsốCTDL vàcáchàm đượcgọitừ lớptrên. Bảnthânlớpchỉ gọi đượccácchứcnăng củalớpdướihỗtrợ –Mỗilớpkhôngcầnbiết HĐH vàcáclớpkhác được cài đặtnhư thế nào. NóNgchỉ biết nhiDucệmvụvà Thuancácthao táctrênlớp 49
  50. Chöông1:Toång quanveàHeäñieàuhaønh CaáutruùccuûaHeäñieàuhaønhTHE •HĐH TechnischeHogesschoolEindhoven –Lớp5: Chươngtrình ứngdụng –Lớp4: Tạobuffer chothiếtbịnhậpxuất –Lớp3: Device driver thaotácmànhình –Lớp2: Quảnlýbộnhớảo –Lớp1: LậplịchCPUNg Duc Thuan –Lớp0: Phầncứng 50
  51. Chöông1:Toång quanveàHeäñieàuhaønh •Cáclớpcủa HĐH VENUS –Lớp6: Chươngtrình ứngdụng –Lớp5: Device driver vàbộlậplịch –Lớp4: Bộ nhớảo –Lớp3: Kênhnhậpxuất –Lớp2: LậplịchCPU –Lớp1: ThôngdịchcácNgđịa chDucỉ Thuan –Lớp0: Phầncứng 51
  52. Chöông1:Toång quanveàHeäñieàuhaønh Ứngdụng Ứngdụng Ứngdụng Giaotiếpvớichươngtrình ứngdụng Mở rộngAPI Hệ thốngcon Hệ thốngcon Hệ thốngcon Hạtnhânhệthống Quảnlýbộnhớ Gửicáctácvụ Ng DucQuảnlýthiế tbThuanị Device Device Device Device driver driver driver driver 52
  53. Chöông1:Toång quanveàHeäñieàuhaønh •Máy ảo(Virtual Machine) –HĐH = | | | –Nhân HĐH dùngchỉ thị củaphầncứng để tạothư việnLờigọihệthống –Cácchươngtrìnhhệthốngcóthể sử dụnglờigọihệ thốnghoặcchỉ thị phầncứng: (SysCall+HWare) Î SysClass –Các ứngdụngcóthể gọicácchươngtrìnhhệthống: (SysFunc+SysClass) Î Virtual Machine –BằngkỹthuậtlậplịchCPUNg vàb ộDucnhớảo, H ĐThuanH cóthể tạonhiềutiếntrìnhphức ảohoạt độngnhư mộtmáy tínhcóbộxửlývàbộnhớ riêng. 53
  54. Chöông1:Toång quanveàHeäñieàuhaønh •Máy ảo(tt) –Cáctiếntrìnhcủamáy ảohoạt độngnhư lờigọihệ thốngcùnghệthốngtậptin khôngtruyxuấttrựctiếp phầncứng –Tàinguyêncủamáytính đượcchiaxẻđể tạocác máy ảo: CPU ảo, bộ nhớảo, thiếtbịảo, tậptin (và đĩa) ảo. –Máy ảothựchiện ở 2 mức: giámsátvàsửdụng –Vấnđề cơ bảncủamáy ảo: hệ thống đĩa(ảo), vận chuyểndữliệuvàthờigianthihành –Lợithế củamáy ảo: mỗi ứngdụnghoạt động độclập vì đượccungcấpmôitrNgườngnh ưDucmộtmáy riêngThuan (CPU, bộ nhớ, bộ chỉ thị, thiếtbịngoạivi ). 54
  55. Chöông1:Toång quanveàHeäñieàuhaønh •Môhìnhclient-server –Các đoạnmãhệthốngcóxuhướngchuyểndầnlên lớpcao. –Chứcnăngcủahạtnhân đượcchuyểnbớtchocác tiếntrìnhcủauser, chỉ cònlạicácchứcnăngcơbản (vd: kiểmsoátquátrìnhthôngtin giữa client-server) –HĐH đượcchiathànhcácphầnnhỏ, mỗiphầnkiểm soátmộtmặtcủahệthống –Môhìnhhoạt động: client gửiyêucầu, server thực hiện, gửikếtquả choclientNg Duc Thuan – Ưu điểm: tươngthíchvớimôhìnhhệthốngphântán 55
  56. Chöông1:Toång quanveàHeäñieàuhaønh •Lịchsửpháttriểncáchệđiềuhành –Thế hệ 1: 1945-1955 –Thế hệ 2: 1955-1965 –Thế hệ 3: 1965-1980 –Thế hệ 4: 1980 -nay Ng Duc Thuan 56
  57. Chöông1:Toång quanveàHeäñieàuhaønh •Thế hệ 1:1945-1955 –Máytính điệntửdùng đèndo Howard Aiken vàJohn von Neumanthiếtkế. Kíchthướclớn. Tốc độ tính toánchậm –ChưacóNNLT và HĐH. Chưacósựphâncông: ngườithiếtkế, lậptrình, thaotác, quảnlý, sử dụng đềulàmột –Lậptrìnhbằngngônngữ máytuyệt đối –Sửdụngbảng điềukhiểnthựchiệncáctínhnăngcơ bản Ng Duc Thuan –1950: phiếu đụclổra đời, thaychobảng điềukhiển 57
  58. Chöông1:Toång quanveàHeäñieàuhaønh •Thế hệ 2:1955-1965 –Máytính điệntửbándẫnđượcsảnxuấtchokhách hàng –Kíchthướcvàtốcđộđượccảithiện –Cósựphânchiarõrànggiữangườithiếtkế, xây dựng, vậnhành, lậptrình, bảotrì. –NNLT: sử dụngHợpngữ, FORTRAN mãhóachỉ thị trênphiếu đụclỗ. Xuấtkếtquả ramáyin –Hệthốngxửlýtheolô(lưutrênbăngtừ) ra đời –Chươngtrình điềukhiểnhNgệxử lýDuctheolôlà tiềThuannthân củacác HĐH ngàynay 58
  59. Chöông1:Toång quanveàHeäñieàuhaønh •Thế hệ 3:1965-1980 –MáyIBM360 đượctrangbịmạchtíchhợpIC –Kíchthướcgiảmthiểu. Tốc độ giatăng. –Cácthiếtbịngoạivi bắt đầuxuấthiện. Thao tác điềukhiểndầndầnphứctạphơn. –Hệđiềuhànhra đời, từđơngiản đếnphức tạp: hệđachương, hệ chiaxẻthờigian –Hệmáymini bắt đầuNgpháttri Ducển Thuan 59
  60. Chöông1:Toång quanveàHeäñieàuhaønh •Thế hệ 4:1980-nay –Máytínhcánhân(PC-Personal Computer) ra đời –HệmáyIBMPC sử dụng HĐH MS-DOS chiếm lĩnhthị trườngmáycánhântrêntoànthế giới –HĐH mạng, HĐH phântánpháttriểnmạnh –Giaodiện đồ họa(GUI-Graphic User Interface), Multimedia,Ng Internet Duc Thuan 60
  61. Chöông2: Giôùithieäu1 soáHeäñieàuhaønh •HệđiềuhànhMSDOS •HệđiềuhànhWindows •HệđiềuhànhWindows NT •HệđiềuhànhNovel Netware •HệđiềuhànhUnix Ng Duc Thuan 61
  62. Chöông2: Giôùithieäu1 soáHeäñieàuhaønh •HệđiềuhànhMSDOS –Kháiniệm –Lịchsửpháttriển –Quátrìnhkhởi động –TậplệnhcủaMSDOS Ng Duc Thuan 62
  63. Chöông2: Giôùithieäu1 soáHeäñieàuhaønh •KháiniệmvềMSDOS –Microsoft Disk Operating System làmộttrongnhững HĐH đượcsửdụngrộngrãinhấttrênthế giới –MSDOS (gọitắtlàDOS) làhệđiềuhànhcócấutrúc đơngiản, đơnnhiệm(monotasking), mộtngườidùng, truyxuấthệthốngnhiềucấptừcao đếnthấp –Giaotiếpdònglệnhdùngthamsố(Shell từ DOS 4.0) – Đòihỏicấuhìnhthấp: CPU AT/XT, 640KB bộ nhớ, mànhìnhmàuCGA/EGA/VGNgA hoDucặc đơnsắ c.Thuan Cho phépmởrộngthiếtbị 63
  64. Chöông2: Giôùithieäu1 soáHeäñieàuhaønh •KháiniệmvềMSDOS(tt) –TổchứccácchươngtrìnhcủaMSDOS bao gồm: •Chươngtrìnhkhởi động •ChươngtrìnhShell •Chươngtrìnhchứcnăng •Chươngtrìnhnhậpxuất •HệthốngcáctiệníchNg Duc Thuan 64
  65. Chöông2: Giôùithieäu1 soáHeäñieàuhaønh •LịchsửpháttriểncủaMSDOS –Tháng8-1981, Microsoft pháthành HĐH MSDOS 16 bits cho máyPC cóCPU 8088 theo đơn đặthàngcủaIBM –Version 1.0 có4000 dòngHợpngữ, 12KB bộ nhớ, tổ chứcthành 3 tậptin: •IBMBIO.COM: hệ thốngnhậpxuấttuầntựvà đĩa •IBMMSDOS.COM: hệ thốngtậptin, kiểmsoátIO, giaotiếp •COMMAND.COM: trìnhxửlýlệnh(nộitrú, ngoạitrú) – Đề xuấtkháiniệmthiếtbịIO độclập(CON, PRN, AUX), định dạngtậptin ứngdụngCOM, EXE. Hỗ trợ xử lýlệnhtheolô –Version 1.1: ĐĩamềmlưutrữNg5.2 inch (360Duc KB, 2 mặ t).Thuan 65
  66. Chöông2: Giôùithieäu1 soáHeäñieàuhaønh •LịchsửpháttriểncủaMSDOS(tt) –Version 2.0: pháthànhvào3-1983 gồm20,000 dòng lệnh, càitrên đĩacứng10MB. –ChuyểnIBMMIO.COM thànhtậpdanhsáchliênkết thiếtbị. –Sửdụngcấutrúc đĩathứ bậc, thẻ file, đường ống, lọc sắpxếp, device driver cấutrúcmở –Cài đặtthiếtbị, địnhdạngngàytháng, tiềntệ, mã quốcgiavàolúckhởi độNgngtron gDucCONFIG.SYS. Thuan –Version 2.11 đượcchuyểnthànhhơn60 ngônngữ 66
  67. Chöông2: Giôùithieäu1 soáHeäñieàuhaønh •LịchsửpháttriểncủaMSDOS(tt) –Version 3.0 pháthành8-1984 gồm40,000 dònglệnh. –Hỗtrợ máyIBMPC AT, 20MB đĩacứng, đĩamềm 1.2MB –SửdụngcấuhìnhCMOS, đĩa ảoVDISK –Version 3.1 (11-1984) giớithiệuMicrosoft Network –Version 3.2 (1986) hỗ trợđĩamềm3.5". Cungcấp cáclệnhREPLACE, XCOPY, DRIVER.SYS –Version 3.3 hỗ trợ cổngtruyềnthông, ổđĩa1.44MB, đĩacứng32MB trênmáyAT 80286, 80386 –Version 4.0 (7-1988) hỗNgtrợđĩac Ducứng đến2GB. Thuan Sử dụngRAM mở rộnglàm đĩa ảo. GiớithiệuMS-DOS Shell. 67
  68. Chöông2: Giôùithieäu1 soáHeäñieàuhaønh •LịchsửpháttriểncủaMSDOS(tt) –Version 5.0 (4-1991), sử dụngRAM mở rộng để lưu user device driver. Tậndụngvùngnhớ 640-1MB để giảiphóngbớtvùngnhớ cơ sở –CảitiếnShell chophépnạpnhiều ứngdụngcùnglúc –Chútrọngnhiềuhơnđếnuser. Bổ sung Help mở rộng –Version 6.0 (1993): tăngdung lượng đĩabằng DBLSPACE. Tạocache đĩabằngSMARTDRV. Tối ưubộnhớ bằngMEMMAKER.Ng ChDucốngvirus vThuanới MSAV. Phụchồitậptin bằngUNDELETE. Kiểmtra đĩabằngSCANDISK. 68
  69. Chöông2: Giôùithieäu1 soáHeäñieàuhaønh •Quátrìnhkhởi động. Cáckháiniệmcơbảncủa DOS –Lệnhnộitrú: thư việnxửlýcáclệnhphổ biến, thường trútrongbộnhớ –Lệnhngoạitrú: lệnh đặcbiệt, ítdùng, lưutrên đĩa dướidạngcáctậptin thihành –Cácdạngthôngbáolỗi: khôngtìmthấylệnh, lệnhsai cúpháp, khôngthể thựchiệnlệnh –Khởi độngmáybằng đĩamềmhoặc đĩacứng. –MụctiêucủaquátrìnhkhNgởi động: Duc Thuan •Kiểmtrasựhoạt độngcủathiếtbị •Cài đặtchươngtrìnhcủa HĐH 69
  70. Chöông2: Giôùithieäu1 soáHeäñieàuhaønh •Quátrìnhkhởi độngmáytính –POST-Power On Self Test: do chươngtrìnhtrong ROM thựchiện(trướckhi HĐH đượckíchhoạt): •Kiểmtrathiếtbị •Cài đặtthôngsốhệthốngvàoRAM •NạpMaster boot/Boot sector vàobộnhớ. Chuyển điềukhiển –Khởi độngtừđĩamềm: POST-Boot sector-HĐH –Khởi độngtừđĩacứng: POST-Master boot-Boot sector-HĐH –Master boot chứa đoạnchươngtrìnhnạpBoot sector vàobộnhớ chínhvàbảNgngphânh Ducọach đĩac ứThuanng –Boot sector chứa đoạnchươngtrìnhnạp HĐH vàobộ nhớ chínhvàbảngthamsốđĩa 70
  71. Chöông2: Giôùithieäu1 soáHeäñieàuhaønh •Quátrìnhkhởi động HĐH MSDOS: –Cài đặtMSDOS vàoRAM –Khởitạocácvector ngắttương ứng –Tìm đọctậptin cấuhìnhCONFIG.SYS: •Nếutìmthấy, thiếtlậpcấuhìnhtheochỉ dẫn. •Nếukhôngthấy, thiếtlậpcấuhìnhchuẩn –NạpDOS Shell, chuyển điềukhiển –Thựchiệntậptin lôAUTOEXEC.BAT –Xuấtdấuđợilệnh(DOS Prompt): •Khởi độngtừđĩamềm: NgA:\>_ Duc Thuan •Khởi độngtừđĩacứng: C:\>_ 71
  72. Chöông2: Giôùithieäu1 soáHeäñieàuhaønh •CáctậplệnhcủaMSDOS: –Thôngtin hệ thống –Làmviệcvớiđĩa –Làmviệcvớithư mục –Thaotácvớitậptin –Quảnlýnhậpxuất –ThiếtlậpmôitrườngNg Duc Thuan 72
  73. Chöông2: Giôùithieäu1 soáHeäñieàuhaønh •HệđiềuhànhWindows –Kháiniệm –Lịchsửpháttriển –Quátrìnhkhởi động –Tậplệnh Ng Duc Thuan 73
  74. Chöông2: Giôùithieäu1 soáHeäñieàuhaønh •KháiniệmvềHệđiềuhànhWindows –HĐH đanhiệmcủaMicrosoft. Giaodiện đồ họathân thiện, dễ sử dụng, thíchhợpchomọiđốitượngngười dùng –Yêucầuphầncứngkhôngcao: 386SX, VGA, 4MB RAM, 80MB HDD. Quảnlýthiếtbịtốt, trongsuốtvới user –TươngthíchvớimáyIBMPC. Các HĐH kháccóthể cùnghọat độngvớiWindows. DOS trở thành ứng dụngcủa Windows. HĐH cótính ổn địnhcao, íthỏng hóc. –Khaithác đượckhả nănNggtốiđac Ducủamáy. Cài Thuanđặtthay đổicấuhìnhhệthốngdễdàng: Plug and Play (Windows 95) 74
  75. Chöông2: Giôùithieäu1 soáHeäñieàuhaønh •KháiniệmvềHệđiềuhànhWindows (tt) –Giaodiệncửasổ, biểutượng. Hỗ trợ tênfile dài, giao tiếpdữliệuOLE. –Chạytrongchếđộ bảovệ(protected mode). Địnhvị bộnhớ phẳng. Phávỡràocản640 MB bộ nhớ cơ sở. –Hỗtrợ các ứngdụng32 bits. Giaotiếptrựctiếpvới cácthiếtbịthôngtin. Liênkếttrongcáchệthống mạng. –Dễhọc, dễ sử dụng, hỗNgtrợ lập trìnDuchtốt Windows Thuan đã đưaMicrosoft trở thành1 trongnhữngcôngty hàng đầuthế giớitronglĩnhvựcCNTT 75
  76. Chöông2: Giôùithieäu1 soáHeäñieàuhaønh •Lịchsửpháttriểncủa HĐH Windows –11-1983 côngbố. 11-1985 pháthànhversion 1.0 –Version 2.0 (11-1987) thay đổigiaodiện, cửasổphủ lấp. Mở rộnggiaotiếpbànphím, chuộtchomenu vàdialog box –1987-1990: Windows 2.x (80386 Virtual mode). Multitask các ứngdụngDOS, Windows. Truyxuấttrựctiếpphầncứng –5-1990: Windows 3.0 protect mode 80x86. Truycập16MB bộ nhớ. Shell (Program, Task, File Manager) hoànchỉnh. –4-1992: Windows 3.1 protect mode. Hỗ trợ font True type, multimedia, OLE, common dialog box. –9-1995: Windows 95 GUI hoànchỉnh. Độclậpthiếtbị, hỗ trợ CD- ROM, Plug&Play. Hỗ trợ mạnNggcụcbộ , Ducremote control. Thuan 76
  77. Chöông2: Giôùithieäu1 soáHeäñieàuhaønh •Quátrìnhkhởi độngcủa HĐH Windows –POST-Power On Self Test –Nạpcácthànhphầnchochếđộ thực –NạpVxDtĩnhvàchếđộ bảovệ –Nạp HĐH Windows vàkhởitạodesktop Ng Duc Thuan 77
  78. Chöông2: Giôùithieäu1 soáHeäñieàuhaønh •Nạpcácthànhphầnchochếđộ thực(real-mode) –Boot sector nạpIO.SYS. Chuyển điềukhiển –IO.SYS cóchứcnăngquảnlýcấuhìnhreal-mode, graphic mode. IO.SYS nạpcáctậptin tốithiểu, phântíchtậptin CONFIG.SYS, thihành đồ họa(real-mode, protected mode) –Xác địnhtiểusửphầncứng(hardware profile). Khởitạothiếtbị phầncứngchochếđộ thực. NạpMSDOS.SYS –MSDOS.SYS địnhvịđịachỉ cáctậptin vàcácchứcnăngkhởi độngWindows 95. –XửlýCONFIG.SYS. NạpCOMMAND.COM để xử lýlệnh ở chế độ DOS thực. ThihànhAUTOEXEC.BAT. Chuyển điềukhiển choquátrìnhnạpbộquảnlýNgmáy ảoV MDucM32 ở chế độThuanthực 78
  79. Chöông2: Giôùithieäu1 soáHeäñieàuhaønh •NạpVxDtĩnhvàchếđộ bảovệ(protected- mode) –VMM32 nạpcácthiếtbịmôtảtrongSYSTEM.INI. Tìmdriver chothiếtbị. Nếutìmkhôngthấy, nạpdriver mặc định –Chuyểntừchế thựcsang chếđộ bảovệ –Khởi độngbộquảnlýcấuhìnhchếđộ bảovệ. Khởi tạocácVxDcósẵn. Xác địnhcácVxDcầnnạpthêm –Nhậndạngthôngtin phầncứng –Giảiquýêtcácxung độtvNgềtàinguyên Duc Thuan –Khởitạocácthiếtbị 79
  80. Chöông2: Giôùithieäu1 soáHeäñieàuhaønh •NạpWindows 95 files, khởitạodesktop –NạpSYSTEM.INI: thôngtin cấuhìnhhệthống –NạpKERNEL32.DLL: hạtnhâncủaWindows 95 –NạpGDI.EXE, GDI32.DLL: cơ chếđồ họacủa Windows 95 –NạpUSER.EXE, USER32.DLL giaotiếpuser, quảnlý cửasổ –Liênkếttàinguyên, font –NạpWIN.INI chứacáccấuhìnhvềchươngtrìnhvà user –NạpShell (EXPLORER.EXE),Ng cá Duccthànhph ầThuanncủa desktop –Nếusửdụngmạng, xuấthiệnhộpthoạilogin. 80
  81. Chöông2: Giôùithieäu1 soáHeäñieàuhaønh •Tậplệnh(Shell) Windows 95 –Thaotácvớicác đốitượng •Các đốitượng: file, folder, program, printer, modem •Tên: dùngmôtảvàxác định đốitượng •Thuộctính: kíchthước, vị trí, tên, thờigian –Cácthànhphầncủadesktop •My Computer: Drives, Control Panel, Printer, DialUp •Shortcut: Name, Address, Icon, Application •Network Neighborhood: Workgroup, Server, Printer, Shared Folder –Recycled Bin: Restore Deleted Items –Taskbar: Start button, Quick NgLaunch, SyDucstem Tray Thuan –Start: Programs, Documents, Settings, Find, Run, Help, Shutdown 81
  82. Chöông2: Giôùithieäu1 soáHeäñieàuhaønh •HệđiềuhànhWindows NT. Kháiniệm –HĐH mạngdànhchoLAN vàWorkgroup của Microsoft – Đúckếttừưuđiểmcủacác HĐH khácnhư Unix, OS/2 –Windows NT có2 phiênbản: Server vàWorkstation –Windows NT Workstation phụcvụnhiềuchứcnăng mạng: print server, router TCP/IP –Windows NT sử dụngprofiles lưutrữ thôngtin chi tiết về môitrườngcủauser qua cácphiênlàmviệc –Vừalà HĐH máy đơn, vNgừalàfile Duc server, application Thuan server, print server , Windows NT là HĐH thân thiện, mạnhmẽvàlinhhoạt 82
  83. Chöông2: Giôùithieäu1 soáHeäñieàuhaønh •HệđiềuhànhWindows NT. Đặc điểm –Dễtöôngthích (portability): •NT đượcviếtbằngngônngữ C •Cácphần đượcxâydựngtrênlớpphầncứngtrừutượng •Chạy đượctrêncácmáyIntel x86, RISC (MIPS, AXP, PowerPC) –Khả năngbộnhớ: địnhvịđến4GB địachỉ bộ nhớ – Đanhiệm:thựchiệnnhiềutiếntrìnhcùnglúc –Hỗtrợ nhiềuCPU: •Workstation 4.0: 2 CPU Ng Duc Thuan •Server 4.0: 4 CPU •Chuyêndụng: 255 CPU 83
  84. Chöông2: Giôùithieäu1 soáHeäñieàuhaønh •HệđiềuhànhWindows NT. Đặc điểm(tt) –Hệthốngtậptin NTFS (New Technology File System): •Tênfile dài đến255 kýtự. Phânbiệtchữ hoa, thường •Logical Partition đến1064 GB •Nénfile/folder giảmkíchthước40-50% –An toàn:nhiềucấpđộ an tòantrênmứcchiaxẻ, quyềntruycậpdữliệumạng –Tươngthích:hỗtrợ nhiềuloại ứngdụngtừnhiều HĐH khácnhau(MSDOS,Ng Windows Duc 16bits, WindowsThuan 32 bits, OS/2, POSIX) 84
  85. Chöông2: Giôùithieäu1 soáHeäñieàuhaønh •HệđiềuhànhWindows NT. Đặc điểm(tt) –Hỗtrợ mạng: •Dễquảntrị: user profiles, quảntrị domain, lậplịchtácvụ •Hỗtrợ API (Application Programming Interface): NetBIOS , Socket •Hỗtrợ giaothứctruyềnthông: NetBEUI, NWLink, TCP/IP, DLC •GiaotiếpvớiNetware: cácphầnmềmclient cóthể truyxuất đếnserver Netware •Dịchvụtruyxuấttừxa(RAS-Remote Access Service) cho phépuser kếtnốivàoLAN thôngqua modem, vàoWAN sử dụngX25 •DịchvụInternet: hỗ trợ cNghomạng TCPDuc/IP cácdịc hvThuanụworld wide web, FTP server, Gopher server 85
  86. Chöông2: Giôùithieäu1 soáHeäñieàuhaønh •Quảntrị user, nhómuser trênWindows NT –BộquảnlýUser Manager for Domain –Tạoshortcut choUser Manager for Domain –LựachọnDomain –Thêmuser account –Copy user account –Thay đổithuộctínhcủauser acount –Gánuser vàocácnhóm –Quảnlýnhóm Ng Duc Thuan 86
  87. Chöông2: Giôùithieäu1 soáHeäñieàuhaønh •SửdụngWindows NT Workstation Client –Windows NT Workstation có3 thànhphần chính: •Nghithứcmạng • Địnhhướnglạinetwork client •Cấuhìnhtàinguyên –Logon/Logoff Windows NT Workstation •Logon cụcbộ Ng Duc Thuan •Logon domain 87
  88. Chöông2: Giôùithieäu1 soáHeäñieàuhaønh •HệđiềuhànhNovell Netware –1983: mạngS-Net ra đời, làtiềnthâncủaNovell Netware –Cácnămsau, Novell giớithiệuNetware 86 (file server, truyxuất hệ thốngtậptin an toàn, hỗ trợ quảntrị mạng) –1986: Advanced Netware hỗ trợ LAN, chophépnốinhiềukiểu mạngtrongfile server hoặcworkstation bênngoài –Advanced Netware 286 xâydựngtrênCPU 80286, multitasking, protected mode. Server hỗ trợ 4 kiểumạng –Version Netware 386 3.0 (1989) là HĐH 32 bits thíchhợpcho cácmạnglớn. An toàn, hiệuquả, linh động, tin cậy Ng Duc Thuan 88
  89. Chöông2: Giôùithieäu1 soáHeäñieàuhaønh •HệđiềuhànhNovell Netware(tt) –1991: Netware 3.11 hỗ trợ tậptin DOS, Macintosh, Windows, OS/2, Unix vàcácdịch vụ in ấn –1995: Netware 4.1 cungcấpcácdịchvụthiết yếu: thư mục, tậptin, thông điệphợpnhất, địnhhướng đanghithức, quảntrị mạng, an tòan, in ấn. –CácsảnphẩmcủaNovell:Ng NetwDucare SFT Thuan III 3.12, Netware 4.1 for OS/2, Netware for Unix. 89
  90. Chöông2: Giôùithieäu1 soáHeäñieàuhaønh • Đặc điểmcủa HĐH Netware 4.1 –HĐH mạng32 bit CPU 80386, cungcấpcácdịchvụchotrạm –Dịchvụxácminhuser vàlogin –Dịchvụtậptin: user đượcgánquyềntruycậpserver, thư mục, tậptin, quảnlýhệthốngtậptin, quyềntruycập –Bảovệan toàndữliệu: kiểmtraghidữliệu, tạomirror, duplicate thư mục, FAT, HotFix, TTS (Transaction Tracking System), giám sátSFT (System Fault Tolerance) – Địnhhướng: server cóthể cónhiềucard giaotiếpmạng(NIC- Netware Interface Connector). Netware hỗ trợđịnhhướngthông tin giữanhữngngườisửdụnNggtrênmạ ngDuc Thuan 90
  91. Chöông2: Giôùithieäu1 soáHeäñieàuhaønh • Đặc điểmcủa HĐH Netware 4.1(tt) –Thông điệp: cungcấphệthốngquảntrị thông điệp –Quảntrị: cungcấpnhiềutiệníchquảntrị, giámsátvàtốiưu –Dịchvụin ấn: chophépchiaxẻtậptin, in ấntrênmạng –Internet: hỗ trợ WAN vàmobile device –Cấuhìnhnăng động: sử dụngbộnhớ tạocache chothư mục, buffer địnhhướng, chỉ mụcTurbo FAT, TTS –Quảntrị bộ nhớ hiệuquả –Hệthốngtậptin: tìmkiếmtheocơchế thangmáy, cache file, ghi background, Turbo FAT, nénfile, kíchthướcfile đến4GB, 2 triệu thư mục/volume, mở cùnglúNgc10,000 files Duc Thuan 91
  92. Chöông2: Giôùithieäu1 soáHeäñieàuhaønh •HệđiềuhànhUnix –Sảnphẩm HĐH 32 bits củaBell Lab dànhchomáy trạm, máymini, notebook vàcáchệmáy đặcbiệt –Cungcấpmôitrườngtốtchopháttriển ứngdụng(xử lývănbản, xử lýtínhtoán, CASE/CAD/CAM) –Dễchuyển đổigiữacáchệthống, kếtnốicácchương trình. Từ khiIBMPC ra đời, Unix đượcchuyểntừmáy mainframe, mini sang PC vớihệMicrosoft's XENIX, AT&T System V. –Multitasking, multi-user, Unix là HĐH đượcsửdụng rộngrãitrongcácchiếnlượcmởrộnghệthống –Unix truyềnthốngcócơNgchế dòn glDucệnh. Ngà yThuannay Unix đãcócác HĐH giaodiện đồ họathânthiệnhơn. 92
  93. Chöông2: Giôùithieäu1 soáHeäñieàuhaønh •Lịchsửpháttriểncủa HĐH Unix –1965-1969: Bell Lab pháttriểnhệMulticstrênmainframe –1969: Ken Thompson thiếtkếlạichomáyDEC PDP-7 –1970: Unix ra đờichohệmáyPDP-11. Chưahỗtrợ multitasking, multiprogramming. 24 (16+8) KB bộ nhớ. File tối đa64KB. Soạn thảovănbản. Chưahỗtrợ bảovệlưutrữ. –1973: Denis Ritchie viếtlạiUnix bằngC –1975: Unix mãnguồnmởphổ biếntrongcáctrường đạihọc –1979: Unix vớihệthốngchiaxẻthờigianra đời. File tối đa1 tỷ byte. Ngônngữ C mở rộng. Bổ sung nhiềushell mạnhhỗtrợ chuỗi, lậptrìnhcấutrúc, chuyNgểnfile gi ữDucacácmáy. Thuan 93
  94. Chöông2: Giôùithieäu1 soáHeäñieàuhaønh •Lịchsửpháttriểncủa HĐH Unix (tt) –1980: XENIX, hệ Unix củaMicrosoft chobộxửlý16 bits. Có đặctínhsửachữakhôiphụctậptin tựđộng, chiasẻdữliệu, tăngcườngxửlýbêntrong –Unix của đạihọc Berkeley: HĐH chiasẻthờigian, hỗ trợ khônggian địachỉ lớnhơn. Bộ nhớảophântrang, hệ thốngtậptin nhanhvàmạnhhơn. Xử lýthôngtin nộitại. Hỗ trợ mạngcụcbộ. Soạnthảotoànmànhình vàshell –1982: Unix System III, V củaAT&T hỗ trợ truyxuất côngviệctừxa, điềukhiểnmãnguồn –CórấtnhiềucôngtycùnNggtham giDucaxâydựn gThuanUnix. Ngàynay Unix chiếmkhỏang20% trêncáchệthống máytính 94
  95. HaïtnhaânUNIX Các Ứngdụng Thư viện User Hạtnhân Giaotiếplờigọihệthống Quảnlýtậptin Liênlạcgiữacáctiếntrình Quảnlý Buffer cache tiếntrình Lậplịch Kýtự khối Quảnlýbộnhớ Device drives KiểmsoátNgphầncứng Duc Thuan Hạtnhân Phầncứng Phầncứng 95
  96. Chöông2: Giôùithieäu1 soáHeäñieàuhaønh •Cấutrúc HĐH Unix: user, hạtnhânvàphầncứng –Cácphầnchínhcủanhân: Quảnlýtậptin, quảnlýtiếntrình –Cácthư việnliênkếtvớilờigọihệthống để truycập HĐH –CácnhómLờigọihệthống: nhómtậptin, nhómtiếntrình –Hệthốngquảnlýbộnhớđồngbộhóatiếntrình, liênlạcgiữa cáctiếntrình, cấpphátbộnhớ, lậplịchtiếntrình –Hệthốngquảnlýtậptin vàhệthốngquảnlýtiếntrìnhcùng tươngtáckhinạptậptin vàobộnhớ •Unix Shell, chươngtrìnhgiaotiếpcủauser vớiUnix –Unix cónhiềuloạishell (Bourne:sh, Korn: ksh, C: csh) –Mỗishell códấunhắckhácnhaNgu($, % )Duc Thuan –Cácshell cóthể thihànhcùnglúc, 1 shell trên1 shell khác 96
  97. Chöông2: Giôùithieäu1 soáHeäñieàuhaønh •TậplệnhUnix –Cáclệnhcơbản –Cáclệnhliênquan đếntậptin, thư mục –Cáclệnhsoạnthảo –Cáclệnhtiệních –Cáclệnhvềmạng –CáclệnhchuyểntậpNgtin Duc Thuan –Cáclệnhthôngtin liênlạc 97
  98. Chöông3: Quaûnlyùtieántrình 2.1 Khaùinieäm v Tieántrìnhlaømoätchöôngtrìnhñangxöûlyù, sôûhöõumoätcon troûleänh, taäpthanhghivaøcaùcbieán. v Chöôngtrìnhlaøthöïctheåthuïñoängchöùañöïngcaùctínhieäu ñieàukhieånmaùytínhñeåthöïchieäntaùcvuïnaøoñoù. v HÑH hoãtrôïñachöông, ñanhieäm. TrongHÑH coùnhieàu tieántrìnhcuønghoaïtñoäng. Vìvaäyvieäcsöûduïngthuaättoaùn ñeåñieàuphoáicaùctieántrìnhlaønhieämvuïcuûaHÑH. v BoäphaänthöïchieänchöùcnaênNggnaøygoï Ducilaøboäñieàu Thuanphoái. 98
  99. Chöông3: Quaûnlyùtieántrình Traïngthaùicuûamoättieántrình: v Running: caùcchæthòtieántrìnhñangñöôïcxöûlyù. v Blocked: tieántrìnhchôøcaápphaùttaøinguyeân, hay söïkieän naøoñoùxaûyra. v Ready: tieántrìnhchôøcaápphaùtCPU. (Create: taïomôùi, Destroy: keátthuùc) Cheáñoäxöûlyùtieántrình: HÑH coùhaicheáñoäxöûlyùtieántrình: Cheáñoäñaëcquyeàn: chæcoùHÑH môùihoaïtñoängñöôïcvôùi cheáñoäñoäcquyeàn, nhôøsöïgNgiuùpñôõphaà Ducncöùng. Thuan Cheáñoäkhoângñaëcquyeàn:ngöôøisöûduïng 99
  100. Chöông3: Quaûnlyùtieántrình Chuyeåntraïngthaùitieántrình New Dispatch READY RUNNING Timer run-out Wake-up Sleep BLOCKED Ng Duc Thuan 100
  101. Chöông3: Quaûnlyùtieántrình v HÑH quaûnlyùthoângtin tieántrìnhqua khoáiñieàukhieån (PCB: Process Control Block). CaáutruùcdöõlieäucuûaHÑH ñeåquaûnlyùquaùtrình v Chöùathoângtin nhaändaïng, traïngthaùi, ñònhvòtaøinguyeân choquaùtrìnhbaogoàmthoângtin sau: ü Danhñònhchoquaùtrình(PID) ü Boäñeámchöôngtrình ü VuønglöugiaùtròthanhghiCPU ü Ñoäöutieâncuûaquaùtrình ü Thoâng tin ñònhvòboänhôùquaùtrình ü Thoâng tin baûomaät Ng Duc Thuan ü Con troûñeáùncaùcquaùtrìnhcha, con ü 101
  102. Chöông3: Quaûnlyùtieántrình Víduï TrongTask Manager Ng Duc Thuan 102
  103. Chöông3: Quaûnlyùtieántrình Ng Duc Thuan 103
  104. Chöông3: Quaûnlyùtieántrình Thaotaùctreântieántrình HÑH cungcaápcaùcthaotaùcchuûyeáuchotieántrìnhlaø: F Create:taïolaäptieántrình ü Ñònh danhtieántrình ü Ñöatieántrìnhvaøodanhsaùchquaûnlyù ü Xaùcñònhmöùcñoäöutieân ü Cungcaáptaøinguyeânban ñaàu ü Taïokhoáiñieàukhieåntieántrình(PCB) F Destroy:keátthuùctieántrình ü Thu hoàitaøinguyeânñaõcaáp ü Huyûboûtieántrìnhkhoûidanhsaùchquaûnlyù ü HuyûboûkhoáiñieàukhieåntieántrìnhNg Duc Thuan (Löuyù: tieántrìnhcon khoângtheåtieáptuïckhitieántrìnhcha keátthuùc) 104
  105. Chöông3: Quaûnlyùtieántrình 2.2 Tieåutrình(threads) v Moãi tieántrìnhthoângthöôøngcoùmoätkhoânggianñòachævaø doøngxöûlyù. v Trongtröôønghôïpngöôøisöûduïngmuoánnhieàudoøngxöûlyù cuøngchiaseûmoätkhoânggianñòachævaøcaùcdoøngdöõlieäu xöûlyùsong songnhöcaùctieántrìnhrieângbieät. HÑH cung caápcôcheánhövaäygoïilaøtieåutrình. v Moättieåutrìnhlaømoätñônvòxöûlyùcôbaûntrongheäthoáng. v Moättieåutrìnhcoùtheåtaïonhieàutieántrìnhcon. v MoättieántrìnhcoùtheåsôûhöõuNgnhieàutieå Ducutrình. Thuan 105
  106. Chöông3: Quaûnlyùtieántrình 2.3 Ñieàuphoáitieántrình Trongmoâitröôøngñachöôngnhieàutieántrìnhñoàngthôøisaün saøngnhaänxöûlyù. Tieántrìnhtieáptheonaøoñöôïcchoïnñeåxöû lyùcaàncoùgiaûithuaätthíchhôïpñeåthöïchieännhieämvuïnaøy. HÑH coùboäphaänthöïchieännhieämvuïnaøyñöôïcgoïiboä ñieàuphoáitieántrình.(dispatcher) 1. Muïctieâuñieàuphoáilaø: Y Söïcoângbaèng(Fairness) Y Tínhhieäuquaû(Efficiency) Y Thôøigianñaùpöùnghôïplyù(Responsetime) Y ThôøigianlöulaïitrongheäthoánNgg(Turaroun DucdTime). Thuan Y Thoâng löôïngtoáiña(throughput) 106
  107. Chöông3: Quaûnlyùtieántrình 2. Caùcñaëcñieåmcuûatieántrình Muïctieâucôbaûntrongñieàuphoáitieántrình: v Höôùngxuaát/nhaäpcuûatieántrình v Höôùngxöûlyùcuûatieántrình v Chöôngtrìnhtöôngtaùchay xöûlyùtheoloâ v Ñoäöutieâncuûatieántrình v ThôøigianñaõsöûduïngCPU cuûatieántrình. v Thôøigiancoønlaïicuûatieántrìnhcaàngiaûiquyeát Ñieàuphoáiñoäcquyeànvaøkhoângñoäcquyeàn Ñieàuphoáiñoäcquyeàn:TieántrìnhchieámCPU ñeánkhihoaøntaáthoaëc töïnguyeängiaûiphoùng. Ñieàuphoáikhoângñoäcquyeàn:Tieántrìnhcoùtheåbòtaïmdöøngbaátcöù khinaøo. Ng Duc Thuan 107
  108. Chöông3: Quaûnlyùtieántrình 3. Ñieàuphoái: HÑH söûduïng2 loaïidanhsaùchtrongñieàu phoái: Ø Danhsaùchsaünsaøng Ø Danhsaùchhaøngñôïi Danhsaùchsaünsaøng:Chöùanhöõngchöôngtrìnhthöôøngtruù trongboänhôùchính. ÔÛtraïngthaùisaênsaøng Danhsaùchhaøngñôïi:Chöùanhöõngtieántrìnhtraïngthaùi Ready. Caùccaápñoäñieàuphoái: ° Ñieàuphoáitaùcvuï: quyeátñònhsoátieántrìnhvaøoboänhôù ° Ñieàuphoáitieántrình:quyeáNgtñònhtieá Ducntrìnhnaø oThuantieáptheo nhaänCPU 108
  109. Chöông3: Quaûnlyùtieántrình 4. Caùcchieánlöôïcñieàuphoái A. ChieánlöôïcFIFO(FirstIn First Out) Nguyeântaéc: CPU seõñöôïccaápphaùtchotieántrình ñaàutieântrongdanhsaùchsaünsaøng. Ñaâythuaät toaùnñieàuphoáitheonguyeântaécñoäcquyeàn. CPU chæcoùtheåthoaùtkhoûitieántrìnhkhikeátthuùchay coùyeâucaàuxuaát/ nhaäp. Danhsaùchsaünsaøng Ng Duc Thuan CPU 109
  110. Chöông3: Quaûnlyùtieántrình Víduï: chieánlöôïcñieàuphoáiFIFO Tieántrình Thôøiñieåmvaøo Thôøigianxöûlyù P1 0 24 P2 1Ng Duc3 Thuan P3 2 3 110
  111. Chöông3: Quaûnlyùtieántrình Víduï: chieánlöôïcñieàuphoáiFIFO Thöùtöïcaápphaùt: P1P2P3 Thôøigianchôø: P1 laø0 P2 laø24Ng Duc Thuan P3 laø27 Thôøigianchôøtrungbình:(0+24+27)/3=17ms 111
  112. Chöông3: Quaûnlyùtieántrình Nhaänxeùt: chieánlöôïcñieàuphoáiFIFO vThôøigianchôøkhoângñaïtcöïctieåu. Coùtheåxaûy hieäntöôïngtíchluõythôøigianchôø. v Thayñoåiñaùngkeåthôøigianchôøneáuthayñoåithöù töïdaõy. v Giaûithuaätkhoângphuøhôïpvôùivieäcphaânchia thôøigian Ng Duc Thuan 112
  113. Chöông3: Quaûnlyùtieántrình B. Chieánlöôïcphaânphoáivoøngquay(Round Robin) Nguyeântaéc: Danhsaùchsaünsaøngxöûlyùlaødanhsaùch voøng, boäñieàuphoáilaànlöôïtcaápphaùttöøngtieántrình trongdanhsaùchkhoaûngthôøigiant.(Giaûithuaätñieàu phoáikhoângñoäcquyeàn) Danhsaùchsaünsaøng Ng DucCPU Thuan 113
  114. Chöông3: Quaûnlyùtieántrình Víduï: chieánlöôïcñieàuphoáiRR Tieántrình Thôøiñieåmvaøo Thôøigianxöûlyù P1 0 24 P2 1Ng Duc3 Thuan P3 2 3 114
  115. Chöông3: Quaûnlyùtieántrình Víduï: chieánlöôïcñieàuphoáiRR P1P2P3P1P1P1P1P1 Thôøigianchôøtrungbình:(0+4+7+6)/3=5,66ms Nhaänxeùt: F Giaûithuaätphuïthuoäcvaøoraátnhieàugiaùtròt Ft quaùnhoû-> söûduïngCPUNg keùm Duchieäuquaû Thuan F t quaùlôùn-> taêngkhaûnaênghoàiñaùp, giaùmkhaû naêngtöôngtaùcheäthoáng. 115
  116. Chöông3: Quaûnlyùtieántrình C. ChieánlöôïcÑieàuphoáivôùiñoäöutieân Nguyeântaéc: Moãitieántrìnhkhivaøoheäthoángñöôïc gaùngiaùtròöutieân. Tieántrìnhcoùñoäöutieâncaoseõ ñöôïcnhaänCPU tröôùc. Ñoäöutieândöïatreânraát nhieàutieâuchínhö: thôøigianxöûlyù, yeâucaàuboä nhôù. Ø GiaûithuaätnaøycoùtheåtheNgonguyeâ Ducntaécñoä Thuancquyeàn vaøkhoângñoäcquyeàn 116
  117. Chöông3: Quaûnlyùtieántrình Víduï: chieánlöôïcñieàuphoáiÖutieân Tieántrình Ñoäöutieân Thôøigianxöûlyù P1 3 24 P2 1Ng Duc 3Thuan P3 2 3 117
  118. Chöông3: Quaûnlyùtieántrình Víduï: chieánlöôïcñieàuphoáiÖutieân P2P3P1 Thôøigianchôøtrungbình:(0+3+6)/3=2ms Nhaänxeùt: Ø Coùtheådaãnñeántieántrìnhcoùmöùcöutieâncaápthaápchôøvoâ haïn. Ø KhaécphuïcboäñieàuphoáNgitieán haønDuchgiaûm ñoThuanäöutieân xuoángsaumoãingaétñoànghoàchoñeánkhitieántrìnhcoù möùcöutieânthaáp hôntieántrìnhkeácaänvaøchuyeån 118 CPU.
  119. Chöông3: Quaûnlyùtieántrình D. Chieánlöôïccoângvieäcngaénnhaát (SJF: Shortest Job First) Nguyeântaéc: Ñieàuphoáivôùiñoäöutieân, ñoäöutieân p ñöôïcgaùnchotieántrìnhlaønghòchñaûocuûathôøi gianxöûlyùt maøtieántrìnhyeâucaàu: p=1/t. Tieán trìnhkeátieáplaøtieántrìnhyeâucaàuítthôøigiannhaát ñeåkeátthuùc. F GiaûithuaätnaøycuõngcoNgùthe ålaDucøñoäcquyeà Thuannhay khoângñoäcquyeàn 119
  120. Chöông3: Quaûnlyùtieántrình Víduï: chieánlöôïcñieàuphoáiSJF Tieántrình Thôøigianxöûlyù P1 6 P2 8 P3 Ng Duc7 Thuan P4 3 120
  121. Chöông3: Quaûnlyùtieántrình Víduï: chieánlöôïcñieàuphoáiSJF Thöùtöïcaápphaùt: P4P1P3P2 Thôøigianchôøtrungbình:(3+9+16+0)/4=7ms Nhaänxeùt: Ø ChopheùpñaïtthôøigianchôøtrunNggbìn hDuclaøcöïctieåu Thuan Ø Xaùcñònhthôøigianyeâucaàuxöûlyùcoønlaïilaøraátkhoùkhaên: Bieåuthöùcdöïñoaùn t n+1 = atn + (1-a)t n 121
  122. Chöông3: Quaûnlyùtieántrình F. Chieánlöôïcñieàuphoáinhieàumöùcñoäöutieân Nguyeântaéc: Phaânlôùptieántrìnhtuyøtheoñoäöutieân cuûachuùngñeåcoùcaùchñieàuphoáithíchhôïpcho töøngnhoùm. Danhsaùchsaünsaøngñöôïcphaântaùch thaønhcaùcdanhsaùchrieângbieättheocaápñoäöu tieân. Moãidanhsaùchbaogoàmcaùctieántrìnhcoù cuøngmöùcñoäöutieânvaøñöôïcaùpduïnggiaûithuaät ñieàuphoáithíchhôïpñeåNgñieàupho Ducái. Thuan Giaûithuaätsöûduïnglaøgiaûithuaätkhoângñoäcquyeàn. 122
  123. Chöông3: Quaûnlyùtieántrình Tieántrìnhdeadlock : ñôïimoätsöïkieänkhoângbaogiôø xaûyra. Moätheäthoángbòdeadlock : coùtieántrìnhbòdeadlock. P1 10KB 8KB P2 8KB 4KB spooler P3 3KB 7KBNg Duc Thuan 15KB printer buffer TaécngheõntronggiaothoângTaécngheõntrongquaûnlyùin aán123
  124. Chöông3: Quaûnlyùtieántrình Haitieántrìnhbòdeadlock: Daïngdeadlock: Process Process2 1 P(S2); P(S1); P(S1); R1 R2 P(S2); Critical Critical Section; Process1 Process2 Section; V(S2); V(S1); V(S1); Ng Duc Thuan V(S2); 124
  125. Chöông3: Quaûnlyùtieántrình ÑIEÀU KIEÄN XAÛY RA DEADLOCK Ñieàukieän mutual exclusion: caùctieántrìnhcaàn thöïchieänloaïitröøtöônghoãtreânvuøngtranhchaáp Ñieàukieän hold & wait:tieántrìnhñanggiöõtaøi nguyeâncoùtheåyeâucaàutheâmtaøinguyeânkhaùc Ñieàukieän no-preemption:taøinguyeânchæñöôïc giaûiphoùngkhitieántrìnhduøngxong Ñieàukieän circular-waitNg:caùctieá Ducntrìnhgiö Thuanõvaøñôïi taøinguyeântaïothaønhvoøngluaånquaån 125
  126. Chöông3: Quaûnlyùtieántrình GIAÛI QUYEÁT DEADLOCK Ngaênngöøadeadlock (deadlock prevention) –Qui ñònhcaáp, duøngtaøinguyeânnghieâmngaët –Khoângchocaùcñieàukieändeadlock xaûyra Traùnhdeadlock (deadlock avoidance) –Vaãnchocaùcñieàukieändeadlock toàntaïi –Caáptaøinguyeânhôïplyù, an toaøn Phaùthieändeadlock (Ngdeadlock Duc detection) Thuan Phuïchoàideadlock (deadlock recovery) 126
  127. Chöông3: Quaûnlyùtieántrình Caámñieàukieän multual-exclusion ? Caámñieàukieän hold & wait –Tieántrìnhyeâucaàutaátcaûtaøinguyeânmoätlaàn –Chæñöôïcxöûlyùkhiñaõñuûtaátcaûtaøinguyeâncaàønthieát Caámñieàukieän no-preemption –Neáuyeâucaàutaøinguyeânkhoângñöôïc, tieántrìnhphaûi giaûiphoùngtaátcaûtaøinguyeânñanggiöõvaøyeâucaàulaïi. Loaïiboû circular-wait –SaépxeáptaøinguyeântheoNgtraättöïva Ducøchungcaáp chThuanotieán trìnhtheoñuùngtraättöïñoù 127
  128. Chöông3: Quaûnlyùtieántrình Víduï Tieán Yeâucaàu trình thöïcteá P1 R6, R4, R1 P2 R2, R5, R4 P3 R3, R7, R1 P3 P1 R1 R2 R3 R4 R5 R6 R7 P2 Ng Duc Thuan 128
  129. Chöông3: Quaûnlyùtieántrình Giaûithuaätnhaøbaêng(Banker’s Algorithm) –Heäñieàuhaønh ~ NhaøBaêng –Tieántrình ~ Khaùchhaøng –Taøinguyeân ~ Voánvay Raøngbuoäc –Yeâucaàuvaycöïcñaïi ≤ voánnhaøbaêng –Khaùchkhoângtraûvoánneáuvaychöañuûyeâucaàucöïcñaïi –Khivayñuû, khaùchphaûitraûñuûvoánsauthôøigianhöõuhaïn Traïngthaùinhaøbaêng –An toaøn(Safe): thoûayeâucaàumoïikhaùch, ngaânhaøngthu voánñuû Ng Duc Thuan –Khoângan toaøn( Unsafe) : ngöôïclaïi è coùtheådeadlock Heäthoángphaûicaápphaùttaøinguyeânsaochokhoângrôivaøotraïng thaùiUnsafe 129
  130. Chöông3: Quaûnlyùtieántrình Traïngthaùisaulaøan toaøn. Taïisao ? Ñangmöôïn Caàntoáiña Caàntheâm P1 1 4 3 P2 4 6 2 P3 5 8 3 Voân12 , coønlaïi2 Traïngthaùisaulaøkhoângan toaøn. Taïisao ? Ñangmöôïn Caàntoáiña Caàntheâm P1 8 Ng10 Duc2 Thuan P2 2 5 3 P3 1 3 2 Voân12 , coønlaïi1 130
  131. Chöông3: Quaûnlyùtieántrình PHAÙT HIEÄN DEADLOCK Ghinhaän, theodoõiyeâucaàu, söïcaápphaùttaøinguyeâncho caùctieántrình. DuøngñoàthòRAG (Resource Allocation Graph) P1 yeâucaàun taøinguyeânloaïiR1 n Tieántrình P1 R1 Taøinguyeân P2Ng ñanggiö õ1 Ductaøinguyeânloaï iThuanR2 P2 R2 Taøinguyeân 131
  132. Chöông3: Quaûnlyùtieántrình GiaûnlöôïcRAG 1. Taøinguyeânraûnh à caápchotieántrìnhyeâucaàu 2. Tieántrìnhñuûtaøinguyeân à xoaùmoïicaïnhvaøo, xoaùtieántrình 3. Laëplaïi1 vôùicaùctieántrìnhkhaùcñeánkhitoáigiaûn Khigiaûithuaätdöøng –RAG khoângcoøncaïnh: khoângcoùdeadlock –RAG coùchutrình(cycle): deadlock Nhaänxeùt Ng Duc Thuan –Phítoånlôùn 132
  133. Chöông3: Quaûnlyùtieántrình VÍ DUÏ 1 : GIAÛN ÖÔÙC RAG P2 P3 R3 P2 P3 R3 R1 R1 P4 P4 P1 R2 P1 R2 P2 P3 R3 Ng P2DucP3 ThuanR3 R1 R1 P4 P4 P1 R2 P1 R2 133
  134. Chöông4: HeäthoángquaûnlyùFile 4.1 TOÅNG QUAN VEÀ DÖÕ LIEÄU & FILE Yeâucaàulöutröõdöõlieäucuûangöôøiduøng: ü Löutröõlaâudaøi ü Truycaäpnhanh ü Löuñöôïcnhieàudöõlieäu ü Chiaseûvaøbaûoveätoát ü Deã söûduïng CaànsöïhoãtrôïcuûaphaàncöùngvaøOS ñeådöõlieäu löutröõraboänhôùngoaøi. Taäptin vaøthömuïc Ng Duc Thuan ü Taäptin: ñônvòlöutröõthoângtin do HÑH, caùcöùng duïng, ngöôøiduøngquaûnlyù. ü Thömuïc: caáutruùctoåchöùctaäptin treânñóa. 134
  135. Chöông4: HeäthoángquaûnlyùFile 4.2 MOÂ HÌNH QLYÙ VAØ TOÅ CHÖÙC TAÄP TIN Teântaäptin: ü TaïobôûiHÑH, tieántrìnhhoaëcuser ü Caùchñaëtteântaäptin cuûamoãiHÑH laøkhaùcnhau: Soákyù töïñaëtteân(chöõcaùi, chöõsoá, kyùtöïñaëcbieät), phaân bieät/khoângphaânbieätchöõhoa/thöôøøng. ü Nhieàuheätaïoteânfile nhieàucuïm, ngaêncaùchbôûidaáu chaám '.' Caáutruùctaäptin, goàm3 loaïi: ü Daõy tuaàntöïcaùcbyte khoânNggcaáutruùc. Duc Thuan ü Daõy caùcrecord coùchieàudaøicoáñònh. ü Caáutruùccaây(moãirecord coùtröôøngkhoùagiuùptìmkieám nhanh). 135
  136. Chöông4: HeäthoángquaûnlyùFile 4.2 MOÂ HÌNH QLYÙ VAØ TOÅ CHÖÙC TAÄP TIN Kieåutaäptin üTaäptin thöôøng:taäptin text/nhòphaânchöùathoângtin cuûangöôøiduøng. üThömuïc: (taäptin) löugiöõcaáutruùcheäthoángtaäptin. üTaäptin coùkyùtöïñaëcbieät: lieânquanñeánnhaäpxuaát (maønhình, maùyin, maïng) üTaäptin khoái: truyxuaátthieátbòkhoáidaïngñóa Caùcloaïitaäptin Taäptin vaênbaûn: taäpcaùckyùtöï Taäptin nhòphaân: goàmdaõyNgcaùcbyte Duc toåchöùc thThuaneoñònh daïngxaùcñònh(vd: header, text, data, relocation bits, symbol table) 136
  137. Chöông4: HeäthoángquaûnlyùFile 4.2 MOÂ HÌNH QLYÙ VAØ TOÅ CHÖÙC TAÄP TIN Truyxuaáttaäptin: v Truyxuaáttuaàntöï: thíchhôïpchocaùcthieátbòlöutröõ tuaàntöï(baêngtöø). v Truyxuaátngaãunhieân: thíchhôïpchocaùcthieátbò löutröõngaãunhieân(ñóatöø, CD-ROM ) Thuoäctínhtaäptin:Baûoveä, Maätkhaåu, Ngöôøøitaïo, Ngöôøisôûhöõu, Chæñoïc, AÅn, Heäthoáng, Löutröõ, ASCII/Binary, TruyxuaátnNggaãun hDucieân/Tuaàn töïThuan, Temp, Khoùa(lock), Ñoädaøirecord, Vòtríkhoùa, Ngaøygiôøtaïo, Thôøiñieåmtruycaäp, Thôøiñieåmthayñoåi, Kíchthöôùc hieäntaïi, Kíchthöôùctoáiña. 137
  138. Chöông4: HeäthoángquaûnlyùFile 4.2 MO HÌNH QLYÙ VAØ TOÅ CHÖÙC TAÄP TIN Thömuïc: heäthoánglöutröõtheocaápbaäc §Thömuïcchöùacaùcñeàmuïcteân + thuoäctính + ñòachætaäp tin. §Khicoùyeâucaàumôûfile, HÑH tìmtrongthömuïcteânfile caànmôû, xaùcñònhthuoäctínhvaøñòachæfile, ñoïcfile vaøo boänhôùchính. §Soálöôïngthömuïctreânmoãiheäthoánglaøkhaùcnhau. Ñeå tieänchovieäctruyxuaát, söûduïng, löutröõ, ñasoácaùcHÑH ñeàutoåchöùcthömuïctheocaáutruùcphaâncaáphìnhcaây. Ñöôøngdaãn:caùchxaùcñònhñòachætaäptin üThömuïchieänhaønh [.], thöNgmuïccha Duc [ ] Thuan üÑöôøngdaãntuyeätñoái: /usr/ast/mailbox üÑöôøngdaãntöôngñoái: [.]/dir1/dir2 138
  139. Chöông4: HeäthoángquaûnlyùFile 4.2 MOÂ HÌNH QLYÙ VAØ TOÅ CHÖÙC TAÄP TIN Caùcchöùcnaêngcuûaheäthoángtaäptin § Taäptin:Taïo, Xoùa, Môû, Ñoïc, Ghi, Theâm, Ñoùng, Tìm, Laáythuoäctính, Thieátlaäpthuoäctính, Ñoåiteân. § Thömuïc:Taïo, Xoùa, Môûthömuïc(vd: môûtröôùckhi lieätkeâ), Ñoùngthömuïc, Ñoåiteân, Lieânkeát(file coùtheå xuaáthieäntrongnhieàuthömuïckhaùcnhau), Boûlieân keát. Ng Duc Thuan 139
  140. Chöông4: HeäthoángquaûnlyùFile CAÙC PHÖÔNG PHAÙP ÑÒNH VÒ BAÛNG PHAÂN PHOÁI ÑÓA Ñònhvòlieântieáp: ØDeã caøiñaët, deãthaotaùc ØKhoâng linhñoäng, ñóabòphaânmaûnh Ñònhvòbaèngdanhsaùchlieânkeát ØEntry chæchöùañòachæñaàu. Moïikhoáiñeàuñöôïccaápphaùt, ít laõngphí. ØKhoáidöõlieäubòthuheïp. Truyxuaátngaãunhieânchaäm Danhsaùchlieânkeátsöûduïngindex ØTöôngtöïnhöcaùch2 nhöngthaNgycon tro Ducûbaèngbaûn gThuanindex ØTruyxuaátngaãunhieândeãdaønghôn ØBògiôùihaïnbôûikíchthöôùcboänhôù 140
  141. Chöông4: HeäthoángquaûnlyùFile QUAÛN LYÙ ÑÓA Coù2 phöôngphaùplöutröõ: üLöutuaàntöïtreânN byte lieântieáp: khoânghieäuquaûkhi file lôùn üLöudöõlieäutreânñóatheoñônvòkhoái Kíchthöôùckhoáithoângthöôønglaø 512byte, 1 hoaëc2 KB Löugiöõcaùckhoáitroáng. Coù2 phöôngphaùp üSöûduïngdanhsaùchlieânkeáNgtcuûakhoá Duciñóa Thuan üSöûduïngbitmap: ñóaN khoáiaùnhxaïthaønhN bit (1:troáng, 0: ñaõduøng). Ñóa20M caàn20Kbit ñeålöutröõ = 2.5 ~3 khoái 141
  142. Chöông4: HeäthoángquaûnlyùFile Ñoäan toaøncuûaheäthoángtaäptin Quaûnlyùkhoáibòhoûng: üGiaûiphaùpphaànmeàm: xaâydöïngtaäptin chöùacaùckhoáibòhoûng üGiaûiphaùpphaàncöùng: duøngsector treânñóalöugiöõdanhsaùch khoáihoûng Backup: üCheùpdöïphoøngbaûnsaothöùcaápdöõlieäu(ñóameàm, baêngtöø ) üChiañóacöùnglaøm2 phaàn: döõlieäuhoaïtñoängvaøbackup. Tínhkhoângñoåicuûaheäthoángtaäptin üNgöøngheäthoángñoätngoätcoùtheNgågaâymaá Ductdöõlieäu Thuan üHeäthoángphaûicoùcôcheákieåmtratínhtoaønveïndöõlieäutreân2 phaànkhoáivaøtaäptin 142
  143. Chöông4: HeäthoángquaûnlyùFile Truyxuaátheäthoángtaäptin theoMSDOS Nhaäpxuaáttheotheûfile Theûfile (Handle file): laøñoáitöôïngmaøMSDOS duøngñeåquaûnlyù caùcfile ñangñöôïcmôûtreânboänhôù. Khifile ñöôïcmôûDOS seõgaùn chofile moätsoáxaùcñònh. (AX, BX) üTaïo: 3C üMôû: 3D üÑoùng: 3E üHuûy: 41 üÑaëtcon troû: 42 üÑoïctöøtaäptin/thieátbò: 3F üGhileântaäptin/thieátbò: 40 Ng Duc Thuan üIOCTL: 44 üÑònh höôùnglaïi: 46 143
  144. Chöông4: HeäthoángquaûnlyùFile Truyxuaátheäthoángtaäptin theoMSDOS Caùcchöùcnaêngveàtaäptin vaøthömuïc ü Taïothömuïc: 39 ü Huûythömuïc: 3A ü Chuyeånthömuïc: 3B ü Ñoåiteântaäptin: 56 ü Thieátlaäpngaøygiôø: 57 ü Hoûikíchthöôùcfile: 42 ü Thayñoåithuoäctính: 43 Ng Duc Thuan ü Tìmtaäptin: 4E ü Tìmthömuïc: 11 144
  145. Chöông4: HeäthoángquaûnlyùFile Truyxuaátheäthoángtaäptin theoMSDOS Caùcchöùcnaêngthihaønh: ü Thihaønh: 4B ü TaïpPSP: 26 ü LaáyñòachæPSP: 62 ü Keátthuùcthöôøøngtruù: Int27 ü Keátthuùcchöôngtrình: Int20 ü KeátthuùcgöûimaõthoaùtveNgàtieánt rìnDuchcha: 4C Thuan ü Laáymaõthoaùtcuûatieántrìnhkeátthuùc: 4D ü Keátthuùcqua Ctr-Brk: Int23 145
  146. Chöông4: HeäthoángquaûnlyùFile Truyxuaátheäthoángtaäptin theoMSDOS Môûtaäptin môùi ü AH=3Ch ü CL= (0: ñoïc; 1 ghi; 2 ñoïc/ghi) ü DS:DX: laøñòachæxaâuteânfile (keátthuùc0). ü => AX chöùatheûfile Ñoùngtaäptin ü AH=3Eh ü BX= theûfile Ñoïcnoäidung taäptin ü AH=3FhCX= soábyte caànñoïc ü BX= theûfileDS:DX: vuøngñeämlöu Ghinoäidung taäptin Ng Duc Thuan ü AH=40hCX= soábyte caànghi ü BX= theûfileDS:DX: vuøngñeämchöùadlieäu 146
  147. Chöông4: HeäthoángquaûnlyùFile RAID (Redundant Array of Inexpensive Disks) Taäphôïpcaùcñóacöùngñöôïcheäñieàuhaønhxemnhömoät thieátbòlöutröõ Döõlieäuñöôïcphaânboátreântaátcaûcaùcñóa Caùcmuïctieâuchính vTaêng dung löôïnglöutröõ vTaêng hieäusuaátI/O vTaêng tínhsaünsaøngcao vTaêng khaûnaêngphuïchoàiheäthoáng CaùcloaïiRAID Ng Duc Thuan vRAID 0 à RAID 10 (phoåbieánRAID 0, 1, 3, 5) vSoftware RAID/ Hardware RAID 147
  148. Chöông4: HeäthoángquaûnlyùFile RAID-0 ü Döõlieäulöutröõtraûiñeàutreâncaùcñóa ü Taêngkhoâng gianlöutröõ Ng Duc Thuan ü Taêng hieäusuaátheäthoáng ü Tínhsaünsaøngcuûadöõlieäuthaáp 148
  149. Chöông4: HeäthoángquaûnlyùFile RAID-1 ü Nhaân baûndöõlieäutreâncaùcñóataùchbieät ü Tínhsaünsaøng & toácñoäñoïcdöNgõlieäuraá tDuccao Thuan ü Yeâu caàudung löôïngñóagaápñoâi ü Toácñoäghichaämhôn 149
  150. Chöông4: HeäthoángquaûnlyùFile RAID-3 ü Löudöõlieäutraûiñeàutreâncaùcñóa ü SöûduïngmoätñóalöuthoânNggtin kie Ducåmtradö õlThuanieäu ü Tínhsaünsaøngcao, chi phíhôïplyù ü HieäusuaátI/O thaáp 150
  151. Chöông4: HeäthoángquaûnlyùFile RAID-5 ü Döõlieäu, thoângtin kieåmtrañöôïclöutraûiñeàutreâncaùcñóa ü TínhsaünsaøngdöõlieäutrungNgbình, chi Ducphíhôïplyù Thuan ü Toácñoäghithaáp ü Yeâu caàuphaàncöùngñaëcbieät 151
  152. Chöông 5: Quaûnlyùboänhôù 5.1 Ñaëtvaánñeà HÑH ngaøynay chopheùpchaïycheáñoäñanhieäm=> Nhu caàuchiaseûboänhôùgiöõacaùctieántrìnhkhaùcnhau. Ø Heäñieàuhaønhcoùnhieämvuïcaápphaùpboänhôùchocaùctieán trìnhkhicoùyeâucaàu. Ø Ñeåthöïchieäntoátnhieämvuïnaøy, HÑH xemxeùtboänhôù döïatreânnhieàukhíacaïnh: oSöïtöôngtaùcgiöõañòachælogic vaøvaätlyù. oQuaûnlyùboänhôùvaätlyù. oChiaseûthoângtin giöõacaùNgctieáântrìn Duchqua boänhôù. Thuan oBaûomoïisöïtruyxuaátbaáthôïpphaùp. 152
  153. Chöông 5: Quaûnlyùboänhôù 5.1 Ñaëtvaánñeà Quaùtrìnhaùnhxaïñòachætöôïngtröngcuûa1 chöông trìnhnguoànvaøoboänhôùchínhvaøo3 thôøiñieåm: § Thôøiñieåmbieândòch § Thôøiñieåmnaïp § Thôøiñieåmxöûlyù Khoânggianñòachævaøkhoânggianvaätlyù ü Ñòa chælogic-ñòachæaûodo boäxöûlyùtaïora. ü Ñòa chævaätlyù-ñòachæthöïc. ü Khoâng gianñòachæ-Nglaøtaäp hôïDucpñòach æThuanaûophaùt sinhbôûi1 chöôngtrình. ü Khoâng gianvaätlyù–laøtaäphôïpñòachævaätlyù töôngöùngñaïichæaûo. 153
  154. Chöông 5: Quaûnlyùboänhôù PHAÂN CAÁP BOÄ NHÔÙ Töøtreânxuoáng CACHE ü Toácñoägiaûm PRIMARY STORAGE ü Dung löôïngtaêng ü Giaùthaønhgiaûm SECONDARY STORAGE Caùcvaánñeàquantaâm ü Boänhôùchínhchöùa1 hay nhieàutieántrình? üCaùcquytrìnhduøngvuøngnhôNgùnhö nhaDucu/ khaù cThuannhau? üBaûoveävuøngnhôùcuûaOS vaøcuûatöøngtieántrình? üVuøngnhôùcuûaquytrìnhlaølieântuïc/ giaùnñoaïn? 154
  155. Chöông 5: Quaûnlyùboänhôù CHIEÁN LÖÔÏC QUAÛN LYÙ BOÄ NHÔÙ Chieánlöôïcnaïp(fetch strategies) § Naïpphaànnaøocuûatieántrìnhvaøoboänhôùvaøkhi naøonaïp ? § Naïptheoyeâucaàu & naïptieânñoaùn Chieánlöôïcsaépñaët(placement strategies) Naïptieántrìnhmôùivaøoñaâu ? Chieánlöôïcthaytheá(replacNgeme ntDuc strategies Thuan) Ñöatieántrìnhnaøoraboänhôùphuï ? 155
  156. Chöông 5: Quaûnlyùboänhôù TOÅ CHÖÙC CAÁP PHAÙT BOÄ NHÔÙ Caápphaùtboänhôùlieântuïc ØÑôn laäptrình ØÑalaäptrìnhphaânñoaïncoáñònh ØÑalaäptrìnhphaânñoaïnthayñoåi ØÑalaäptrìnhcoùthaytheávuøngnhôù CaápphaùtboänhôùkhoânNgglieâ nDuctuïc Thuan 156
  157. Chöông 5: Quaûnlyùboänhôù 5.2 Caápphaùtlieântuïc Caùcheäñônchöôngtrình YÙtöôûng: Boänhôùchæchiaseûchoheäñieàuhaønhvaømoät chöôngtrìnhduynhaátngöôøisöûduïng. Moätphaànboä nhôùdo HÑH chieámgiöõphaàncoønlaïithuoäcveàtieán trìnhngöôøiduøng. Thaûoluaän: F Caànbaûoveävuøngnhôùkhoûisöïxaâmphaïmtieántrình ngöôøiduøng.(söûduïngthanhNgghigiô ùiDuchaïn) Thuan FTaïimoätthôøiñieåmchæcoùtheåñaùpöùngmoättieántrình. 157
  158. Chöông 5: Quaûnlyùboänhôù ü Moãi laàntieántrìnhngöôøiduøngtruyxuaátcaànkieåmtravôùi noäidung thanhghigiôùihaïn=>Toácñoätruyxuaátkhoângcao. üSöûduïngCPU khoânghieäuquaû. CPU OS Boundary register USER Ng Duc Thuan UNUSED 158
  159. Chöông 5: Quaûnlyùboänhôù 2.Heäthoángñachöôngtrìnhvôùiphaânvuøngcoáñònh. Yùtöôûng: Boänhôùñöôïcchiathaønhn phaânvuøngcoù kíchthöôùccoáñònh(caùcphaânvuøngcoùkíchthöôùc khaùcnhau). Tieántrìnhcoùyeâucaàuboänhôùñöôïclöu tröõtronghaøngñôïi. Haøngñôïiñöôïctoåchöùc: Söûduïngmoãiphaânvuøngmoäthaøngñôïi. Söûduïngmoäthaøngñôïiduynhaát. OS Process queue OS Process queue P2 P1 P0 1 Ng Duc Thuan1 P2 P1 P0 2 P7 P6 P5 2 3 3 159
  160. Chöông 5: Quaûnlyùboänhôù Thaûoluaän: ü Kíchthöôùctieántrìnhkhaùcnhau => phaânmaûnhnoäi. ü Möùcñoäñachöôngcuûaheäthoángbògiôùihaïnbôûi phaânvuøng. Limit Base register register BoBoää nhônhôùù CPU < Ng+ Duc Thuan Ñòa chæ loãiãi 160
  161. Chöông 5: Quaûnlyùboänhôù 3. Heäthoángñachöôngtrìnhvôùiphaânvuøngñoäng. YÙtöôûng:Tieántrìnhñöôïcñöavaøoheäthoáng, caáp phaùtmoätvuøngnhôùvöøañuùngkíchthöôùctieán trình. Phaàncoønlaïicaápchotieántrìnhkhaùc. OS User A 15KB P2 P1 P0 NgUser Duc B 25KB Thuan User C 40KB 161
  162. Chöông 5: Quaûnlyùboänhôù Thaûoluaän: ØKhoâng coùhieäntöôïngphaânmaûnhnoäivi, nhöngxuaát hieänphaânmaûnhngoaïivi. ØKhikíchthöôùctieántrìnhtaêngtröôûngtrongquaùtrình xöûlyùmaøkhoângcoønvuøngnhôùtroángkeànhauñuûroäng. Ø Ghilaïihieäntraïngboänhôùñeåcaápphaùtñeåcaápphaùt ñoängchoñuùng. Ø Coù2 phöôngphaùp: § Quaûnlyùbaèngmoätbaûngcaùcbit. § Quaûnlyùbaèngdanhsaùch(Ng First fi t,Duc Best fit, WoThuanrst fit) 162
  163. HEÄ THOÁNG ÑA CHÖÔNG PHAÂN ÑOAÏN THAY ÑOÅI Chieánlöôïcsaépñaët OS Free space 10KB 12KB ? Free space 20KB First fit Free space 35KB Worst fit NgFree space Duc 15KB BestThuan fit Vaánñeàphaânmaûnhvuøngnhôù(fragmentation) 163
  164. Chöông 5: Quaûnlyùboänhôù A B C D 111001111100111 A(4) (2) B(3) C(2) (3) D(4) P 0 4 H 4 2 NgP 6Duc3 PThuan9 2 H 1 3 P 14 4 1 164
  165. Chöông 5: Quaûnlyùboänhôù 4. Caùcheäthoángñachöôngvôùikyõùthuaät“SWAPPING” YÙtöôûng: Moättieántrìnhchôøtöôngñoáidaøitaïmthôøi chuyeånraboänhôùphuï(swapout). Khikeátthuùcvieäc chôøtieántrìnhtrôûlaïiboänhôùchínhñeåxöûlyù(swap in.) OS Programs on Secondary storage swap in SWAPPING swap out Ng DucAREA Thuan 165
  166. Chöông 5: Quaûnlyùboänhôù 5.3 Caápphaùtkhoânglieântuïc 1.Phaântrang(paging) YÙtöôûng: 1.Phaânboänhôùthaønhcaùckhoáicoùkíchthöôùccoáñònhbaèng nhau. ü Moättieántrìnhkíchthöôùcntrangseõyeâucaàun khungtrang töïdo. ü Cô cheáMMU(ManagerMemory Unit) trongkyõthuaätphaân trang. ü Hoãtrôï phaàncöùngthöïchieänchuyeånñoåiñòachætrongcô cheáphaântranglaøbaûngtrang(pagestable). Moãiphaàntöû trongbaûngchobieátcaùcñaïichæbaétñaàucuûavòtrílöutröõ trangtöôngöùngtrongboänhôNgùvaätlyù. Duc Thuan 166
  167. Chöông 5: Quaûnlyùboänhôù 5.3 Caápphaùtkhoânglieântuïc Chuyeånñoåiñòachæ: MoãiñòachæphaùtbôûiCPU baogoàm2 thaønhphaàn: + Soáhieäutrang(p) + Ñòachætöôngñoáitrongtrang(d) Kíchthöôùcmoãitrangdo phaàncöùngquyñònhthöôøng luõythöøacuûa2 naèmtrongmieàntrò(512 ->8192). ØNeáukíchthöôùccuûakhoânggianñòachælaø2mvaø kíchthöôùctrang2n, thìm-Ngnbits caDucocuûañò aThuanchæaûo seõbieåudieãnsoátrang, vaøn bits thaápchobieátñòachæ töôngñoáitrongtrang. 167
  168. AÙNH XAÏ ÑÒA CHÆ TRÖÏC TIEÁP TRONG HEÄ THOÁNG PHAÂN TRANG Ng Duc Thuan 168
  169. AÙNH XAÏ TRANG DUØNG BOÄ NHÔÙ KEÁT HÔÏP Ng Duc Thuan 169
  170. Thaûoluaän ØKyõ thuaätphaântrangloaïiboûhieäntöôïngphaânmaûnh ngoaïivi. ØVaãn coønxuaáthieäntöôïngphaânmaûnhnoäivi khikích thöôùctieántrìnhkhoânglaøboäisoákíchthöôùccuûatrang. ØMoättieántrìnhngöôøiduøngcoiboänhôùphaântrangnhö khoânggianlieântuïc, ñoàngnhaátvaøchæchöùaduynhaát moättieántrình. ØPhaàncöùngnhieämvuïñoåiñòachælogic thaønhñòachæ vaätlyù. ØÑeålöutröõthoângtin chi Ngtieátqua Ducùtrìnhcaá pThuanphaùtboä nhôù, HÑH söûduïngmoätbaûngkhungtrang. 170
  171. Chöông 5: Quaûnlyùboänhôù KHAÙI NIEÄM BOÄ NHÔÙ AÛO Laøhìnhaûnhcuûaboänhôùthöïc vÑòa chæaûoV: thamkhaûobôûiprocess vÑòa chæthöïcR : coùtrongboänhôùthöïc |V| >> |R| Ñòachæaûoñöôïcaùnhxaïthaønhñòachæthöïcmoãikhiquaù trìnhthöïcthi à dynamic address translation Söïcaànthieátcuûaboänhôùaûo Ø Deã phaùttrieånöùngduïng Ø LöutröõñöôïcnhieàuquaùtrìnNghtron gDucboänhôù Thuan Ø Taùiñònhvò(relocation) caùcquaùtrình Ø Chocaùcquaùtrìnhchiaseûvuøngnhôùdeãdaøng 171
  172. AÙNH XAÏ ÑÒA CHÆ TRONG HEÄ THOÁNG PHAÂN ÑOAÏN Ng Duc Thuan 172
  173. Chöông 5: Quaûnlyùboänhôù PHOÁI HÔÏP PHAÂN TRANG & PHAÂN ÑOAÏN ÑòachæaûoV=(s, p, d) v s: chæsoáñoaïn(segment #) v p : chæsoátrangtrongñoaïn(page #) v d : ñoädôøicuûaoânhôùtrongtrang(displacement) ÑòachæthöïcR=(p’, d’) v p’ : chæsoátrangthöïc(frame #) v d’ : ñoädôøicuûaoânhôùtrongtrangthöïc AÙnhxaïñòachæ (s, p) à Associate memory àNgp’ Duc Thuan Hoaëcsàs’(s’, p) à p’ (s’ : ñòachæñaàubaûngaùnhxaïtrangvôùimoãiñoaïn) 173
  174. AÙNH XAÏ ÑÒA CHÆ TRONG HEÄ THOÁNG PHAÂN ÑOAÏN KEÁT HÔÏP PHAÂN TRANG b Virtual address + s p d b+p Associative map s p’ Real address Segment table Ng Duc Thuan p’ p’ d Page table 174
  175. CAÁU TRUÙC AÙNH XAÏ BOÄ NHÔÙ (trongheäthoángphaânñoaïnkeát hôïpphaântrang) Real memory Process table Segment Ng Duc Thuan tables Page table 175
  176. Chöông 5: Quaûnlyùboänhôù CAÙC CHIEÁN LÖÔÏC QUAÛN LYÙ BOÄ NHÔÙ AÛO Caùcchieánlöôïcquaûnlyù ØChieánlöôïcnaïp(Fetch strategies) ØChieánlöôïcsaépñaët(Placement strategies) ØChieánlöôïcthaytheá(Replacementstrategies) Chieánlöôïcnaïp ØNaïptrangtheoyeâucaàu(Demand paging) ØNaïptrangtieânñoaùn(Anticipatory paging) ØPage fault vaøcaùcböôùcNgxöûlyùpage Duc fault Thuan Chieánlöôïcsaépñaët Chieánlöôïcthaytheá 176
  177. CAÙC GIAÛI THUAÄT THAY THEÁ TRANG Yeâucaàu: Toáithieåusoápage fault Nguyeântaéctoáiöu: Choïntrangthaytheálaø: Ø Trangkhoângcoønduøngnöõa Ø Trangseõkhoângduønglaïitrongthôøigianxanhaát Caùctieâuchuaån(thöïcteá) ñeåchoïntrangthaytheá Ø Caùctrangkhoângbòthayñoåi Ø Caùctrangkhoângbòkhoùa Ø Caùctrangkhoângthuoäcquaùtrìnhnhieàupage fault Ø Caùctrangkhoângthuoäctaäplaømvieäccuûaquaùtrình MoätsoágiaûithuaätthaytheNgátrang Duc Thuan Ø Thaytheátrangngaãunhieân Ø FIFO, LRU, giaûithuaätxaápxæLRU, LFU, NUR 177
  178. GIAÛI THUAÄT TOÁI ÖU (OPT) Choïntrangthaytheálaøtrangseõkhoângñöôïctham khaûotrongthôøigianlaâunhaát. Víduï: 1 2 3 4 1 2 5 1 2 3 4 5 Thôøi 11 ñieåmt 0123456789 01 1 1 1 1 1 1 1 1 1 1 1 Boänhôù 1 7 page thöïccoù 2 2 2 2 2 2 2 2 3 4 4 fault 3 frame 3 4 4 4 Ng5 5 Duc5 5 5 5Thuan 178
  179. GIAÛI THUAÄT FIFO Choïntrangthaytheálaøtrangôûtrongboänhôùthöïc trongkhoaûngthôøigianlaâunhaát. NghòchlyùBelady 1 2 3 4 1 2 5 1 2 3 4 5 1 1 4 4 5 5 5 5 5 Boänhôù 1 4 5 9 page thöïccoù 2 2 2 1 1 1 1 1 3 3 3 fault 3 frame 3 3 3 2 2 2 2 2 4 4 1 1 1 1 1 5 5 5 4 Boänhôù 1 5 4 10ápage thöïccoù 2 2 2 2 2 2 1 1 1 1 5 fault 4 frame 3 3 3 3 Ng3 3 2Duc2 2 2Thuan 4 4 4 4 4 4 3 3 3 179
  180. GIAÛI THUAÄT LRU (Least Recently Used) Choïntrangthaytheálaøtrangñaõkhoâng ñöôïcthamkhaûotrongthôøigianlaâunhaát. Thôøi 11 ñieåmt 0123456789 01 Chuoãi thamkhaûo 1 2 3 4 1 2 5 1 2 3 4 5 Boänhôù 1 1 1 4 4 4 5 5 5 3 3 5 thöïccoù 2 2 2 1 1 1 1 1 1 4 4 3 frame 3 3 3 2Ng2 2 Duc2 2 2 Thuan2 180
  181. GIAÛI THUAÄT NUR (Not Used Recently) LaøgiaûithuaätxaápxæLRU Duøngtheâm2 bit chomoãitrang Ø Referenced bit R Ø Modified bit M (coøngoïilaødirty bit) Trangseõthuoäc1 trong4 nhoùm, thaytheátrangseõtheoñoä öutieâncuûanhoùmtrang R M YÙnghóañoáivôùitrangnhôù 0 0 Chöathamchieáu, chöasöûañoåi Thöùtöïöutieân 0 1 Chöathamchieáu, ñaõsöûañoåi ? thaytheátrang giaûmdaàn 1 0 Ñaõthamchieáu, chöNgasöûa ñoDucåi Thuan 1 1 Ñaõthamchieáu, ñaõsöûañoåi 181
  182. Chöông 6: Quaûnlyùxuaát/nhaäp •Cáckháiniệmcơbản –HĐH phảiquảnlýtấtcảcácthiếtbịnhậpxuất, rachỉ thị chocácthiếtbị, kiểmsoátcácngắtvàlỗi –HĐH phảicungcấpgiaotiếp đơngiản, tiệndụnggiữa cácthiếtbịvàhệthống. Giaotiếpphải độclậpvới thiếtbị –LậptrìnhviênnhìncácthiếtbịIO dướigóc độ phần mềm –Thiếtbịlogic: chìakhóacNgủavấn Ducđềđộclập thiThuanếtbị –Thiếtbịlogic đượctổchứcthành4 lớp: kiểmsóatlỗi, điềukhiểnthiếtbị, phầnmềm HĐH độclậpthiếtbị, phầnmềmmứcngườisửdụng 182
  183. Chöông 6: Quaûnlyùxuaát/nhaäp •Hệthốngquảnlýnhậpxuất –Tổchứctheotừnglớp. Mỗilớpcóchứcnăngnhất định –Cáclớpgiaotiếpvớinhautheosơđồ: •Xửlýcủauser: tạolờigọinhậpxuất, địnhdạngnhập xuất •Phầnmềm ĐLTB: đặttên, bảovệ, tổ chứckhối, bộ đệm địnhvị •Điềukhiểnthiếtbị: thiếtlậpthanhghiTB, kiểmtra trạngthái •Kiểmsoátngắt: báochNgodriver khDucinhậpxu ấThuanthòantất •Phầncứng: thựchiệnthaotácnhậpxuất 183
  184. Chöông 6: Quaûnlyùxuaát/nhaäp •Môhìnhtổchứcvàquảnlýnhậpxuất –Môhình •Thiếtbịnhậpxuất •Thiếtbịlogic –Cácchứcnăng •Thiếtbịnhậpxuất •Thiếtbịlogic Ng Duc Thuan 184
  185. Chöông 6: Quaûnlyùxuaát/nhaäp •Môhìnhthiếtbịnhậpxuất. CácloạithiếtbịIO: –Thiếtbịkhối: •Thôngtin lưutrữ trongcáckhốicó địachỉ xác định. •Kíchthướckhốicốđịnh. Thôngthườngtừ128-1024 byte •Dữliệutruyxuấttheotừngkhốiriêngbiệt. VD: đĩa –Thiếtbịtuầntự: •Dữliệulưutrênchuỗicácbits tuầntự, khôngcó địa chỉ xác định. Ng Duc Thuan •Khôngseek được(VD: mànhình, bànphím, máyin, card mạng, chuột ) –Cácthiếtbịkhác, VD: bộ nhớ mànhình, đồnghồ 185
  186. Chöông 6: Quaûnlyùxuaát/nhaäp • Điềukhiểnthiếtbị –ThiếtbịIO có2 phần: phầncơlàbảnthânthiếtbịvà phần điệntửlàmạch(card) điềukhiểnthiếtbị –Mỗibộphận điềukhiểncóthể gắnkết/quảnlýnhiềuloại thiếtbịkhácnhau –Nhàsảnxuấtthiếtbị(vàbộđiềukhiển) phảituântheo chuẩngiaotiếp. VD: ANSI, IEEE, ISO –Giaotiếpgiữathiếtbịvàbộđiềukhiểnlàgiaotiếpmức thấp •DMA (Direct Memory Access) –DMA: kênhtruyềndữliệuNgtrựctiế ptDucừbộnhớ đếThuannthiếtbị IO – Đasốcácloạithiếtbị(đặcbiệtdạngkhối) đềuhỗtrợ 186 DMA
  187. Chöông 6: Quaûnlyùxuaát/nhaäp •Thiếtbịlogic. Kiểmsoátngắt –Ngắtlàtìnhhuốngphứctạp, cần đượcchekhuấttrong HĐH –Ngắtchỉđượctạosaukhicáctiếntrìnhnhậpxuấthoàn tất –KhóatiếntrìnhbằnglệnhWAIT hoặcRECEIVE thông điệp •Device Drivers –Tấtcảcác đoạnmã độclậpđềuchuyển đếndevice driver Ng Duc Thuan –Mỗidevice driver kiểmsoáttừngloại/tậphợpthiếtbị –Device driver phátchỉ thị vàkiểmtrathựchiệnchínhxác 187
  188. Chöông 6: Quaûnlyùxuaát/nhaäp •Phầnmềmnhậpxuất độclậpthiếtbị –Độclậpvềmặtthiếtbị –Độclậpvềmặthệthống •Phầnmềmnhậpxuất ở mứcngườisửdụng –Mộtphầncácphầnmềmnhậpxuấtchứacácthư viện liênkếtvớichươngtrìnhcủangườisửdụng –Lờigọihệthốngnhậpxuất đượccáchàmthư việnthực hiện Ng Duc Thuan 188
  189. Chöông 6: Quaûnlyùxuaát/nhaäp •Cácchứcnăngthiếtbịnhậpxuất. Điềukhiểnthiếtbị: –Chứcnăngcủabộđiềukhiểnlàgiaotiếpvới HĐH (qua bus) –Bộđiềukhiểnchuyển đổidãycácbit tuầntựtrongmột khốicácbyte trongbuffer củabộđiềukhiển, hiệuchỉnh vàchuyểndữliệuvàobộnhớ chính –Mỗibộđiềukhiểncócácthanhghi để liênlạcvớiCPU. Cácthanhghinày đượcánhxạthànhmộtphầncủabộ nhớ chínhtạiđịachỉ xác địnhcủatừngloạithíêtbị –HĐH thựchiệnnhậpxuấtbằngcáchghilệnhlênthanh ghibộđiềukhiển. CPU rờNgibộđiề uDuckhiển để th ựThuanchiện côngviệckhác. Khithựchiệnxong, bộđiềukhiểntạo ngắtgọiCPU đếnlấykếtquả trongthanhghi 189
  190. Chöông 6: Quaûnlyùxuaát/nhaäp •Cácchứcnăngthiếtbịnhậpxuất. DMA –DMA: truynhậpbộnhớ trựctiếp, giúpCPU không lãngphíthờigian –CPU gửichobộđiềukhiểncácthôngsốnhưđịachỉ trên đĩa(nguồn), địachỉ trongbộnhớ (đích), số lượng byte dữ liệu –Saukhi đọctòanbộdữliệutừthiếtbịvàobuffer, kiểmtrachecksum hòantất, bộđiềukhiểnchuyển byte đầutiênvàobộnhớ chínhtạidịachỉ DMA. Thao tác đượcthựchiện đếnNgkhichuy ểDucnxongdữ liThuanệu 190
  191. Chöông 6: Quaûnlyùxuaát/nhaäp •Thiếtbịlogic. Kiểmsoátngắt –Khi1 ngắtxảyra, hàmxửlýngắtkhởitạotiếntrìnhxửlý ngắt –Chứcnăngcủangắtlàlàmchotiếntrình đangbịkhóa đượcthihànhtrở lại •Device Drivers –Chứcnăngcủadevice driver lànhậnyêucầutừphần mềmnhậpxuất độclậpthiếtbịởlớptrênvàgiámsátviệc thựchiệncácyêucầunày –Saukhi HĐH hòantấtviệcNgkiểmtr alDucỗi, driver sẽThuanchuyển dữ liệuchophầnmềmđộclậpthiếtbị, trả thôngtin về trạngtháichonơigọi, kiểmtrahàng đợi để thựchiệntiếp hay khóalạichờ yêucầutiếptheo 191
  192. Chöông 6: Quaûnlyùxuaát/nhaäp •Phầnmềmnhậpxuất độclậpthiếtbị –Chứcnăngcơbản: cungcấpgiaotiếp đồngnhấtcho phầnmềmphạmvi ngườisửdụng –Chứcnăng1: tạoánhxạgiữathíêtbịvàtêngọihìnhthức –Chứcnăng2: bảovệthiếtbị(vd: quyềntruynhậpcủa user) –Chứcnăng3: cungcấpkhốidữliệu độclậpthiếtbị –Chứcnăng4: cungcấpbuffer đồngbộhóahoạt động –Chứcnăng5: địnhvịlưutrữ trênthiếtbịkhối –Chứcnăng6: cấpphát, giảiphóngcácthiếtbịchuyên dụng Ng Duc Thuan –Chứcnăng7: thôngbáolỗicholớptrêntừcáclỗido device driver báovề 192
  193. Chöông 6: Quaûnlyùxuaát/nhaäp •Phầnmềmnhậpxuấtphạmvi ngườisửdụng –Thư việnnhậpxuấtchuẩnchứamộtsốhàmcóchức năngnhậpxuất, chạynhư chươngtrìnhngườidùng –Cáchàmthư việnchuyểncácthamsốthíchhợpcho lờigọihệthống –Chứcnăngcủaspooling làtránhtrườnghợpmộttiến trìnhtruyxuấtvàchiếmgiữ thiếtbịkhiếncáctiến trìnhkháckhôngtruyxuất đượcthiếtbịđó –Ứngdụngcủaspooling: printing, sending/receiving email Ng Duc Thuan 193
  194. Chöông 6: Quaûnlyùxuaát/nhaäp •Cài đặthệthốngquảnlýnhậpxuất –Cài đặthệthốngnhậpxuất đĩa –Cài đặthệthốngnhậpxuấtchuẩn –Cài đặt đồnghồ Ng Duc Thuan 194
  195. Chöông 6: Quaûnlyùxuaát/nhaäp •Cài đặthệthốngnhậpxuất đĩa – Ưu điểmcủađĩa: dung lượng, chi phí, bảotòanthông tin –Cấutrúcvậtlý: cylinder, track, head, sector –Tốcđộđĩaphụ thuộcvàocácthaotác: •Seek: dichuyển đầu đọc đếntrack/cylinder (seek time *) •Chờ chokhốicầnthiết đếndưới đầu đọc(latency time *) Ng Duc Thuan • Đọcdữliệutừđĩavàobộnhớ (transfer time) –HĐH cầncócácthuậttoánlậplịchtruyxuất đĩa 195
  196. Chöông 6: Quaûnlyùxuaát/nhaäp •Cácthuậttoán đọc đĩa –LậplịchFCFS –LậplịchSSTF –LậplịchSCAN –LậplịchC-SCAN –LậplịchLOOK Ng Duc Thuan 196
  197. Chöông 6: Quaûnlyùxuaát/nhaäp •LậplịchFCFS (First Come, First Served) –Phươngpháp đơngiản, dễ lậptrình –Khôngcungcấpdịchvụtốt Vídụđầu đọc đang ở khối53, cần đọccáckhốitheo thứ tự 98, 183, 37, 122, 14, 124, 65, 67 Đầu đọcphảilầnlượt điqua cáckhối 53, 98, 183, 37,Ng 122, 14, Duc124, 65, 67 Thuan 197
  198. Chöông 6: Quaûnlyùxuaát/nhaäp •LậplịchSSTF (Shortest-Seek-Time-First) –Dichuyển đầu đọc đếncáckhốicầnthiếttheovịtrí lầnlượtgầnvớivịtríhiệnhànhcủađầu đọcnhất Vídụđầu đọc đang ở khối53, cần đọccáckhốitheo thứ tự 98, 183, 37, 122, 14, 124, 65, 67 Đầu đọclầnlượt điqua cáckhối 53, 65, 67, 37, 14, 98, 122, 124, 183 –ThíchhợpchohệthốngcNgầntru yDucxuấtdữliệ uThuanliêntục 198
  199. Chöông 6: Quaûnlyùxuaát/nhaäp •LậplịchSCAN – Đầu đọcdichuyểnvề1 phíacủađĩavàtừđódi chuyểnqua phíakia. Vídụđầu đọc đang ở khối53, cần đọccáckhốitheo thứ tự 98, 183, 37, 122, 14, 124, 65, 67 Đầu đọclầnlượt điqua cáckhối 53, 37, 14, 0, 65, 67, 98, 122, 124 và183 –ThíchhợpchohệthốngNgtruyxu ấtdDucữliệukh ốThuanilượng lớn 199
  200. Chöông 6: Quaûnlyùxuaát/nhaäp •LậplịchC-SCAN –TươngtựthuậttóanSCAN, chỉ kháckhidichuyển đến một đầunào đócủađĩa, nósẽlậptứctrở vềđầubắt đầucủađĩa Vídụđầu đọc đang ở khối53, cần đọccáckhốitheothứ tự 98, 183, 37, 122, 14, 124, 65, 67 Đầu đọclầnlượt điqua cáckhối 53, 65, 67, 98, 122,Ng 124, 183, Duc 0, 14, 37 Thuan –Thíchhợpchohệthốngtruyxuấtdữliệukhốilượnglớn 200
  201. Chöông 6: Quaûnlyùxuaát/nhaäp •LậplịchLOOK –GiốngC-SCAN nhưngchỉ chuyển đếnkhốixanhất ở mỗihướngchứ không đếncuối. Vídụđầu đọc đang ở khối53, cần đọccáckhốitheothứ tự 98, 183, 37, 122, 14, 124, 65, 67 Đầu đọclầnlượt điqua cáckhối 53, 65, 67, 98, 122, 124, 183, 14, 37 –ThíchhợpchohệthốngtruNgyxuấtd Ducữliệukhốil ượThuannglớn 201
  202. Chöông 6: Quaûnlyùxuaát/nhaäp •Quảnlýlỗi –Lỗilậptrình: tìmkhôngthấycylinder, sector, head, địachỉ buffer. Xử lýbằngkiểmtrathamsố, thôngbáo lỗi. –Lỗichecksum tạmthời: gâyrabởibụitrên đầu đọc –Lỗichecksum thườngtrực: đĩahưvậtlýtrêncáckhối –Lỗitìmkiếm: seek đầu đọcsai địachỉ –Lỗiđiềukhiển: bộđiềukhiNgểntừ chDucốithihàn hlThuanệnh 202
  203. Chöông 6: Quaûnlyùxuaát/nhaäp •RAM disk –RAM disk dùngmộtphầnbộnhớ chính để lưutrữ các khốidữliệu –RAM disk đượcchialàmnhiềukhốitùytheodung lượng yêucầucấpphát. Mỗikhốicócùngkíchthướcvớikhối trên đĩa –Khinhận đượcchỉ thịđọc/ghicáckhối, driver tìmtrong bộ nhớ RAM disk vị trícủakhối, thựchiện đọc/ghingay trongvùngnhớ –RAM disk truyxuấtnhanhhNgơnđĩ avDucậtlý Thuan –HĐH phảilưudữliệuvào đĩacứngtrướckhingườidùng shutdown 203
  204. Chöông 6: Quaûnlyùxuaát/nhaäp •Interleave –Khoảngcáchgiữacácsector dùng đểđồngbộchứcnăng đọc/ghidữliệutrên đĩa. –Interleave đượcxác địnhtrongquátrìnhformat đĩa VD: đĩacó17 sector/track, interleave=4, sơđồ sector như sau: 1, 14, 10, 6, 2, 15, 11, 7, 3, 16, 12, 8, 4, 17, 13, 9, 5 Lần1: 1, 14, 10, 6, 2, 15, 11, 7, 3, 16, 12, 8, 4, 17, 13, 9, 5 Lần2: 1, 14, 10, 6, 2, 15, 11, 7, 3, 16, 12, 8, 4, 17, 13, 9, 5 Lần3: 1, 14, 10, 6, 2, 15, 11, 7, 3, 16, 12, 8, 4, 17, 13, 9, 5 Lần4: 1, 14, 10, 6, 2, 15, 11, 7,Ng 3, 16, 12 , Duc8, 4, 17, 13, 9,Thuan 5 204
  205. Chöông 6: Quaûnlyùxuaát/nhaäp •Cài đặthệthốngnhậpxuấtchuẩn(terminal) –Terminal làhệthốngnhậpxuất(chỉ cóbànphím, mànhìnhvàbộđiềuhợpdữliệuvàora) –Terminal chuyểndữliệuMộtmáytínhcóthể liênlạc vớinhiều terminal –HĐH chiaterminal thành2 loại: RS-232 vàánhxạbộ nhớ –RS-232: hard-copy, glasstty, Intelligent, blit –Ánhxạbộnhớ: kýtự, bitNg Duc Thuan 205
  206. Chöông 6: Quaûnlyùxuaát/nhaäp •Cácterminal RS-232 –Thiếtbịgiaotiếptuầntựtheobit vớibànphím, mànhình –Connector 25 pins: mass, receiver, sender, 22 reserved pins –Data package: start bit-data to be tranfered-end bit(s) –Tốcđộ chuyển:1200, 2400, 4800, 9600 bps (bit per second) –SửdụngbộchuyểnUART gắntrêncard giaotiếp –Hard-copy/glassttys: nhậpkýtựtừbànphím, chuyểnchomáy tính, xuấtramáyin/mànhình –Terminal Intelligent: gửikýtựASCII ESC saunhữngkýtự khácnhau để dichuyểncon trỏ trênmànhình –Blit: bộ xử lýmạnhvớimànNghình độ phâDucngiải1024x800 Thuan 206
  207. Chöông 6: Quaûnlyùxuaát/nhaäp •Cácterminal ánhxạbộnhớ –Giaotiếpvớimáytínhbằngvideo RAM (khôngdùng cổngserial) –Chip điềukhiểntrênvideo card lấythôngtin từ video RAM, tạoratínhiệuvideo đểđiềukhiểnmànhình –Mànhìnhtạotia điệntửquéttừtrênxuốngdưới. –Bộđiềukhiểntínhiệusẽxác địnhmỗiđiểm(pixel) là sánghay tối(đốivớimànhìnhmono), màugì(mànhình màu) –Text mode (mono $B000, màu$B800): 2000 kýtự2 byte (thuộctính-chữ), box 9x14,Ng bố trí trêDucn25 dòng, Thuan80 cột. Graphic mode ($A000): độ phângiải320x200, 640x480, 800x600, 1027x768 pixels 207
  208. Chöông 6: Quaûnlyùxuaát/nhaäp •Phầnmềmnhậpchoterminal –Dữliệunhậptừbànphím, chuyểncho ứngdụng –Khicóphímnhấn, ngắtbànphímbáochobộđiều khiểnbiếtcókýtựnhập đanglưutrữ trongbuffer của bộ nhớ chính. BộđiềukhiểnsẽánhxạlạimãASCII củakýtựphímnhấn –Có2 dạngbuffer bànphím: pool buffer, structred buffer –Mộtsốterminal cầnphầnmềmechoing điềukhiển hiểnthị kýtựgõ: mậtkhNgẩu, tab, backspaDucce, lineThuan feed, carriage return 208
  209. Chöông 6: Quaûnlyùxuaát/nhaäp •Phầnmềmxuấtchoterminal –Mỗiloạiterminal sử dụngphầnmềmxuấtkhácnhau –Terminal RS-232 sử dụngpool buffer chứadữliệu xuất: cáckýtựđượcxuấttuầntựtheocáctínhiệungắt –Terminal ánhxạ: cáckýtựđượcxuất1 lầntừvideo RAM. Cáckýtựđặcbiệt(backspace, bell, cr, lf ) được cậpnhậtchophùhợp. –Cácchứcnăngcủaphầnmềmsoạnthảomànhình terminal: dichuyểncon trỏ, chènxóakýtự/dòng, cuộn mànhìnhlênxuống, tạoNghiệu ứ ngDuc(tươngph ảThuann, gạch dưới, nhấpnháy ), tạo/hủy/dichuyển/quảntrị cửa sổ 209
  210. Chöông 6: Quaûnlyùxuaát/nhaäp •Cài đặt đồnghồ(timer) –Timer làthiếtbịphầncứng đặcbiệt, khôngthuộcthiết bị khối(vd đĩa) hay thiếtbịtuầntự(vdbànphím, màn hình). –Chứcnăngchínhcủatimer •Kiểmsoátthờigiantrongngày •Phânchiathờigianchiaxẻchocáctiếntrìnhsử dụngCPU –PhầnmềmđồnghồhoạNgt độngnh Ducư device driver Thuan 210
  211. Chöông 6: Quaûnlyùxuaát/nhaäp •Phầncứng đồnghồ: –Dạng1: sử dụng điệnthế 110/220v, tạongắttheomỗi chukỳhiệu điệnthế 50/60 MHz –Dạng2: bộ dao độngthạchanh, bộđếmvàbộthanhghi •Dướitácdụngcủadòngdiện, tinhthể thạchanhtạo radao động5-100 MHz, chuyểnchobộđếm •Bộđếmgiảmdầnsaumỗidao động, tạongắtkhi Counter=0. Bộ thanhghisẽnạplạigiátrị chobộđếm •Khingắt đồnghồkíchhoạt, HĐH sẽ thựchiệntrìnhxử lýngắtcủanó Ng Duc Thuan 211
  212. Chöông 6: Quaûnlyùxuaát/nhaäp Phầnmềmđồnghồ –Phầncứng đồnghồtạocaùcngaéttheotừngkhoảngthời gian đều đặn –Phầnmềm(driver) đồnghồcoùnhiệmvụ: Quảnlíthờigiantrongngaøy Khoângchopheùptiếntrìnhchaïylaâuhơnthờigian chopheùp ĐiềuphốikếhọachsửdụngCPU Cungcấpwatchdog timerNg choh Ducệthống Thuan 212
  213. Chöông 6: Quaûnlyùxuaát/nhaäp •Quảnlýthờigiantrongngày –Tăngbộđếmsaumỗinhịp đồnghồ. –Vấnđề lưuý : Kíchthướcbộđếm –Cácloạibộđếm: •Bộđếmnhịp32 bits: dao động60MHz bị trànsau 2 năm •Bộđếm64 bits: tốnkém •Bộđếmgiây32 bits: 232 lưu được136 năm •BộđếmnhịpliênhệvNgớithời giaDucnkhởi độ nThuangcủa hệthống 213
  214. Chöông 6: Quaûnlyùxuaát/nhaäp •Quảnlýthờigianchạycủatiếntrình –Khimộttiếntrìnhbắtđầu, bộ lậplịchsẽkhởitạogiá trị chobộđếm. –Giátrị nàygiảmdầnsaumỗingắt đồnghồ –Counter=0, thờigianchạycủatiếntrìnhkếtthúc. Bộ điềukhiển đồnghồsẽyêucầubộlậplịchthiếtlậpgiá trị chotiếntrìnhkhác • ĐiềuphốikếhọachsửdụngCPU –Sửdụngtimer cụcbộchNgotừng tiDucếntrình Thuan –Khởitạo, kíchhoạttimer khitiếntrìnhbắtđầu –Dừngtimer khitiếntrìnhkếtthúc 214
  215. Chöông 6: Quaûnlyùxuaát/nhaäp •Cungcấpwatchdog timer –Mộtsốthiếtbịnhậpxuấtcầnđothờigian đạt đến trạngtháisẵnsànghoạt động VD: Sau500 ms từ lúckhởi động, ổđĩamềmmớiđạt đượctốcđộ cầnthiếtchocáctácvụtruyxuất –Watchdog timer đếmthờigianchocácthiếtbịnhập xuất VD: Khôngtắtmotor ổđĩamềm, chờ cácthaotácnhập xuấttiếptheo. Quáthờigiankhôngcóyêucầutruy xuất, tắtmotor. Ng Duc Thuan 215