Operačné systémy

Funkcie OS
Štruktúra OS
Boot proces
Súborový sytém, FAT, NTFS
Správa procesov
Správa pamäte
Správa súborov
Odkazy na príbuzné témy


V našom počítačovom systéme ideme budovať najvyšiu úroveň - operačný systém, bez ktorého by nebola možná komunikácia s užívateľom.

OPERAČNÝ SYSTÉM, OVLÁDAČE
STROJOVÉ INŠTRUKCIE
MIKROPROGRAMOVANIE
LOGICKÉ OBVODY

Všetky aplikačné programy potrebujú ukladať dáta na pamäťové média, načítať dáta, bežiace programy zdieľajú operačnú pamäť, vstupno-výstupné zariadenia... Aby v kóde každého aplikačného programu nemuseli byť ošetrené vždy tie isté činnosti, všetky spomínané činnosti ako aj ďalšie funkcie zabezpečuje operačný systém.



Funkcie operačného systému     Nahor

Operačný systém tvorí skupina programov, ktoré zabezpečujú nasledujúce činnosti a funkcie:

Komunikáciu s užívateľom - prostredníctvom periférnych zariadení
Prideľovanie prostriedkov systému - (napr. pamäť, vstupno-výstupné kanály) jednak užívateľom, alebo programom
Prideľovanie času - užívateľom - tzv. timesharing
- programom - tzv. multitasking
Organizovanie programov a dátových súborov - na sekundárnych pamätiach, v operačnej pamäti napr. vytváranie, editácia, kopírovanie, mazanie, komprimácia,,,
Vytváranie a spúšťanie užívateľských programov - v súčinnosti s vyššími program. jazykmi, spájanie s existujúcimi prog. knižnicami
Diagnostické funkcie - samokontrola systému, možnosť vyhľadávania a opravy porúch.
Zabezpečovacie funkcie - proti strate dát, výpadku siete, neodbornej manipulácií
Komunikáciu s inými užívateľmi v sieti - prostredníctvom protokolov

Delenie OS:

  • Jednoužívateľské (MS DOS)
  • Viacužívateľské(sieťové OS - Novel, MS Windows NT, OS/2,...)
  • Jednoúlohové (MS DOS)
  • Viacúlohové (UNIX, AIX, MS Windows)

Štruktúra OS     Nahor

Takmer každý operačný systém má vrstvovú štruktúru, každá vyššia verstva využíva služby nižších vrstiev, včítane hardvéru.

  1. Jadro (Kernel) - rezidentne prítomné v operačnej pamäti, spúšťa podľa potreby ďalšie moduly.
  2. Monitor - interpréter príkazov - analyzuje zadávané príkazy, sníma znaky z klávesnice, vypisuje znaky na výstupné zariadenie
  3. Ovládače (drivery) - obslužné programy vstupno- výstupných zariadení
  4. Dodatkové programy - textový editor, knižnice pre podporu užívateľských aplikácií, linkovací program (zavádza knižnice), programy pre diagnostiku a správu systému, programy pre sieťovú komunikáciu a pod.

Napr. OS MS DOS má nasledujúcu štruktúru:
COMMAND.COM - príkazový procesor
MSDOS.SYS - jadro OS
IO.SYS
BIOS - basic input output system
HARDWARE

BIOS (je uložený v pamäti typu ROM) stiera rozdiely medzi medzi odlišnosťami v HW od rôznych výrobcov, zabezpečuje základné operácie ako fyzický vstup znaku z klávesnice, výpis znaku na obrazovku, zápis sektoru na disk, načítanie sektora z disku a pod.



Boot proces     Nahor
Procesor po zapnutí resp. stlačení tlačidla Reset začne vykonávať tzv. inicializačnú rutinu BIOS-u (programový kód z pevne danej adresy): prevedie testy operačnej pamäte, pripojených vstupno - výstupných zariadení zavedie 1. fyzický sektor (tzv. boot sektor) z diskety, CD, alebo pevného disku a odtiaľ spustí zavádzač operačného systému(boorstrap). Ten zavedie jadro OS, príkazový procesor a ovládače pripojených periférnych zariadení, pričom postupuje podľa konfiguračného súboru.


