Operacˇnı Syste´My
Total Page:16
File Type:pdf, Size:1020Kb
Sˇ a´rka Vavrecˇkova´ Operacˇnı´syste´my prˇedna´sˇky Slezska´univerzita v Opaveˇ Filozoficko-prˇı´rodoveˇdecka´fakulta U´ stav informatiky Opava, poslednı´aktualizace 19. kveˇtna 2015 Anotace: Tento dokument je urcˇen pro studenty druhe´ho rocˇnı´ku IVT na U´ stavu in- formatiky Slezske´ univerzity v Opaveˇ. Obsahuje la´tku probı´ranou na prˇedna´sˇka´ch prˇedmeˇtu Operacˇnı´syste´my. Operacˇnı´syste´my prˇedna´sˇky RNDr. Sˇ a´rka Vavrecˇkova´, Ph.D. Dostupne´na: http://fpf.slu.cz/˜vav10ui/opsys.html U´ stav informatiky Filozoficko-prˇı´rodoveˇdecka´fakulta Slezska´univerzita v Opaveˇ Bezrucˇovo na´m. 13, 746 01 Opava Sa´zeno v syste´mu LATEX Tato inovace prˇedmeˇtu Operacˇnı´ syste´my je spolufinancova´na Evropsky´m socia´lnı´m fondem a Sta´tnı´m rozpocˇtem CˇR, projekt cˇ. CZ.1.07/2.3.00/0 9.0197, „Posı´lenı´konkurenceschopnosti vy´zkumu a vy´voje informacˇnı´ch technologiı´v Moravskoslezske´m kraji“. Prˇedmluva Co najdeme v teˇchto skriptech Tato skripta jsou urcˇena pro studenty informaticky´ch oboru˚na U´ stavu informatiky Slezske´uni- verzity v Opaveˇ. V prˇedmeˇtu Operacˇnı´syste´my se kromeˇteˇchto skript (pro prˇedna´sˇky) vyuzˇı´vajı´ na cvicˇenı´ch skripta pro cvicˇenı´z Windows a obdobna´skripta pro Linux; vsˇechny tyto studijnı´ materia´ly jsou navza´jem prova´za´ny, prˇedpokla´da´se jejich soubeˇzˇne´studium. Dalsˇı´m du˚lezˇity´m dokumentem je seznam mozˇny´ch ota´zek ke zkousˇce, dostupny´, stejneˇjako ostatnı´zde zmı´neˇne´soubory, na http://fpf.slu.cz/˜vav10ui/opsys.html. Ota´zky berte prˇedevsˇı´m jako orientacˇnı´– je velmi pravdeˇpodobne´, zˇe na zkousˇce budou ota´zky prˇesneˇv tomto zneˇnı´, ale mu˚zˇete se setkat s drobny´mi zmeˇnami. U´ cˇelem seznamu ota´zek je prˇedevsˇı´m usnadnit ucˇenı´se na zkousˇku. Skripta jsou pro jeden semestr pomeˇrneˇrozsa´hla´, proto je jejich obsah „odlehcˇen“: • Neˇktere´oblasti jsou „navı´c“ (jsou oznacˇeny ikonami fialove´barvy), ty nejsou probı´ra´ny a ani se neobjevı´na zkousˇce – jejich u´kolem je motivovat k dalsˇı´mu samostatne´mu studiu nebo poma´hat v budoucnu prˇi zı´ska´va´nı´dalsˇı´ch informacı´dle potrˇeby v zameˇstna´nı´. • V neˇktery´ch oblastech si studenti mohou vybrat a naucˇit se jen stanoveny´ pocˇet z vı´ce ru˚zny´ch alternativ (ikony s va´hami). Konkre´tnı´mozˇnost volby je popsa´na v seznamu ota´zek J ke zkousˇce. Znacˇenı´ Ve skriptech se pouzˇı´vajı´na´sledujı´cı´barevne´ikony: • Nove´ pojmy, na´zvy souboru˚, obecne´postupy, znacˇenı´v prˇı´kazech, pouzˇı´vane´symboly, apod. jsou znacˇeny modry´m symbolem v pozna´mce na okraj, ktery´vidı´me take´zde vpravo. P • Konkre´tnı´ postupy a na´stroje (prˇı´kazy, programy, soubory, skripty), zpu˚soby rˇesˇenı´ru˚zny´ch situacı´, do ktery´ch se mu˚zˇe administra´tor dostat, syntaxe prˇı´kazu˚atd. jsou znacˇeny take´ $ modrou ikonou. iii iv • Zelena´je take´ikona vyznacˇujı´cı´sekce, ktere´jsou opakova´nı´m ucˇiva ze cvicˇenı´, jine´cˇa´sti teˇchto skript nebo z prˇedchozı´ho semestru (prˇedmeˇtu Praktikum z operacˇnı´ch syste´mu˚). O • Ikonou s va´hami je oznacˇena la´tka, kde si studenti mohou prˇi ucˇenı´vybrat neˇkolik te´mat z vı´ce ru˚zny´ch alternativ. Veˇtsˇinou se takto studenti rozhodujı´mezi mechanismy ve Win- J dows cˇi Linuxu (naprˇı´klad u synchronizacˇnı´ch mechanismu˚), ale nemusı´tomu tak by´t vzˇdy (naprˇı´klad vy´beˇr mezi realtimovy´mi syste´my, ru˚zne´druhy zavadeˇcˇu˚operacˇnı´ho syste´mu). • Zvla´sˇt’je take´vyznacˇen text, ktery´je obvykle vy´stupem probı´rany´ch prˇı´kazu˚, uka´zky progra- move´ho ko´du nebo mu˚zˇe jı´t o obsah neˇktery´ch souboru˚. Barva ikony je oranzˇova´. M • Neˇktere´cˇa´sti textu jsou oznacˇeny fialovou ikonou, cozˇznamena´, zˇe jde o nepovinne´u´seky, ktere´nejsou probı´ra´ny (veˇtsˇinou; studenti si je mohou podle za´jmu vyzˇa´dat nebo sami pro- studovat). Jejich u´cˇelem je dobrovolne´rozsˇı´rˇenı´znalostı´studentu˚o pokrocˇila´te´mata, na ktera´ obvykle prˇi vy´uce nezby´va´moc cˇasu. • Zˇ lutou ikonou jsou oznacˇeny odkazy, na ktery´ch lze zı´skat dalsˇı´informace o te´matu. Mu˚zˇe jı´t o zpu˚soby zı´ska´nı´na´poveˇdy, nejcˇasteˇji vsˇak u te´to ikony najdeme odkazy na internet. • Cˇervena´je ikona pro upozorneˇnı´ a pozna´mky. L Pokud je ikona vedle na´zvu kapitoly/sekce, pak se vztahuje k cele´takto vyznacˇene´kapitole cˇi sekci. Toto se vyuzˇı´va´prˇedevsˇı´m prˇi oznacˇenı´u´seku˚navı´c (fialova´ikona). Opticky (ale uzˇne barevneˇ) jsou odlisˇeny take´rˇesˇene´prˇı´klady. Prˇı´klady jsou cˇı´slova´ny, cˇı´sla slouzˇı´k jednoduche´mu odkazova´nı´na tyto prˇı´klady. Prˇı´klad0.1 Takto vypada´prostrˇedı´s prˇı´kladem. Cˇı´slo prˇı´kladu je 0.1. Obsah 1 U´ vod do operacˇnı´chsyste´mu˚1 1.1 Co je to operacˇnı´syste´m...................................1 1.2 Funkce operacˇnı´ho syste´mu.................................2 1.3 Typy operacˇnı´ch syste´mu˚..................................3 1.3.1 Za´kladnı´rozdeˇlenı´..................................3 1.3.2 Realtimove´operacˇnı´syste´my............................5 1.3.3 Distribuovane´operacˇnı´syste´my..........................6 1.4 Cloud Computing a operacˇnı´syste´my...........................8 2 Struktura operacˇnı´chsyste´mu˚ 11 2.1 Za´kladnı´typy architektur.................................. 11 2.2 Syste´my MS-DOS a Windows................................ 13 2.2.1 MS-DOS a Windows do verze 3.x.......................... 13 2.2.2 Windows s DOS ja´drem............................... 16 2.2.3 Windows rˇady NT do verze XP........................... 17 2.2.4 Windows od verze Vista a Server 2008....................... 21 2.3 Syste´my unixove´ho typu................................... 23 2.4 Hardwarove´zabezpecˇenı´syste´mu............................. 26 3 Spra´va pameˇti 27 3.1 Modul spra´vce pameˇti.................................... 27 3.2 Rea´lne´metody prˇideˇlova´nı´pameˇti............................. 28 3.2.1 Prˇideˇlenı´jedne´souvisle´oblasti pameˇti...................... 28 3.2.2 Prˇideˇlova´nı´bloku˚pevne´velikosti......................... 29 3.2.3 Dynamicke´prˇideˇlova´nı´bloku˚pameˇti....................... 30 3.2.4 Segmentace...................................... 32 3.2.5 Jednoduche´stra´nkova´nı´............................... 33 v vi 3.3 Rˇ esˇenı´fragmentace pameˇti................................. 35 3.3.1 Vy´beˇr vhodne´ho bloku pameˇti........................... 35 3.3.2 Setrˇa´sa´nı´pameˇti................................... 35 3.4 Virtua´lnı´pameˇt’........................................ 37 3.4.1 Stra´nkova´nı´na zˇa´dost................................ 37 3.4.2 Segmentace se stra´nkova´nı´m na zˇa´dost...................... 39 3.4.3 Swapova´nı´procesu˚.................................. 40 3.5 Technologie.......................................... 41 3.5.1 Rezˇimy procesoru.................................. 41 3.5.2 Adresovy´prostor a virtua´lnı´pameˇt’........................ 41 3.5.3 NUMA architektura................................. 42 3.5.4 Little a Big Endian.................................. 43 3.6 Spra´va pameˇti v neˇktery´ch operacˇnı´ch syste´mech.................... 44 3.6.1 MS-DOS........................................ 44 3.6.2 Windows........................................ 44 3.6.3 Unixove´syste´my vcˇetneˇLinuxu.......................... 47 3.6.4 MacOS......................................... 49 4 Procesy 51 4.1 Evidence procesu˚....................................... 51 4.1.1 Pojmy proces a u´loha................................. 51 4.1.2 Bina´rnı´spustitelne´soubory............................. 53 4.1.3 Datove´struktury souvisejı´cı´s procesy....................... 53 4.1.4 Priority procesu˚.................................... 55 4.1.5 Vznik a za´nik procesu................................ 59 4.1.6 Prˇı´stupova´opra´vneˇnı´procesu........................... 62 4.2 Beˇh procesu˚a multitasking................................. 63 4.2.1 Pseudomultitasking................................. 64 4.2.2 Kooperativnı´multitasking.............................. 65 4.2.3 Preemptivnı´multitasking.............................. 66 4.3 Multithreading........................................ 67 4.3.1 Princip......................................... 67 4.3.2 Programova´nı´vı´cevla´knovy´ch aplikacı´...................... 69 4.3.3 Dalsˇı´mozˇnosti programova´nı´vı´ce vla´ken..................... 72 4.4 Spra´va front procesu˚..................................... 72 4.5 Prˇideˇlova´nı´procesoru.................................... 74 4.5.1 Fronta (FCFS)..................................... 75 4.5.2 Cyklicke´pla´nova´nı´(RR)............................... 75 4.5.3 Nejkratsˇı´u´loha (SPN)................................ 76 vii 4.5.4 Priority......................................... 77 4.5.5 Kombinace metod s vı´ce frontami......................... 78 4.6 Pla´nova´nı´v jednotlivy´ch operacˇnı´ch syste´mech..................... 78 4.6.1 Windows XP..................................... 78 4.6.2 Linux.......................................... 80 4.7 Komunikace procesu˚..................................... 83 4.7.1 Princip komunikace procesu˚............................ 83 4.7.2 Komunikace ve Windows.............................. 84 4.7.3 Komunikace v Linuxu................................ 87 5 Synchronizace procesu˚ 93 5.1 U´ vod do problematiky.................................... 93 5.2 Petriho sı´teˇ........................................... 94 5.3 Za´kladnı´synchronizacˇnı´u´lohy............................... 95 5.3.1 Kriticka´sekce..................................... 95 5.3.2 Producent–konzument................................ 97 5.3.3 Model–obraz..................................... 99 5.3.4