intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Hệ điều hành 1 - Chương 2: Cấu trúc hệ điều hành

Chia sẻ: Lê Trinh Vàng | Ngày: | Loại File: PPT | Số trang:20

73
lượt xem
5
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

- Quá trình (hay tiến trình – process) là gì? Là 1 chương trình đang hoạt động - Quá trình khác chương trình ở điểm gì? Chương trình bản thân nó là thụ động, còn quá trình thì hoạt động - Một quá trình cần các tài nguyên của hệ thống như CPU, bộ nhớ, file, thiết bị I/O,… để hoàn thành công việc. - Các nhiệm vụ của thành phần Tạo và hủy quá trình Tạm dừng/thực thi tiếp (suspend/resume) quá trình Cung cấp các cơ chế đồng bộ hoạt động các quá trình (synchronization) giao tiếp giữa các quá trình (interprocess communication) khống chế tắc nghẽn (deadlock)...

Chủ đề:
Lưu

Nội dung Text: Hệ điều hành 1 - Chương 2: Cấu trúc hệ điều hành

  1. Chöông II: Caáu Truùc Heä Ñieàu Haønh  Caùc thaønh phaàn cuûa heä ñieàu haønh  Caùc dòch vuï heä ñieàu haønh cung caáp  Lôøi goïi heä thoáng (System call)  Caùc chöông trình heä thoáng (system programs)  Caáu truùc heä thoáng  Maùy aûo (virtual machine) Khoa KTMT 1
  2.  2.1. Caùc thaønh phaàn cuûa heä ñieàu haønh •2.1.1. Quaûn lyù quaù trình (process management) - Quaù trình (hay tieán trình – process) laø gì? Laø 1 chöông trình ñang hoaït ñoäng - Quaù trình khaùc chöông trình ôû ñieåm gì? Chöông trình baûn thaân noù laø thuï ñoäng, coøn quaù trình thì hoaït ñoäng - Moät quaù trình caàn caùc taøi nguyeân cuûa heä thoáng nhö CPU, boä nhôù, file, thieát bò I/O,… ñeå hoaøn thaønh coâng vieäc. - Caùc nhieäm vuï cuûa thaønh phaàn  Taïo vaø huûy quaù trình  Taïm dừng/thöïc thi tieáp (suspend/resume) quaù trình  Cung caáp caùc cô cheá – ñoàng boä hoaït ñoäng caùc quaù trình (synchronization) – giao tieáp giöõa caùc quaù trình (interprocess communication) – khoáng cheá tắc nghẽn (deadlock) – vd: 2 ch trình caàn 1 taøi ng cuûa ch trình kia daãn tôùi taéc ngheõn, PM seõ cung caáp 1 thuaät giaûi ñeå xöû lí Khoa KTMT 2
  3.  2.1. Caùc thaønh phaàn cuûa heä ñieàu haønh •2.1.2. Quaûn lyù boä nhôù chính – Boä nhôù chính laø trung taâm cuûa caùc thao taùc, xöû lyù – Ñeå naâng caoù hieäu suaát söû duïng CPU, heä ñieàu haønh caàn quaûn lyù boä nhôù thích hôïp – Caùc nhieäm vuï cuûa thaønh phaàn  Theo doõi, quaûn lyù caùc vuøng nhôù troáng vaø ñaõ caáp phaùt  Quyeát ñònh seõ naïp chöông trình naøo khi coù vuøng nhôù troáng  Caáp phaùt vaø thu hoài caùc vuøng nhôù khi caàn thieát Khoa KTMT 3
  4.  2.1. Caùc thaønh phaàn cuûa heä ñieàu haønh •2.1.3. Quaûn lyù file (file management) – Heä thoáng file (file system)  File: laø 1 taäp hôïp coù cuøng soá thuoäc tính  Thö muïc : goàm nhieàu file – Caùc dòch vuï maø thaønh phaàn cung caáp  Taïo vaø xoaù file/thö muïc.  Caùc thao taùc xöû lyù file/thö muïc (mkdir, rename, copy, move, new,…)  “AÙnh xaï” file/thö muïc vaøo thieát bò löu tröõ thöù caáp töông öùng  Sao löu vaø phuïc hoài döõ lieäu Khoa KTMT 4
  5.  2.1. Caùc thaønh phaàn cuûa heä ñieàu haønh •2.1.4. Quaûn lyù heä thoáng I/O (I/O system management) – Che daáu söï khaùc bieät cuûa caùc thieát bò I/O tröôùc ngöôøi duøng – Coù chöùc naêng  Cô cheá: buffering, caching, spooling  Cung caáp giao dieän chung ñeán caùc trình ñieàu khieån thieát bò (device-driver interface)  Boä ñieàu khieån caùc thieát bò (device driver) phaàn cöùng. Khoa KTMT 5
  6.  2.1. Caùc thaønh phaàn cuûa heä ñieàu haønh •2.1.5. Quaûn lyù heä thoáng löu tröõ thöù caáp (secondary storage management) – Boä nhôù chính: kích thöôùc nhoû, laø moâi tröôøng chöùa tin khoâng beàn vöõng => caàn heä thoáng löu tröõ thöù caáp ñeå löu tröõ beàn vöõng caùc döõ lieäu, chöông trình – Phöông tieän löu tröõ thoâng duïng laø ñóa töø, ñóa quang – Nhieäm vuï cuûa heä ñieàu haønh trong quaûn lyù ñóa  Quaûn lyù khoâng gian troáng treân ñóa(free space management)  Caáp phaùt khoâng gian löu tröõ (storage allocation)  Ñònh thôøi hoïat ñoäng cho ñóa (disk scheduling)  Söû duïng thöôøng xuyeân => aûnh höôûng lôùn ñeán toác ñoä cuûa caû heä thoáng => caàn hieäu Khoa quaû KTMT 6
  7.  2.1. Caùc thaønh phaàn cuûa heä ñieàu haønh •2.1.6. Heä thoáng baûo veä  Trong heä thoáng cho pheùp nhieàu user hay nhieàu process dieãn ra ñoàng thôøi: – Kieåm soaùt quaù trình ngöôøi duøng ñaêng nhaäp/xuaát vaø söû duïng heä thoáng – Kieåm soaùt vieäc truy caäp caùc taøi nguyeân trong heä thoáng – Baûo ñaûm nhöõng user/process chæ ñöôïc pheùp söû duïng caùc taøi nguyeân daønh cho noù – Caùc nhieäm vuï cuûa heä thoáng baûo veä  Cung caáp cô cheá kieåm soaùt ñaêng nhaäp/xuaát (login, log out)  Phaân ñònh ñöôïc söï truy caäp taøi nguyeân hôïp phaùp vaø baát hôïp phaùp (authorized/unauthorized) Khoa KTMT 7  Phöông tieän thi haønh caùc chính saùch (enforcement
  8.  2.1. Caùc thaønh phaàn cuûa heä ñieàu haønh •2.1.7. Heä thoáng thoâng dòch leänh – Laø giao dieän chuû yeáu giöõa ngöôøi duøng vaø OS • Ví duï: shell: voû, mouse-based window-and-menu – Khi user login • command line interpreter (shell) chaïy, vaø chôø nhaän leänh töø ngöôøi duøng, thöïc thi leänh vaø traû keát quaû veà. – Caùc leänh ->boä ñieàu khieån leänh ->heä ñieàu haønh – Caùc leänh coù quan heä vôùi caùc vieäc:  Taïo, huûy, vaø quaûn lyù quaù trình, heä thoáng  Kieåm soaùt I/O  Quaûn lyù boä löu tröõ thöù caáp  Quaûn lyù boä nhôù chính  Truy caäp heä thoáng file vaø cô cheá baûo maät Khoa KTMT 8
  9.  2.2. Caùc dòch vuï heä ñieàu haønh cung caáp – Thöïc thi chöông trình – Thöïc hieän caùc thao taùcï I/O theo yeâu caàu cuûa chöông trình – Caùc thao taùc treân heä thoáng file • Ñoïc/ghi hay taïo/xoùa file – Trao ñoåi thoâng tin giöõa caùc quaù trình qua hai caùch:  Chia xeû boä nhôù (Shared memory)  Chuyeån thoâng ñieäp (Message passing) – Phaùt hieän loãi  Trong CPU, boä nhôù, treân thieát bò I/O (döõ lieäu hö, heát giaáy,…)  Do chöông trình: chia cho 0, truy caäp ñeán ñòa chæ boä nhôù khoâng cho pheùp. Khoa KTMT 9
  10.  2.2. Caùc dòch vuï heä ñieàu haønh cung caáp Ngoaøi ra coøn caùc dòch vuï giuùp taêng hieäu suaát cuûa heä thoáng: – Caáp phaùt taøi nguyeân (resource allocation) • Taøi nguyeân: CPU, boä nhôù chính, tape drives,… • OS coù caùc routine töông öùng – Keá toaùn (accounting) • Nhaèm löu veát user ñeå tính phí hoaëc ñôn giaûn ñeå thoáng keâ. – Baûo veä (protection) • Hai quaù trình khaùc nhau khoâng ñöôïc aûnh höôûng nhau • Kieåm soaùt ñöôïc caùc truy xuaát taøi nguyeân cuûa heä thoáng – An ninh (security) • Chæ caùc user ñöôïc pheùp söû duïng heä thoáng 10 Khoa KTMT môùi truy caäp ñöôïc taøi nguyeân cuûa heä thoáng
  11.  2.3. Lôøi goïi heä thoáng (System call) • Duøng ñeå giao tieáp giöõa quaù trình vaø heä ñieàu haønh – Cung caáp giao dieän giöõa quaù trình vaø heä ñieàu haønh • Vd: open, read, write file – Thoâng thöôøng ôû daïng thö vieän nhò phaân (binary libraries) hay gioáng nhö caùc leänh hôïp ngöõ. – Trong caùc ngoân ngöõ laäp trình caáp cao, moät soá thö vieän laäp trình ñöôïc xaây döïng döïa treân caùc thö vieän heä thoáng (ví duï Windows API, thö vieän GNU C/C++ nhö glibc, glibc++,…) – Ba phöông phaùp truyeàn tham soá khi söû duïng system call  Qua thanh ghi  Qua moät vuøng nhôù, ñòa chæ cuûa vuøng nhôù ñöôïc göûi ñeán heä ñieàu haønh qua thanh ghi  Qua stack Khoa KTMT 11
  12.  2.4. Caùc chöông trình heä thoáng  Chöông trình heä thoáng (system program, phaân bieät vôùi application program) goàm – Quaûn lyù heä thoáng file: nhö create, delete, rename, list – Thoâng tin traïng thaùi: nhö date, time, dung löôïng boä nhôù troáng – Soaïn thaûo file: nhö file editor – Hoã trôï ngoân ngöõ laäp trình: nhö compiler, assembler, interpreter – Naïp, thöïc thi, giuùp tìm loãi chöông trình: nhö loader, debugger – Giao tieáp: nhö email, talk, web browser – …  Ngöôøi duøng chuû yeáu Khoa laøm vieäc thoâng qua caùc KTMT 12 system program (khoâng laøm vieäc “tröïc tieáp” vôùi caùc
  13.  2.5. Caáu truùc heä thoáng   Caáu truùc ñôn giaûn (monolithic) – MS-DOS: khi thieát keá, do giôùi haïn veà dung löôïng boä nhôù neân khoâng phaân chia thaønh caùc module (modularization) vaø chöa phaân chia roõ chöùc naêng giöõa caùc phaàn cuûa heä thoáng. Caáu truùc phaân taàng cuûa MS-DOS Khoa KTMT 13
  14.  2.5. Caáu truùc heä thoáng   Caáu truùc ñôn giaûn (monolithic) UNIX: goàm hai phaàn coù theå taùch rôøi nhau  Nhaân (cung caáp file system, CPU scheduling, memory management, vaø moät soá chöùc naêng khaùc) vaø system program  Ñaây laø 1 daïng caáu truùc ñôn giaûn Khoa KTMT 14
  15.  2.5. Caáu truùc heä thoáng   Caáu truùc phaân taàng: HÑH ñöôïc chi thaønh nhieàu lôùp (layer).  Lôùp döôùi cuøng: hardware  Lôùp treân cuøng laø giao tieáp vôùi user  Lôùp treân chæ phuï thuoäc lôùp döôùi  Moät lôùp chæ coù theå goïi caùc haøm cuûa lôùp döôùi vaø caùc haøm cuûa noù ñöôïc goïi bôûi lôùp treân  Moãi lôùp töông ñöông moät ñoái töôïng tröøu töôïng: caáu truùc döõ lieäu + thao taùc  Phaân lôùp coù lôïi ích gì? Gôõ roái (debugger, kieåm tra heä thoáng, thay ñoåi chöùc naêng) Khoa KTMT 15
  16.  2.5. Caáu truùc heä thoáng   Caáu truùc phaân taàng:  Laàn ñaàu tieân ñöôïc aùp duïng cho HÑH THE (Technische Hogeschool Eindhoven) Lôùp user programm 5 Lôùp Taïo buffer cho thieát bò I/O 4 Lôùp Device driver thao taùc maøn 3 hình Lôùp Quaûn lyù boä nhôù 2 Lôùp Laäp lòch CPU 1 Lôùp Phaàn cöùng 0 Khoa KTMT 16
  17.  2.5. Caáu truùc heä thoáng   Vi nhaân: phaân chia module theo microkernel (CMU Mach OS, 1980)  Chuyeån moät soá chöùc naêng cuûa OS töø kernel space sang user space  Thu goïn kernel => microkernel, microkernel chæ bao goàm caùc chöùc naêng toái thieåu nhö quaûn lyù quaù trình, boä nhôù vaø cô cheá giao tieáp giöõa caùc quaù trình  Giao tieáp giöõa caùc module moät qua cômodule cheá truyeàn thoâng Application Application POSIX ñieäp OS/2 OS/2 POSIX application application application File File application POSIX server OS/2 OS/2 POSIX server server server server server Microkernel Khoa KTMT 17
  18.  2.5. Caáu truùc heä thoáng   Vi nhaân: - Lôïi ích: deã môû roäng HÑH - Moät soá HÑH hieän ñaïi söû duïng vi nhaân: + Tru64 UNIX (Digital UNIX tröôùc ñaây): nhaân Mach + Apple MacOS Server : nhaân Mach + QNX – vi nhaân cung caáp: truyeàn thoâng ñieäp, ñònh thôøi CPU, giao tieáp maïng caáp thaáp vaø ngaét phaàn cöùng + Windows NT: chaïy caùc öùng duïng khaùc nhau win32, OS/2, POSIX (Portable OS for uniX) Khoa KTMT 18
  19.  2.6. Maùy aûo • Töø OS layer ñeán maùy aûo (virtual machine) processes processes processes processes programming kernel kernel kernel interface VM1 VM2 VM3 kernel Virtual-machine implementation hardware hardware Non-virtual machine Virtual machine system model system model Khoa KTMT 19
  20.  2.6. Maùy aûo  Hieän thöïc yù nieäm VM – Laøm theá naøo ñeå thöïc thi moät chöông trình MS-DOS treân moät heä thoáng Sun vôùi heä ñieàu Intel x86 Application haønh Solaris ? Intel x86 VM 1. Taïo moät maùy aûo Intel beân VM interpretation treân heä ñieàu haønh Solaris vaø heä thoáng Sun Solaris kernel Sun hardware 2. Caùc leänh Intel (x86) ñöôïc maùy aûo Intel chuyeån thaønh leänh töông öùng cuûa heä thoáng Sun. Khoa KTMT 20
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2