Súborový sytém, FAT, NTFS     Nahor
Operačný systém, aplikačné programy ako aj dátové súbory sú logicky uložené na pamäťových médiách - floppy diskoch, hard diskoch, cd diskoch. Pri formátovaní disku sa rozdelí na stopy (cylindre) a sektory, pričom stopy tvoria sústredné kružnice na jednotlivých povrchoch média a sektory si môžeme predstaviť ako výseky kruhu. Veľkosť sektora je 512B. Každá stopa začína hlavičkou stopy (obsahuje číslo stopy, počet sektorov,...), každý sektor na stope začína hlavičkou sektora (číslo stopy, číslo sektora), začiatok 0. sektora na každej stope je rovnaký. Záznamová kapacita média je daná súčinom počtu povrchov, stôp, sektorov a veľkosťou sektora.

Organizácia dát na disku:

Ak je disketa rozdelená na 80 stôp, na každej stope je 18 sektorov a má 2 povrchy, potom má 2x80x18 sektorov (512kB=0,5kB, 2x80x18x0,5kB=1440kB). Prenos a zápis dát sa realizuje po alokačných blokoch nazývaných CLUSTER. Veľkosť clustra sa určí pri formátovaní disku v rozpätí 1 až 16 sektorov. (Veľkosť clustra u diskety je 1 sektor). Fyzickým sektorom pridelíme logické adresy (0, 1, 2,...), operačný systém pracuje s logickými adresami. Prvý logický sektor 0. - BOOT SECTOR, obsahuje tabuľku o spôsobe formátovania, identifikáciu OS, počet sektorov v clustri, ...Môže obsahovať aj zavádzač OS (v prípade systémového disku). V ďalších sektoroch sa nachádzajú 2 kópie FAT tabuľky - "file alocation table" (FAT1, FAT2, ak by sa jedna tabuľka poškodila) obsahujúce údaje o uložených súboroch. FAT tabuľka má toľko položiek, koľko clustrov má disk. (FAT16 umožňuje adresovanie 216clustrov, FAT32 umožňuje adresovanie 232clustrov)

Napr. pre disketu má obsadenie sektorov nasledujúcu štruktúru:
    0.sektor - boot
    1. - 9. sektor - FAT1
    10. - 18. sektor - FAT2
    19. - 32. sektor - hlavný adresár
    33. - 2879. sektor - dátová oblasť súborov

Hlavný adresár (root) obsahuje informácie o súboroch (atribúty) ako je názov soboru, typ, dátum a čas poslednej zmeny, veľkosť a logickú adresu počiatočného clustra, pričom vo FAT tabuľke sa nachádzajú odkazy na nasledujúce clustre, koniec súboru neodkazuje nikde (vo FAT sa nachádza adresa konca súboru - FFFF vo FAT16 resp. FFFFF vo FAT32) Pri mazaní súborov sa vo FAT označía uvoľnené clustre ako voľné (0000 resp. 00000). Pri obsadzovaní uvoľnených clustrov dochádza ku fragmentácii disku, čo následne spomaľuje operácie so súbormi. Novším súborovým systémom, ktorý používa napr. Windows XP, je NTFS (new technology file system) - viď odkazy.


Správa procesov     Nahor
Ľubovoľná aplikácia, ktorú spustí užívateľ, vytvorí proces, súčasne môže pracovať viac procesov, niektoré procesy pracujú na pozadí a sú rezidentne zavedené v operačnej pamäti (jadro OS, antivirusový program, ...). Procesu zodpovedá v danom čase presne jeden program, ale danému programu môže zodpovedať viacero vykonávaných procesov. Proces počas svojho životného cyklu od vytvorenia až po ukončenie sa nachádza v rôznych stavoch, procesy sa medzi sebou prepínajú - každý chvíľu zamestnáva procesor.
Každý proces pozostáva z kódu (textu) programu, hodnoty registrov (napr. hodnota registra IP určuje, kde sa vykonávanie nachádza v texte programu), dát procesu a stavu procesu, každý proces má svoje identifikačné číslo - tzv. PID, všetky tieto informácie o každom procese sa udržiavajú v špeciálnej dátovej štruktúre - tabuľke procesov. Typickým príkladom prepínania sa medzi procesmi je prepínanie sa medzi viacerými otvorenými oknami web prehliadača. Viac o procesoch a ich životnom cykle si prečítajte v dokumente správa procesov.


