200 likes | 345 Views
NachosX. Ján Procháska Peter Bandzi Andrej Bučka. Témy prezentácie. Vlákna a procesy Caching: TLB a virtuálna pamäť Súborový systém Sieťová komunikácia. Vlákna a procesy. Ciele: Implementácia procesu Implementácia systémových volaní.
E N D
NachosX Ján Procháska Peter Bandzi Andrej Bučka
Témy prezentácie • Vlákna a procesy • Caching: TLB a virtuálna pamäť • Súborový systém • Sieťová komunikácia
Vlákna a procesy Ciele: • Implementácia procesu • Implementácia systémových volaní • Problémy: • Pridelenie adresného priestoru, alokácia fyzickej pamäte • Zabezpečiť prechod z módu jadra (kernel mode) do uživateľského módu (user mode) • Existencia viacerých procesov, podpora multiprogramingu => nutnosť existencie plánovača. • Manažment jednotlivých procesov – tabuľka procesov
Proces • Pid a návratová hodnota • Vlákno zabezpečujúce výkon kódu • (pre multivláknové procesy nutnosť existencie tabuľky vlákien) • Pracovný adresár • StartTime • Ohrada (,,Condition variable’’ slúžiaca • pre systémové volanie Join) • MessageBuffer
Tabuľka procesov • Ukazovatele na jednotlivé procesy • Mechanizmy pre pridelovanie PIDov • (manažment, alokácia a dealokácia) • Podpora prekladu vlákno proces
Vytvorenie procesu Použivateľský program (User Mode) Exec Jadro (Kernel Mode)
Tabuľka procesov Mechanizmus vytvorenia procesu • Vytvorenie triedy proces • Vytvorenie vlákna procesu • Vytvorenie a inicializácia adresného priestoru • Pridelenie identifikačného čísla (PIDu) • Zaradenie procesu do tabuľky procesov • Proces je pripravený na spustenie a je naplánovaný
Caching: TLB a virtuálna pamäť • problémy: • hardvér pracuje s TLB (translation lookaside buffer) => zabezpečiť softvérový manažment • nároky na pamäť presahujúce veľkosť fyzickej pamäte => zaviesť virtuálnu pamäť • prekladové štruktúry: • TLB, page table, core map
Štruktúra core map • Thread *thread; • int virtualPage; • int physicalPage; • bool valid; • bool readOnly; • bool use; • bool dirty; • bool lock;
TLB misses, page faults • 1 swap súbor vs swap.pid súbory • algoritmy výberu obete: • random • clock • Not Recently Used (NRU) – classes • Least Recently Used (LRU) • ...
Súborový systém • štruktúra disku • štruktúra obyčajného súboru • organizácia adresárov • synchronizácia paralelnych požiadaviek na disk • tabuľka otvorených súborov
zvyšovanie výkonnosti disku • zapisovanie súboru na jednu stopu • cache • spracovanie požiadaviek prístupu na disk • hierarchické adresáre
Sieťová komunikácia Problémy: • Implementácia protokolu (ilúzia neobmedzenej dĺžky paketov) • Výber vhodnej ARQ stratégie
Protokol • paket (64 B), mail, mailbox = port • hlavička, dátová časť, obmedzenia (dĺžka, spoľahlivosť) • hlavička protokolu: • číslo paketu • príznak posledného paketu • dĺžka dátovej časti • funkcie: • Send(NetworkAddress to, int portTo, int portFrom, char *data) • Receive(int port, char *data)
ARQ Stratégia základom je Idle RQ Implicitný Paket ACK Paket