Professional Documents
Culture Documents
Sluby OS
lenenie sluieb OS vzhadom na ich funknos poskytovan pouvateovi: Pouvatesk rozhranie -temer vetky OS maj nejak rozhranie (UI). Me sa jedna o prkazov riadok (Command-Line) (CLI), grafick prostredie (Graphics User Interface) (GUI), alebo dvkov spracovanie (Batch) Beh programov Systm mus by schopn zabezpeova nahrvanie programov do pamti, ich spanie a ukonovanie - Spusten program me vyadova prstup k I/O zariadeniam, a OS tento prstup mus vedie sprostredkova Prca so sborovm systmom Programy potrebuj zapisova a ta daje v adresroch, asto ich vyvraj alebo ma, hadaj v nich nieo, zobrazuj ich obsah Procesy mu chcie medzi sebou vymiea informcie (i u na tom istom stroji alebo cez sie) a pouvaj dva typy komunik.: zdiean pam alebo posielanie sprv OS sa mus neustle stara o bezpen chod,preto neustle sleduje chybov stavy pamti), v I/O zariadeniach a v pouvateskch programoch Vzhadom na efektvne vyuvanie zdrojov operanm systmom je mon zavies in typ delenia sluieb, ktor mus poskytova: V prpade, e OS pouva viacero pouvateov alebo m naraz bea viacero programov, jednotliv zdroje systmu by mali by spravodlivo rozdeovan; navye, OS mus zabezpei, aby kad program dostal toko zdrojov, aby mohol svoj vpoet korektne vykona Sli na sledovanie, koko zdrojov ten-ktor pouvate a/alebo program v systme vyuil Vlastnci informcii v rmci prostredia, kde je vea pouvateov, chc ma pod kontrolou pouitie informci; spova v kontrole prstupov k systmovm zdrojom sa star o autentifikovan prstup k systmu, m zabrauje neoprvnenm pokusom o vyuitie jeho zdrojov
Systmov volania
Jedn sa o programov rozhranie k slubm OS Aplikan programov rozhranie (API)
- Niekedy je registrov mlo alebo ich datov rka nesta - Tento prstup ouva Linux a Solaris zsobnka neobmedzuje poet predvanch parametrov, ani ich dku
zmena pozcie v nasta info o procese, sbore, zariaden... poslanie, obdranie sprvy, ak sa pouva model posielania sprv
jom systmu
Systmov programy
Sprva sborov Vytvranie, mazanie, koprovanie,premenovvanie, vpis obsahu Informcie o systme dtum, as, dostupn pam, von miesto na disku, poet uvateov...
Kompilery, assemblery,debuggery Relokcie, linkovanie, ladenie, virtulne procesory... Prepojenie procesov, pouvateov, alch systmov... Spaj sa pri tarte, Niektor iba na zaiatku, niekt iba na konci prce systmu
Nvrh a implementcia OS
Pouvatesk ciele a systmov ciele enos, rchlos Dleitm princpom je separcia Politiky: o sa m urobi? Mechanizmov: Ako sa to m urobi? pecifikcia a nvrh OS patria medzi najkreatvnejie lohy vbec v odvetv softrovho ininierstva Emulcia umouje spustenie OS na hw, pre ktor nie je natvne uren
Mikrojadro (microkernel)
Mach - prklad mikrojadra - Mac OS X jadro (Darwin) je iastone odvoden od Mach-u medzi modulmi v priestore pouvatea sa deje pomoc. posielania sprv(message passing)
Moduly
Vina modernch OS implementuje moduly jadra, ktor sa daj zavies za behu (loadable kernel modules)
Hybridn systmy
kombinuje ostatn za elom vieho vkonu, bezpenosti, pouitenosti, prenositenosti zavdzania dodatonej funkcionality e s mikrojadrom pre rzne subsystmy programovacm Cocoa
iOS
Mobiln OS od Apple pre iPhone, iPad: -Cocoa Touch -Objektovo orientovan C API pre vvoj aplikci - Media services - vrstva pre grafiku, audio a video - Core services - poskytuj vpoet v cloude,databzu
Ladenie OS
Ladenie (Debugging) znamen hadanie a opravovanie chb (bugs) log files), ktor obsahuj informcie o chybch Core dump, ktor obsahuje pamov obraz stavu procesu v ase zlyhania Crash dump, ktor obsahuje pamov obraz jadra v ase zlyhania SYSGEN je prorgam, ktor doke zska informcie o hw na danom stroji
Kapitola 3: Procesy
Koncept procesu
lohy (jobs) pouvatesk programy (user programs alebo tasks) je program, ktor sa vykonva; jeho vykonvanie je sekvenn textov sekcia (oblas) programovho potadla, a registrov procesora obsahuje doasn daje Oblas dajov, ktor obsahuje globlne premenn Halda (heap) obsahuje dynamicky alokovan premenn poas behu programu pasvnou entitou, ktor je uloen na disku (v spustitenom sbore), proces je aktvnym prvkom
Stavy procesu
vaj pripraven: proces je pripr. na beh na procesore
Plnovanie procesu
prepnanie procesov
Plnova procesov vyber z dostupnch (prichystanch) procesov niektor na beh na procesore Fronta loh mnoina vetkch procesov v systme Fronta pripravench mnoina vetkch procesov v hlavnej pamti, ktor s pripr. na beh Fronta zariaden mnoina vetkch procesov akajcich na I/O zariadenie
Plnovae
Dlhodob plnova (alebo plnova loh) vyber procesy do fronty pripravench pomal (alebo plnova CPU) vyber proces pre beh na CPU
Skr I/O procesy vea asu strvia vykonvanm I/O, mlo vyauj CPU Skr CPU procesy vea asu strvia vyaenm CPU, mlo akaj na I/O opercie
Multitasking v mobilnch OS
Vzhadom na dotykov obrazovku sa pouvatesk rozhranie iOS obmedzuje na na popred - ovlda sa pomocou dotykovho rozhrania na pozad v pamti, spustench, ale nezobrazench a s obmedzeniami Android spa procesy na popred i pozad s niektormi obmedzeniami sluby
Prepnutie kontextu
uloi stav beiaceho (starho) procesu a obnovi uloen stav novho procesu pomocou prepnutia kontextu procesu je reprezentovan dajovmi truktrami v PCB
Tvorba procesu
Rodiovsk proces vytvra detsk procesy, ktor spolone tvoria strom procesov identifikcor procesu (pid) Monosti zdieania zdrojov je
Monosti behu
UNIX lanie zavolan po fork() sli na zmenu aktulneho pamovho priestoru procesu za nov pomocou nahrania novho programu do pamti
Ukonenie procesu
Po vykonan poslednej intrukcie programu proces poiada OS o ukonenie prslunm systmovm volanm (exit()) wait()) Rodi me ukoni beh potomka (abort()), ke:
neumouj beh potomkom, ke ich rodi skon; ke sa ukonenm rodia cel podstrom jeho potomkov ukonuje, nazva sa to kaskdov ukonenie Ak rodi nepok na ukonenie dieaa, stane sa z potomka po skonen zombk detsk proces, potomok sa stane sirotkom
Problm konzument-producent
Jedn sa o zkladn ukku spoluprce procesov: proces producenta tvor (produkuje) informcie, ktor proces konzumenta spotrebva nie je obmedzen mnostvo nahromadenia informcie medzi producentom a konzumentom Pri obmedzenom odkladacom mieste sa mnostvo nespracovanej informcie obmedzuje
Priama komunikcia
poli procesu P sprvu prijmi od procesu Q sprvu
Nepriama komunikcia
Sprvy sa odovzdvaj cez schrnky (porty) u komunikova iba vtedy, ke zdieaj schrnku Vlastnosti komunikanej linky
Opercie
nky
Zkladn funkcie definovan tmto IPC: Send(A, message) poli sprvu do schrnky A receive(A, message) pretaj sprvu zo schrnky A
Synchronizcia
Posielanie sprv me by blokujce alebo neblokujce sa povauje za synchrnne blokuje odosielatea, km prijmate nedostane sprvu Blokujce prijmanie blokuje prijmatea, km nie je sprva dostupn sa povauje za asynchrnne Neblokujce odosielanie umouje odosielateovi posla sprvu a okamite pokra. alej Neblokujce prijmanie umouje prijmateovi bu vybra sprvu alebo dosta informciu o tom, e iadna sprva zatia nie je dostupn com reime, hovorme o lohe typu rendezvous
nasledovne:
Sokety
portu; port uruje tento definovan bod komunikcie
Rra
Normlne rry strana na zpis) tac koniec) anonymn rry Pomenovan rry
Kapitola 4: Vlkna
Vhody
zva vzhadom na zdroje
Viacjadrov programovanie
alebo viacprocesorov systmy vyvjaj ist tlak na programtorov a ponkaj vzvy:
dajov Paralelizmus znamen, e systm me naraz vykonva viac ne jednu lohu Sbenos podporuje sasn beh viacerch loh dajov paralelizmus podmnoina dajov sa distribuuje na kad jadro, a na tchto dajoch sa vykonvaj rovnak opercie Programov paralelizmus na jednotliv jadr sa distribuuj opercie, kad vlkno vykonva nejak lohu
Implicitn vlkna
Tri ukkov prostredia: Thread Pools, OpenMP, Grand Central Dispatch
Obsluha signlov
sa v systmoch UNIX pouvaj na upozornenie procesov na to, e nastala nejak udalos sa pouva na spracovanie signlu 1. Signl je generovan nejakou udalosou 2. Signl sa doru nejakmu procesu 3. Signl sa obsli jednm z tchto dvoch spsobov: 1. tandardn obsluha 2. Pouvateom definovan obsluha tandardn obsluhu, ktor pouva jadro pri obsluhe signlu Pouvateom definovan obsluha prepisuje tandardn obsluhu lknom sa signl doruuje samotnmu procesu (hlavn. vlknu)
Zruenie vlkna
Jestvuj dva zkladn prstupy: Asynchrnne zruenie, pri ktorom sa okamite ukonuje beh vlkna Odloen zruenie, ktor umouje vlknu periodicky testova, i mu bola doruen iados o zruenie tandardn nastavenie vlkna je v reime deferred (odloen zruenie) zruenia cleanup handler
Vlkna OS Windows
Windows implementuj Win API API pre Win 98, Win NT, Win 2000, Win XP, Win 7 a Win 8 Mnoina registrov, zsobnky a skromn pamov oblas tvoria tzv. kontext vlkna Kad vlkno obsahuje sora reime jadra alebo pouvatea
Najdleitejie dajov truktry vlkna: ve thread block) obsahuje ukazate na proces, ku ktormu vlkno patr, a taktie odkazuje na KTHREAD v priestore jadra informcie o plnovan a synchronizcii, zsobnk v reime jadra, odkaz na TEB v priestore jadra B (thread environment block) ID vlkna, zsobnk v reime pouvatea, odkaz na skromn pamov oblas v reime pouvatea
Vlkna OS Linux
clone() umouje detskmu vlknu zdiea adresn priestor rodiovskho vlkna (a teda preocesu samotnho) struct task_struct ukazuje na dajov truktry procesu (ktor mu by zdiean alebo jedinen pre kad vlkno zvl)
Problmom kritickej oblasti sa chpe problm nvrhu takho protokolu, ktor tento problm riei vstupnej oblasti, potom me vykonva kd kritickej oblasti a napokon pri opusten kritickej oblasti zva vykonva kd tzv. vstupnej oblasti. Zvynm astiam kdu sa hovor zvyn oblas.
Synchronizan hardvr
Vetky niie uveden rieenia s zaloen na spolonej mylienke uzamykania Modern stroje poskytuj pecilne atomick (hardvrov) intrukcie = nepreruiten asn nastavenie hodnoty(test and set) pamti (compare and swap)
Mutexy
Prstup do kritickej oblasti je umonen a po zskan zmku funkciou acquire(), pri opusten KO je potrebn zmok uvoni funkciou release() sk premenn indikuje, i je zmok von alebo nie Volania acquire() a release() musia by atomick Toto rieenie si vak vyaduje tzv. aktvne akanie spinlock
Semafory
Jedn sa o synchronizan mechanizmus, ktor nevyaduje aktvne akanie Dve opercie modifikujce stav semaforu S: wait() a signal()
Pouitie semaforov
seln hodnota me nadobda ubovon hodnotu seln hodnota me by bu 1 alebo 0 mutex
Implementcia semaforu
Mus garantova, e iadne dva procesy nespustia wait() a signal() na tom istom semafore v tom istom ase aktvne akanie do implementcie samotn kd je krtky
Uviaznutie a vyhladovenie
Uviaznutie dva alebo viac procesov donekonena akaj na udalos, ktor me vygenerova iba jeden z akajcich procesov Vyhladovenie nekonen blokovanie Ke proces nikdy nevyjde z fronty akania na semafor, v ktorej je uspat
Synchronizcia v OS Windows XP
Na jednoprocesorovch systmoch pouva vypnanie preruen spinlocky spinlocku, nikdy neme by preplnovan a preruen Taktie poskytuje rzne objekty v priestore pouvatea (mutexy, semafory, udalosti a asovae) Udalosti
Synchronizcia v OS Linux
Linux poskytuje: semafory , spinlocky, pecilne itatezapisovateverzie oboch
Kapitola 6: Plnovanieprocesov
vod
I/O cyklus vyaenia vykonvanie procesu pozostva z cyklu behu na procesore a z akania na I/O Vyaenie CPU predchdza vyaeniu I/O zdrojov
plnova CPU
Krtkodob plnova vyber z fronty procesov pripravench na beh, a prve jednmu z tchto procesov v jednom ase umouje vykonvanie kdu na procesore Rozhodnutia plnovaa by mali zvisie aj od toho, i proces: 1. prechdza zo stavu beiaci do stavu akajci 2. prechdza zo stavu beiaci do stavu pripraven na beh 3. prechdza zo stavu akajci do stavu pripraven na beh 4. prechdza zo stavu beiaci do stavu ukonen nepreemptvne preemptvne
Dispatcher
Modul dispatcher prideuje krtkodobm plnovaom zvolenmu procesu kontrolu nad CPU; jeho innos zahsa:
intrukciu v pouvateskom programe pred zaatm jeho vykonvania oneskorenie dispatchera jedn sa o as potrebn na jeho innos medzi zastavenm jednho procesu a spustenm alieho
Kritri plnovania
Vyuitie CPU vyaova CPU o najdlhie, ako sa len d Priepustnos poet procesov, ktor sa doku vykona za jednotku asu as obsluhy mnostvo asu potrebn na obsluhu nejakho procesu (menement okolo jeho spania at...) as akania mnostvo asu, ktor proces strvi akanm vo fronte pripravench nabeh as odozvy mnostvo asu, ktor sa meria od okamihu poslania iadosti (naprklad o CPU) do prvej odpovede na tto iados
1. default 2. realtime nice (od 20 do +19) virtulneho asu behu v premennej vruntime ota tejto premennej vyber sa loha s najniou hodnotou
Plnova Windows
Dispatcher pln funkciu plnovaa relneho asu mu prerui normlne vlkna Obyajn triedy s 115, triedy relneho asu s 1631
idle
Solaris
Simulcie
Simulcie v sebe obnaj ho modelu OS
- Nhodne v slade s pravdepodobnostnm modelom OS - Pomocou matematickho alebo empirickho odhadu - Zo zznamov relnych udalost v relnych systmoch
Kapitola 7: Uviaznutie
Kad proces vyuva zdoje nasledovne:
Charakteristika uviaznutia
: iba jeden proces v jednom ase me vyuva zariadenie : proces, ktor dr aspo jeden zdroj, ak na pridelenie nejakho alieho zdroja, ktor dr in proces : zdroj me by uvonen iba dobrovone samotnm procesom, ktor ho dr : jestvuje mnoina akajcih procesov {P0, P1, , Pn} tak, e P0 ak na zdroje procesu P1, P1 ak na zdroje procesu
Prevencia uviaznutia
nie je vyadovan pre zdiean zdroje; mus sa robi pre tie, ktor zdiean nie s mus garantova, e ke proces iada o zdroje, tak v tom okamihu nesmie dra in zdroje proces dostane vetky potrebn zdroje nasvoj beh ete pred spustenm, alebo poas spustenia iba raz ke ete iadne zdroje pridelen nem doterajie, ktor dr
aj tie nov, o ktor iadal vyaduje zoradenie zdrojov, a vyaduje tak implementciu iadost o zdroje, e kad iados procesu mus s v rastcom porad postupnosti zdrojov zoradenej systmom
Predchdzanie uviaznutiu
deklaroval maximum zdrojov kadho typu, ktor bude poas svojho behu potrebova vyhodnocuje stav sasnho vyuvania zdrojov a pred prideovan alch skma, i ich pridelenm me prs k uviaznutiu
Bezpen stav
Systm je v beypenom stave, ak existuje konen postupnos <P1, P2, , Pn> vetkch procesov v systme tak, e pre kad proces Pi bude plati, e zdroje, o ktor iada, me dosta pomocou aktulne dostupnch zdrojov plus zdrojov, ktor dria procesy Pj, j < i
Algoritmy prevencie
Dynamick linkovanie
kninice spolu s programovm kdom s spojen do jednho spustiten. celku linkovanie sa posva a do fzy zavdzania programu do pamti stub, sa pouva na komunikciu s kninicou zavdzaa
Swapovanie
swapped) z pamti na nejak lon mdium, a neskr op natan skuton stav fyzickej ramky dostatone rchly disk, aby sthal uklada a natava procesy pre vetkch pouvateov; disk mus podporova priamy prstup k dtam (take pska nie je zrovna to prav orechov...)
oblast zvyuj efektivitu (vekos sa prispsobuje potrebm procesu) blok vonej pamti; tieto bloky sa hadaj a spjaj do svislej oblasti (prpadne do zoznamov) aby vyhovoval
Fragmentcia
celkov mnostvo vonej pamti sta na vyhovenie iadosti, ale ia, tto pam netvor jednu svisloblas alokovan pamov blok je o nieo v ako blok pamti, o ktor iadal proces; take aj ke je takto pam pridelen, proces ju nevyuije, a vzhadom k tomu, e rozdiel iadanej a pridelenej pamti tvor sas pridelenho bloku, iaden in proces tto oblas neme vyui
Spjanie je mon iba vtedy, ke je mon dynamick relokcia poas behu procesu Segmentcia- Tto metda sprvy pamti poskytuje nhad uvatea na pam hlavn program, procedra, funkcia, metda, objekt, lok. i glob. premenn, zsobnk, polia, at...
Architektra segmentcie
<slo segmentu, offset> mapuje dvojrozmern fyzick adresy; kad poloka tabuky obsahuje: obsahuje zaiaton fyzick adresu segmentu v pamti pecifikuje dku segmentu ) ukazuje na zaiatok tabuky segmentov v pamti
tabuky segmentov (Segmenttable length register; STLR) obsahuje poet segmentov, ktor program pouva; -slo segmentu s je platn, iba ke plat, e s < STLR
Strnkovanie
Npad spova v rozdelen fyzickej pamti na bloky fixnej (malej) dky ktor sa oznauj pojmom rmce (frames) strnky (pages) Pri tarte OS je potrebn nastavi tabuku strnok (page table) kvli prekladu logickej adresy na fyzick
Ochrana pamti
Bit platnosti pre kad poloku v tabuke strnok hovor, e: u strnkou register vekosti tabuky strkon (pagetable length register PTLR)
Zdiean strnky
Zdiean kd fyzickej kpie programovho kdu (readonly prstup) vetkmi procesmi systmu (napr. Kninice systmu potrebn pre beh aplikci) viacer procesy zdieaj strnky na zpis Skromn kd a daje
priestoru procesu
logick pohad procesu na usporiadanie pamti j pamti pri strnkovan bva v rmcoch
Strnkovanie na vyiadanie
pouivateov naraz (viac fyzickej pamti) Tzv. pomal swapovanie nikdy nezavda strnku do pamti, pokm ju nie je treba
Vpadok strnky
vpadok strnky 1. OS nazrie do tabuky strnok, aby rozhodol: -> abort 1. Njdi von rmec 2. Nahraj strnku do rmca (pomocou I/O operci s diskom) 3. Nastav tabuku strnok tak, aby sa zhodovala so skutonosou. Nastav bit platnosti na hodnotu = v 4. Znovu spusti operciu, ktor vyvolala vpadok strnky
Copy-on-Write
umouje pri vytvoren novho procesu obom (rodiovi aj potomkovi) zdiea tie ist strnky pamti esov sa pokus modifikova jej obsah Vmena strnokprehadvanch kandidtov na sptn zpis na disk pri vyhadzovan strnky z pamti
-Ak nie je iadny von rmec, poui algoritmus vmeny strnok na njdenie obete zap obetn rmec na disk 3. Prenes do uvonenho rmca nov strnku; aktualizuj tabuky strnok a rmcov 4. Retartuj proces, ktor spsobil vpadok strnky
najmen pomer vpadku strnok (nielen pri prvom prstupe k strnke, ale aj pri opakovanom) LRU a OPT s prpady tzv. zsobnkovch algoritmov, ktor nemaj Beladyho anomliu
referennm bitom
-Bit sa nastav na 0, a strnka sa nech v pamti -Had sa alia strnka, ktor by sa mohla vymeni
Algoritmus potadla
vymiea strnku s najnim potom prstupov obmena v tom, e zvhoduje strnky s najnim potom odkazov (je predpoklad, e erstvo zaveden strnka sa bude znovu pouva, ale ete nebol as to overi)
Magnetick disky
B (najnovie 6TB)
Magnetick psky
diskami - od 140MB/sec a viac
truktra disku
pole logickch blokov, logick blok je najmenia prenosov jednotka (nieo ako bajt pri ramke)
Sprva diskov
Vytvra na disku sektory (ECC)
dajov truktry je jedna alebo viac skupn cylindrov tvoriacich logick disk vytvra poadovan sborov systm klastrov (clusters) O opercie nad sbormi s v jednotlcj klastrov
RAID
Redundant Array of Inexpensive Disks redundancie stredn hodnotu zlyhania doba, poas ktorej me prs k strate dajom, ak poas nej prde k aliemu zlyhaniu zvis od uvedench faktorov pouva skupinu diskov ako jedno logick zariadenie (daje sa prerozdeuj medzi disky) yuj rchl a spoahliv odkladac priestoru tm,e zavdzaj ist redundanciu dajov Mirroring alebo shadowing (RAID 1) rob kpiu kadho disku (RAID 1+0) alebo mirrored stripes (RAID 0+1) zvyuje vkon i spoahlivos sasne Block interleaved parity (RAID 4, 5, 6) vyuvaj ovea menej redundancie (pouvaj techniky samoopravnchkdov)
Atribty sboru
jedin informcia v udsky itatenej forme ;) jedinen tag (slo) indentifikujce sbor v celom sborovom systme Typ nevyhnutn pre systmy, ktor podporuj rzne typy sborov (napr. Linux) Umiestnenie odkaz na umiestnenie sboru na disku Vekos aktulna vekos sbory Ochrana uruje, kto me o robi so sborom (ta, zapisova, vykonva...) as, dtum, vlastnk daje dleit pre tatistiky, ochranu a bezpenos
Sborov opercie
) na pozciu ukazatea na zpis na pozciu ukazatea na tanie estnenie (Seek) presun ukazateov v sbore
) prehadva adresrov truktru na disku a had poloku Fi, ke ju njde, obsah poloky presunie do pamti presunie obsah poloky Fi v pamti do adresrovej truktry na disku
Otvorenie sboru
-file table): obsahuje zoznam otvorench sborov (k nim pridruen informcie) (File-open count): poet, koko krt je sbor otvoren (v tomto asovom okamihu); tento daj je potrebn na to, aby sa zznam o sbore mohol z tabuky sborov vymaza, ke ho u nik nepouva vlastn
Prstupov metdy
reset po sprstupnen poslednho zznamu nemonos read/write operci Priamy sbor pozostva z logickch zznamov fixnej dky read n, write n, position to n, read next, write next, rewrite n, n = relatvne slo bloku
truktra disku
partcie jednotliv partcie mu by chrnen pred pokodenm technikou RAID
raw bez nejakho sborovho systmu, alebo sa mu pouva naformtovan na nejak sborov systm Entity obsahujce sborov systm sa nazvaj aj zvzky (volume) samotnom sborovom systmu; tie sa nachdzaj v tzv. tabuke obsahu zvzku (volume table of contents) veobecne zameranch sborovch systmov jestvuj aj pecilne zameran sborov systmy, aj v rmci samotnho potaa (naprklad konfiguran sborov systm, monitorovac sborov systm)
Zdieanie sborov
V prostred s viacermi pouvatemi ID pouvatea identifikuje pouvateov, a na zklade toho umouje implementova schmu ochrany a prstupu pouvateov k objektom sborovho systmu ID skupiny umouje pouvateom spja sa do skupn a rozri prstupov schmu aj pre skupiny
Schma ochrany
) truktra, ktor obsahuje vetky dleit informcie o sbore ) ovlda samotn fyzick zariadenie
Oblasti a pripjanie
Partcia (oblas) me obsahova FS (vtedy ju oznaujeme ako zvzok), alebo ho neobsahuje (tzv. raw) ) obsahuje OS, ostatn partcie mu obsahova in OS, in sborov systme, alebo mu by raw
Implementcia adresra
mien sborov spolu s odkazmi na ich dajov bloky linerny zoznam vyuvajci heovaciu truktru ide o situciu, kedy viacero mien sborov ukazuje na to ist miesto
lmom s hadanie von. miesta pre sbor pri znalosti jeho vekosti a ext. Fragmentcia
Polling
Pre kad bajt I/O 1. taj busy bit zo stavovho registra, pokm zariadenie nie je von 2. Host nastav bit tania alebo zpisu a v prpade zpisu skopruje daje do registra dataout 3. Host nastav commandready bit 4. Radi nastav busy bit a vykon prenos 5. Radi po ukonen prenosu vynuluje busy bit, error bit a commandready bit Krok 1 je aktvne akanie na ukonenie I/O opercie na zariaden - M zmysel, ak je zariadenie rchle
Preruenia
CPU m vyveden vodi zapojen a do I/O zariadenia CPU kontroluje tto linku (tzv. preruenia) po kadej intrukcii, ktor vykon Obsluha preruenia dostva preruenia Maskovaten sa daj ignorova alebo odloi ich spracovanie Vektor preruen sli na identifikciu sprvnej obsluhy pre preruenie, ktor nastalo Preruenia mu ma aj priority Niektor mu by nemaskovaten Zreazenie obslh nastva, ak viac ne jedno zariadenie pouva rovnak slo preruenia Mechanizmus preruen sa pouva aj pre vnimky (exceptions) - ukonenie procesu, pd systmu po nejakej hw chybe Systmov volania sa vykonvaj tie cez preruenie, tzv. Trap
Niektor systmu doku pracova aj s virtulnymi adresami, o je ete efektvnejie, ide o tzv. DVMA
Sieov zariadenia
zva maj vlastn rozhranie Linux, Unix, Windows a vea alch OS vyuva soketov rozhranie
Hodiny a asovae
Poskytuj aktulny as, uplynul as, asovae sa pouva na asovanie, pravideln preruenia
Vectored I/O umouje jednmu systmovmu volaniu vykona naraz viac I/O operci
Buffering odkladanie dajov do pamti poas ich prenosu medzi OS a zariadenm Dvojit buffering dve kpie dajov v pamti Caching rchlejie zariadenie obsahuje kpiu asto pouvanch dajov Spooling udriava vstupn prkazy pre zariadenie Device reservation poskytuje vlun prstup k zariadeniu
Prdy
prd (STREAM) obojsmern komunik. kanl medzi procesom pouvatea a zariadenm v OS Unix -zhlavia,ktor komunikuje s uvateskm procesom -ovldaa,ktor komunikuje so zariadenm -nula alebo viac prdovch modulov medzi tmito dvoma koncami Kad modul obsahuje frontu na tanie (read queue) a frontu na zpis (write queue) pozostva z:
ni naviac m sa obmedz dopad v prpade zneuitia zranitenosti entity na to sa pouvaj techniky zmeny domny alebo zvyovania prv (privilege escalation)
Prstupov matica
Riadky domny Stpce objekty Access(i, j) je mnoina operci, ktor proces beiaci v domne Di me vyvola nad objektom Oj Me sa dynamicky meni - Mu jestvova opercie na pridanie alebo odobranie prstupovch prv - pecilne prstupov prva: k (Owner) objektu Oi Di me meni oprvnenia objektu Dj prepnutie z domny Di do domny Dj Control sa d aplikova na domnu Prstupov matica: jej nvrh oddeuje mechanizmus od politiky
Kontrola prstupu
Oracle Solaris 10 poskytuje tzv. Rolebased access control (RBAC) a implementuje model najmench oprvnen alebo vyuva niektor z jeho monost a nastaven
Zruenie oprvnen
Jestvuje viacero monost, ako zrui prstup domny k objektu Okamit vs. odloen (Immediate vs. delayed) (Selective vs. general) (Partial vs. total) (Temporary vs. permanent) Prstupov zoznam (Access List) zmae oprvnenie zo zoznamu iba sa prehad zoznam a vymae sa poloka
Schopnosti (Capability List) Tto schma vyaduje lokalizova schopnos v systme pred jej odobratm zo systmu pravideln mazanie mnoina ukazateov z kadho objektu na vetky schopnosti tohto objektu schopnosti ukazuj do poloky globlnej tabuky, ktor ukazuje na objekt, mae sa poloka z tejto tabuky jedinen bity zviazan so schopnosou, generovan pri vytvoren schopnosti - Hlavn k zviazan s objektom - Zruenie oprvnenia vytvorenie novho hlavnho ka
OS zaloen na schopnostiach
Hydra
pomocnch prv (auxiliary rights) a registrova ich v systme Cambridge CAP System Schopnosti dajov (Data capability) poskytuj tandardn oprvnenia read, write a execute pre objekt sborovho systmu, implementuj sa v mikrokde (Software capability) interpretcia je ponechan na subsystme, pomocou ktorho sa dan procedry chrnia
tonk je uprostred toku dajov, maskuje sa ako odosielate vzhadom na prijmatea a opane Krde sedenia (Session hijacking) Odpovanie u existujceho vytvorenho spojenia obdenm autentizcie
Hrozby programov
Trjske kone (Trojan Horse) funkcionality programu oprvneniami alieho 80% spamu sa doruuje pomocou nakazench systmov Zadn dvierka (Trap/Back Door) bezpenostn kontroly Logick bomby r vyvol bezpenostn incident, ale iba za uritch okolnost Preteenie zsobnka alebo buffera (Stack and Buffer Overflow)
Script kiddies s u niekm napsan kompletn skripty, ktor skaj rzne zranitenosti (polo)automaticky Vrusy Neviditen Keyloggery sa zneuvaj na zhromaovanie hesiel a siel kreditnch kariet ervy (Worms) pouvaj na svoje rozmnoovanie techniku zplavy Skenovanie portov (Port scanning) ozsahu IP adries Zneprstupnenie sluby (Denial of Service) of service DDOS) sa rob z viacerch miest naraz
Kryptografia
Cieom je chrni odosielateov (zdroj) a/alebo prijmateov (cie) sprv (ke keys)
ifrovanie
Ohraniuje mnoinu monch prijmateov sprvy ifrovac (Encryption) algoritmus pozostva z
sprvu na zaifrovan text pomocou tajnho ka k transformuje zaifrovan text na otvoren text sprvy pomocou ka k
Symetrick kryptografia
V roku 2001 NIST prijal nov blokov ifru ako tandard Advanced Encryption Standard (AES) RC4 je najpouvanejou symetrickou prdovou ifrou,ale m ist zranitenosti ifruje/deifruje prd bajtov (naprklad pri wifi komunikcii) - Genertor produkuje nekonen prd bitov, tzv. Keystream
Asymetrick kryptografia
Asymetrick ifrovanie (Public key encryption) je zaloen na tom, e kad pouvate m dva ke: Verejn k (public key) verejne dostupn k uren na ifrovanie dajov Skromn k (private key) tajn k, ktor sli na deifrovanie dajov RSA
Autentizcia - MAC
message authentication code (MAC) sa pouva symetrick kryptografia
Implementcia kryptografie
Me sa robi na rznych vrstvch (layers) ISO sieovho modelu
Prklad: Windows 7
Bezpenos sa zaklad na pouvateskch toch (user accounts) security access token lne privilgi
Na zabezpeenie prstupov pouva model subjektov (subject model) Windows pridva povinn kontrolu integrity prirauje tzv. integrity label