Správa pamäte     Nahor
Používaním metód multiprocesingu a multitaskingu dokážeme lepšie využiť CPU a zlepšiť odozvu systému na akcie užívateľa (kým niektoré procesy čakajú na dokončenie nejakej operácie, iné procesy využívajú procesor). Cena, ktorú za to platíme, je zdieľanie operačnej pamäte medzi procesmi. Kapacita pamäti je však konečná, procesy súťažia o pamäť.
Operačná pamäť fyzicky prítomná v počítači vytvára tzv. fyzický adresový priestor - FAP. Predstavujeme si ho ako lineárne pole adresovateľných jednotiek - Bytov, očíslovaných adresami od 0 po MAX (napr. 0..FFFFFF, 0..FFFFFFFF). Logický adresový priestor - LAP je pamäť ako abstrakcia, na ktorú sa jednotlivé programy (a tým aj procesy) odvolávajú pri adresácii. Namapovanie logických adries generovaných procesom na fyzické adresy zrozumiteľné hardveru má na starosti hardverová jednotka správy pamäti - MMU (memory management unit). Procesor sa obracia prostredníctvom MMU k pamäti, a to pri:
    - načítavaní inštrukcie (fetch),
    - čítaní dát (load),
    - zapisovaní dát (store),
Akým spôsobom sa procesom prideľuje pamäť? Najčastejšie používané metódy sú: súvislá alokácia, stránkovanie, segmentácia... Existujú schémy pre zefektívnenie práce s pamäťou a zväčšenie LAP oproti FAP ako sú dynamické zavedenie (loading),d ynamické zostavovanie (linking), prekrývanie (overlay), odkladanie na disk (swapping) a pod. Viac o mapovaní a metódach prideľovania pamäte si prečítajte v dokumente správa pamäte.


Správa súborov     Nahor
Súbor je pomenovaná kolekcia spolu súvisiacich dát uložená na pamäťovom médiu. Vlastnosti súboru uložené mimo tela (obsahu) súboru, (typicky v adresári) sa nazývajú atribúty súboru.
Medzi atribúty patria:
    - názov - každý OS má svoje pravidlá a konvencie na ich tvorbu
    - typ
    - umiestnenie - fyzické umiestnenie na disku, dôležité pre OS, menej pre užívateľa
    - veľkosť
    - ochrana - špecifikuje práva prístupu k súboru (kto čo smie)
    - časové údaje - napr. dátum a čas vytvorenia a poslednej modifikácie
    - vlastník - väčšinou tvorca , viažu sa k nemu zvláštne prístupové práva.

Operácie so súbormi:
Na súbor sa môžeme dívať ako na abstraktný dátový typ, ktorého operácie poskytuje OS. Dôležité operácie sú:
    - vytvorenie súboru (create),
    - zápis do súboru (write),
    - čítanie obsahu (read),
    - presun na zadanú pozíciu (seek)
    - vymazanie súboru (delete),
    - vymazanie obsahu (truncate).
Súbor, s ktorým sa práve pracuje, je otvorený (open), po ukončení práce sa uzavrie (close).

Adresáre:
Typický systém súborov je obrovský, tisícky súborov, stovky MB pre jednoužívateľské domáce PC, rádovo viac pre servre bežnej siete. Také množstvo informácií musíme organizovať, aby sme udržali prehľad. Osvedčila sa hierarchická organizácia. V kontexte systémov súborov obyčajne existujú dve úrovne hierarchie:
    1. Rozdelenie fyzických diskov na logické partície (C:, D:, E:, ...)
    2. Rozdelenie partícií na adresáre (podadresáre koreňového - root adresára)
Partícia obsahuje info o umiestnení adresárov a súborov.
Adresár (directory) je dátová štruktúra obsahujúca informácie o súboroch (väčšinou atribúty popisované vyššie) uložených na príslušnej partícii. Adresár je v konečnom dôsledku tiež súbor. Operácie s adresármi sú analogické ako so súbormi. Viac o alokácii súborov a ich vlastnostiach sa dočítate v dokumente správa súborov.


Odkazy na príbuzné témy     Nahor
Operačné systémy - správa pamäte, procesov
Súborový sytém NTFS
Počítač vs. ľudký mozog

Predchádzajúca téma Obsah Nasledujúca téma

© Jana Machová