1 / 52

Téma 1: Úvod, Technické vybavení

Jiří Lažanský, K13133 lazan@labe.felk.cvut.cz Obsah. O bsah a organizace předmětu Co to je Operační systém Multiprogramování, sdílení času Rozmanitost operačních systémů , historie Základní struktura technického vybavení Procesor a jeho registry Instrukce a jejich vykonávání

Download Presentation

Téma 1: Úvod, Technické vybavení

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Jiří Lažanský, K13133lazan@labe.felk.cvut.czObsah • Obsah a organizace předmětu • Co to je Operační systém • Multiprogramování, sdílení času • Rozmanitost operačních systémů, historie • Základní struktura technického vybavení • Procesor a jeho registry • Instrukce a jejich vykonávání • Vstup a výstup • Režimy práce procesoru • Výjimečné situace, přerušení • Paměti a jejich hierarchie • Ochranné mechanismy Téma 1: Úvod, Technické vybavení Úvod, Technické vybavení

  2. Cíle předmětu O čem tento předmět NENÍ • O konkrétních implementacích konkrétních operačních systémů (OS) na konkrétních hardwarových platformách • Konkrétní implementace pouze jako ilustrace principů • O tvorbě operačních systémů jako celků Jaký JE účel tohoto předmětu • Poznat principy práce OS • Naučit se OS využívat efektivněa bezpečně • Vhodným programováním na uživatelské úrovni lze mnohdy výrazně zefektivnit běh úloh • Uvidíme proč a jak • Při tvorbě složitějších systémů lze narazit na zřídka se vyskytující, o to však nebezpečnější situace Úvod, Technické vybavení

  3. Studijní podklady • Souhrnná literatura v češtině není • Tyto prezentace (stránka předmětu):http://labe.felk.cvut.cz/vyuka/A4B33OSS/ • Cvičení částečně seminární a samostatná práce • Odkaz na cvičení z uvedené stránky • Vedoucí cvičení: RNDr. Petr Štěpán, PhD. • Zkouška: • Výsledky cvičení (až 10 b.) • Test u zkoušky (až 6 b.) • Zadaný příklad/úloha (až 14 b.) • Hodnocení: • ≥ 27 & Minimálně 9 bodů ze cvičení → A (výborně) • 24 – 26 & Minimálně 8 bodů ze cvičení → B(velmi dobře) • 21 – 23 & Minimálně 7 bodů ze cvičení → C(dobře) • 18 – 20 → D(uspokojivě) • 15 – 17 → E (dostatečně) Úvod, Technické vybavení

  4. Literatura • Silberschatz A., Galvin P. B., Gagne G.:Operating System Concepts • http://codex.cs.yale.edu/avi/os-book/OS7/os7c/index.html • Tanenbaum A. S.: Modern Operating Systems • http://www.cs.vu.nl/~ast/books/mos2/ • Stallings W.: Operating Systems: Internals and Design Principles • http://williamstallings.com/OS/OS6e.html • Comer D. E.: Internetworking With TCP/IP Volume 1: Principles Protocols, and Architecture, • http://www.cs.purdue.edu/homes/dec/vol1/vol1_presentation.pdf Úvod, Technické vybavení

  5. A.S. Tanenbaum:Modern Operating Systems Úvod, Technické vybavení

  6. Proč studovat OS? • Pravděpodobně nikdo z nás nebude psát celý nový OS • Proč tedy OS studovat? • Jde o nejrozsáhlejší a nejsložitější IT systémy • Uplatňují se v nich mnohé různorodé oblasti • softwarové inženýrství, • netradiční struktury dat, • sítě, • algoritmy, … • Čas od času je potřeba OS upravit • pak je potřeba operačním systémům rozumět • psaní ovladačů, … • Techniky užívané v OS lze uplatnit i v jiných oblastech • neobvyklé struktury dat, krizové rozhodování, problémy souběžnosti, správa zdrojů, ... • mnohdy aplikace technik z jiných disciplin (např. operační výzkum) • naopak techniky vyvinuté pro OS se uplatňují v jiných oblastech (např. při plánování aktivit v průmyslu) Úvod, Technické vybavení

  7. Co to je Operační systém? (1) • Neexistuje žádná obecně uznávaná definice • OS je programový subsystém fungující jako mezičlánek, který spojuje uživatele a hardware počítače • Úkoly OS: • dohlížet na provádění výpočtů řízených uživatelskými programy • usnadňovat řešení uživatelských problémů • umožnit efektivní využití hardware počítače • učinit počítač snáze použitelný • OS je • správce prostředků– spravuje a přiděluje zdroje systému • řídicí program – řídí provádění ostatních programů • Jádro operačního systému – trvale ‘aktivní’ program • ostatní (tzv. systémové) programy lze chápat jako nadstavbu jádra • aplikační programy jsou vlastně jádrem spouštěné „rutiny“ Úvod, Technické vybavení

  8. Co to je Operační systém? (2) • Několik koncepcí pojmu OS • systémové(jen jádro a s ním související nadstavby) • „obchodní“(to, co si koupíme pod nálepkou OS) • organizační(včetně pravidel pro hladký chod systému) • OS jako rozšíření počítače • Zakrývá komplikované detaily hardware • Poskytuje uživateli „virtuální stroj“, který má se snáze ovládá a programuje • OS jako správce systémových prostředků • Každý program dostává prostředky v čase • Každý program dostává potřebný prostor na potřebných prostředcích Úvod, Technické vybavení

  9. Skladba počítačového systému • Hardware • základní výpočetní zdroje (CPU/procesor, paměť, I/O zařízení) • Operační systém • řídí a koordinuje používání hardware různými aplikačními programy různých uživatelů • Aplikační programy • definují způsoby, jak se zdroje výpočetního systému používají pro řešení uživatelských výpočetních problémů (kompilátory, databázové systémy, video hry, programy účetní správy, rezervace místenek, programovatelný logický automat, ...) • Uživatelé • lidé, stroje (řízení klimatizace budovy), jiné počítače (sítě, distribuované systémy) Úvod, Technické vybavení

  10. Model počítačového systému Uživatel 1 Uživatel 2 Uživatel 3 ... Uživatel n Systémové a aplikační programy Operační systém(jádro) Hardware počítače Překladač Textový editor Počítačová hra Databáze Úvod, Technické vybavení

  11. Různorodost operačních systémů • OS „střediskových“ (mainframe) počítačů • OS datových a síťových serverů • OS multiprocesorových počítačů • OS osobních počítačů a pracovních stanic • OS reálného času (Real-time OS) • Vestavěné OS (tiskárna, pračka, telefon, ...) • OS čipových karet (smart card OS) • ... a mnoho dalších specializovaných systémů Úvod, Technické vybavení

  12. Klasické „střediskové“ počítače (1) • Střediskový počítač – dnes již historický pojem • V současnosti vystupují v jejich rolích podnikové servery • Hlavní rysy „střediskových“ počítačů • Zpravidla děrnoštítkové systémy • Redukce režijního času pro přípravu výpočtů se dosahovalo řazením podobných prací/zakázek (jobs) do dávek – batch • Batch processing, automatizace řazení dávek včetně automaticky předávaného řízení mezi definovanými zakázkami (jobs) • Rezidentní řídicí program – monitor – předává řízení mezi zakázkami; když zakázka končí – řízení se vrací monitoru • Multiprogramní režim činnosti – na primitivní úrovni (aspoň z dnešního pohledu) Úvod, Technické vybavení

  13. Klasické „střediskové“ počítače (2) Historický systém dávkového zpracování • Operátor přinesl děrné štítky k IBM 1401 • Zde vznikla tzv. „dávka“ (in-spooling) • Na IBM 7094 proběhlo vlastní zpracování • Výstupní IBM 1401 poslal výsledky na tiskárnu (out-spooling) • Spooling se samozřejmě používá i v nejmodernějších systémech Úvod, Technické vybavení

  14. OS implementující multiprogramování (1) • Funkcionalita pro ovládání I/O • Řízení operací provádí výhradně operační systém • Dva režimy práce CPU (jádro vs. uživatel) →privilegované instrukce • Funkcionalita pro správu paměti • Systém musí být schopný přidělovat paměť různým zakázkám a ze zakázek odvozeným procesům dynamicky přidělovat paměť • Dvojí pohled na paměť • z hlediska její fyzické konstrukce a šířky fyzických adresovacích sběrnic – fyzický adresní prostor, FAP • z hlediska konstrukce adresy ve strojovém jazyku – logický adresní prostor, LAP • Ochrana oblastí paměti před neautorizovaným přístupem Úvod, Technické vybavení

  15. OS implementující multiprogramování (2) • Mechanismus přerušení • předávání řízení mezi aplikačním programem a „monitorem“ → implementace reakcí na asynchronní události • OS je systém řízený přerušeními • Plánování práce CPU • reaguje se na generátor časových značek (timer) – po uplynutí daného intervalu generuje přerušení • ochrana proti trvalému obsazení CPU uživatelským procesem (záměrně, chybou, ...) • OS musí být schopen volit mezi různými výpočetními procesy připravenými k činnosti • Funkcionalita pro přidělování zařízení (systémových zdrojů) • dynamické přidělování • přidělování exklusivní či sdílené Úvod, Technické vybavení

  16. Systémy s přidělováním časových kvant • Tzv. Time-Sharing Systems (TSS) • Multiprogramování vzniklo jako nástroj pro efektivní řešení dávkového zpracování • TSS rozšiřují plánovací pravidla • o rychlé (spravedlivé, cyklické ) přepínání mezi procesy řešícími zakázky interaktivních uživatelů • Podpora on-line komunikace mezi uživatelem a OS • původně v konfiguraci počítač –terminál • v současnosti v síťovém prostředí • Systém je uživatelům dostupný on-line jak pro zpřístupňování dat tak i programů Úvod, Technické vybavení

  17. Osobní (personální) počítače – PC • Typicky orientované na jednoho uživatele • v současné době ale vesměs s multiprogramováním (multitaskingem) • Typizované I/O vybavení • klávesnice, myš, obrazovka, malá tiskárna, komunikační rozhraní • Upřednostňovaným cílem je uživatelovo pohodlí • minimum ochran – hlavní roli hraje odpovědnost uživatele • často se nevyužívají ochranné vlastnosti CPU • OS PC často adoptují technologie vyvinuté pro OS větších počítačů • Mnohdy lze provozovat různé typy operačních systémů • M$ Windows , UNIXy,Linux ... Úvod, Technické vybavení

  18. Paralelní a distribuované systémy • Paralelní systémy • více procesorů (tzv. multiprocesory) • sdílí společný FAP • všechny procesory mohou „současně” vidět stav paralelně řešenéúlohy udržovaný ve sdíleném FAP • paralelní systémy jsou řízeny paralelními algoritmy • někdy též „těsně vázané“ systémy (tightly-coupled systems) • Distribuované systémy • více počítačů (ne nutně shodných) • každý má samostatný FAP • komunikují periferními operacemi (komunikační spoje, síť) • stav distribuovaně řešené úlohy si musí každý zúčastněný počítač postupně získávat výměnou zpráv řízenou distribuovanými algoritmy • někdy též „volně vázané“ systémy (loosely-coupled systems) Úvod, Technické vybavení

  19. Paralelní systémy • Zvyšují propustnost a spolehlivost při rozumných nákladech na výpočetní systém • Multiprocesorové systémy • systémy s více procesory vzájemně komunikujícími vnitřními prostředky jednoho výpočetního systému (např. společnou sběrnicí) • Nesymetrický multiprocesing • každý procesor má přidělený specifický úkol • hlavní (master) procesor plánuje a přiděluje práci podřízeným (slave) procesorům • Symetrický multiprocesing (SMP) • podporován většinou soudobých OS • současně může běžet více procesů na různých CPU • kterýkoliv proces (i jádro OS) může běžet na kterémkoliv procesoru Úvod, Technické vybavení

  20. Distribuované systémy • Rozdělení výpočtů mezi více počítačů propojených sítí • lze sdílet zátěž (load-sharing), výpočty se tím zrychlují i za cenu vyšší režie spojené s komunikací • zvyšuje se spolehlivost a komunikační schopnosti • každý samostatný procesor má svoji vlastní lokální paměť • vzájemně se komunikuje pomocí přenosových spojů (sítě) mechanismem výměny zpráv • Vynucují si použití vhodné síťové infrastruktury • LAN, Local Area Networks • WAN, Wide Area Networks • Klasifikace • asymetrické distribuované systémy – klient-server • symetrické distribuované systémy – peer-to-peer • OS: • Distribuovaný OS vs. síťový OS Úvod, Technické vybavení

  21. Paralelní a distribuované systémy ... CPU CPU CPU Těsně vázaný multiprocesorový systém Sběrnice Paměť ... Klient Klient Klient Klient Distribuovaný systém typu klient-server Síťová infrastruktura Server Úvod, Technické vybavení

  22. Real-Time systémy (RT systémy) • Zpravidla řídicí zařízení v dedikovaných (vestavěných) aplikacích: • vědecký přístroj, diagnostický zobrazovací systém, systém řízení průmyslového procesu, monitorovací systémy • Obvykle dobře definované pevné časové limity • Klasifikace: • striktní RT systémy – Hard real-time systems • omezená nebo žádná vnější paměť, data se pamatují krátkodobě v RAM paměti • protipól TSS, univerzální OS nepodporují striktní RT systémy • plánování musí respektovat požadavek ukončení kritického úkolu v rámci požadovaného časového intervalu • tolerantní RT systémy – Soft real-time systems • použití např. v průmyslovém řízení, v robotice • použitelné v aplikacích požadujících dostupnost některých vlastností obecných OS (multimedia, virtual reality, video-on-demand) • kritické úkoly mají přednost „před méně šťastnými” Úvod, Technické vybavení

  23. Kapesní systémy • Handheld Systems, Personal Digital Assistants (PDA) • Charakteristiky: • Požadavek energetické úspornosti => Pomalé procesory • Omezená kapacita paměti • Zpravidla malý display • Potřeba multiprogramování, avšak obvykle bez sdílení času • Mobilní telefony • Navíc podpora síťových komunikačních protokolů • Softwarové modemy Úvod, Technické vybavení

  24. Základní komponenty osobního počítače Úvod, Technické vybavení

  25. Komponenty univerzálního počítače Tiskárny Disky Měnič DVD-RW disků Řadič disků Řadičtiskáren Řadič měničeDVD CPU Systémová sběrnice Jednotka správy paměti (MMU) Hlavní paměť Úvod, Technické vybavení

  26. Souvislost operací I/O a CPU • I/O = to co se děje mezi lokální vyrovnávací pamětí řadiče a vlastní fyzickou periferií • I/O zařízení (periferie) a CPU by měly pracovat souběžně • řádově odlišné rychlosti • každý řadič zařízení má lokální vyrovnávací paměť, buffer • Každý řadič zařízení je odpovědný za činnost zařízení jistého typu • periferie jsou velmi rozmanité • Přesun dat mezi operační pamětí a lokální vyrovnávací pamětí periférie • zajišťuje CPU programovými prostředky (tzv. programový kanál) • specializovaný hardware (tzv. DMA kanál) • Řadič zařízení informuje CPU o ukončení své činnosti přerušením Úvod, Technické vybavení

  27. Sběrnicový pohled na počítač Úvod, Technické vybavení

  28. Centrální jednotka počítače (CPU) Základní pohled na nejdůležitější komponenty centrální jednotky počítače Úvod, Technické vybavení

  29. Registry procesoru • Uživatelské registry • Uživatelsky viditelné (programově dostupné) registry • Umožňují vlastní programování a zpracování dat • Obsahují data, adresy a podmínkové kódy • Řídicí a stavové registry • Obecně nedostupné uživatelským procesům • Procesor modifikuje svoji činnost jejich obsahem (řídicí) a vykazuje v nich svůj stav (stavové) • Některé z nich používá CPU pro řízení práce programů • Program Counter(PC) – adresa získávané instrukce (někdy též Instruction Pointer = IP) • Instruction Register(IR) – kód instrukce přečtené z paměti • Program Status Word(PSW) – obsahuje: Bity podmínkových kódu a stavu (např. vlastnosti výsledku předchozí operace) Interrupt enable/disable bit System (kernel, supervisor)/User mode bit  Úvod, Technické vybavení

  30. Uživatelské registry • Uživatelské registry • Dostupné běžnými strojovými instrukcemi • Používány všemi programy (tj. aplikačními i systémovými) • Typy uživatelských registrů • Datové – většinou univerzální použití • Adresní • Obecné adresní • Bázové registry • Segmentační registry • Indexní registry – obsahují relativní adresy • Ukazatel zásobníku (Stack pointer) • Příklady instrukcí: move.l D0,(A4)+(MC 680*0)add.b (A1,D3),D0 Úvod, Technické vybavení

  31. Základní instrukční cyklus CPU Přípravný cyklus Výkonný cyklus Instrukce stop Nahrát instrukci Vykonat instrukci START STOP • Přípravná fáze (fetch cycle) • nahrává do procesoru instrukci podle PC a umístí její kód do IR • na jejím konci se (zpravidla) inkrementuje PC • Výkonná fáze (execute cycle) • vlastní provedení instrukce • může se dále obracet (i několikrát) k paměti loop: FETCH; /* ((PC)) → IR */ Increment(PC); EXECUTE; /* proveď operaci dle (IR) */ end loop Úvod, Technické vybavení

  32. Přerušení • Přerušení normální posloupnosti provádění instrukcí • cílem je zlepšení účinnosti práce systému • je potřeba provést jinou posloupnost příkazů jako reakci na nějakou „neobvyklou” událost • přerušující událost způsobí, že se pozastaví běh procesu v CPU takovým způsobem, aby ho bylo možné později znovu obnovit, aniž by to přerušený proces „poznal“ • Souběh I/O operace • Přerušení umožní, aby CPU prováděla jiné akce než instrukce programu čekajícího na konec I/O operace • Činnost CPU se později přeruší iniciativou „I/O modulu” • CPU předá řízení na obslužnou rutinu přerušení (Interrupt Service Routine) – standardní součást OS • CPU testuje nutnost věnovat se obsluze přerušení alespoň po dokončení každé instrukci • existují výjimky (např. „blokové instrukce“ Intel) Úvod, Technické vybavení

  33. Cyklus CPU s přerušovacím systémem Přípravný cyklus Výkonný cyklus Přerušovací cyklus Vektor přerušení Ne Přerušeni zakázána Adresy obslužných podprogramů. Vektor indexován zdrojem přerušení Existuje žádost o přerušení? Nahrát instrukci Vykonat instrukci Ano START Přerušeni povolena STOP • Je nevyřízená žádost o přerušení, a přerušení je povoleno • spustí se obslužný podprogram přerušení, jehož adresa se získá z vektoru přerušení INTF: Boolean:=False; /* Při žádostí o přerušení → True */ loop: FETCH; Increment(PC); EXECUTE; if INTF then Ulož PSW do PSWbf; Do PSW vygeneruj slovo s indikací System mode aInterrupt disabled; Ulož PSWbf na vrchol zásobníku; Ulož PC na vrchol zásobníku; Do PC zaveď obsah příslušné položky vektoru přerušení end loop Aktivity při zpracování přerušení Úvod, Technické vybavení

  34. Výjimky a jejich třídy • Přerušení je speciálním případem výjimečné situace • Synchronní (s během programu) • Programové (naprogramované) • speciální instrukce (INT, TRAP) • Generované kontrolními obvody počítače: • aritmetické přetečení, dělení nulou • pokus o vykonání nelegální či neznámé instrukce • neoprávněný pokus o přístup k paměťové lokaci (narušení ochrany paměti, virtuální paměť) • Asynchronní (přicházející zvenčí – klasické přerušení) • I/O, časovač, hardwarové problémy (např. výpadek napájení ...) • Kdy se na výjimečné situace reaguje? • Standardní přerušení: Po dokončení instrukce během níž vznikl požadavek • Výjimka vysoké úrovně: Během provádění instrukce (po dokončení některé fáze provádění instrukce) – instrukci nelze dokončit • Kritická výjimka: Nelze dokončit ani cyklus přenosu dat a je nutno reagovat neprodleně Úvod, Technické vybavení

  35. Organizace I/O – 2 způsoby obsluhy • I/O operace: • Zpravidla přenos sekvence údajů • Přenos dat z I/O zařízení do OP – vstup • Přenos dat z OP do I/O – výstup • Dva způsoby obsluhy • S aktivním čekáním (busy waiting) • v systémech bez řízení IO pomocí OS • žádné souběžné zpracovává ní I/O, nedořešený zůstává nejvýše jeden I/O požadavek • program testuje konec IO operace opakovanými dotazy na příslušný stavový registr IO zařízení • S přerušením a OS řízeným souběžným prováděním • v systémech s řízením IO pomocí OS • souběžné zpracovává ní I/O s během programu(ů) • I/O operaci zahajuje OS na žádost z uživatelské ho procesu • uživatelský proces čeká na dokončení I/O operace – synchronní řešení I/O • uživatelský proces nečeká na dokončení I/O operace – asynchronní řešení I/O, může běžet souběžně s I/O operací Úvod, Technické vybavení

  36. Synchronní operace Obvyklé řešení Asynchronní operace Obtížné programování Výstup – relativně schůdné Vstup: Více vyrovnávacích pamětí („houpačka“) Synchronní a asynchronní I/O operace Proces požadující I/O Oznámení o ukončení I/O operace Proces požadující I/O čeká Událost ukončující čekáni Uživat. pracuje Ovladač periferie Ovladač periferie Obslužná rutina přerušení Obslužná rutina přerušení Hardware Datový přenos Systém. Hardware Datový přenos Čas Čas Synchronní operace Asynchronní operace Úvod, Technické vybavení

  37. I/O s aktivním čekáním • CPU zahajuje elementární přenos údajů a v „dotazovací smyčce“ čeká na připravenost dat • Jednoduché • Velmi neefektivní (až na zcela výjimečné případy) • Použitelné jen v primitivních systémech bez multiprogramování Úvod, Technické vybavení

  38. Programový I/O s přerušením • CPU inicializuje elementární přenos a věnuje se jiné činnosti • Když je údaj připraven, adapter ZVV vyvolá přerušení • Obslužná rutina přenese data mezi DBR a pamětí • Pružné – data lze při přenosu upravovat • Relativně pomalé, účast CPU, řízeno programem • Jen pro ZVV schopná práce v režimu start-stop • Zařízení schopná pozastavit přenos dat kdykoliv a na libovolně dlouhou dobu beze ztrát Úvod, Technické vybavení

  39. Přímý přístup do paměti- DMA Paměť Řadičdisků CPU • Určeno pro blokové přenosy dat vysokou rychlostí • I/O přenosy se uskutečňují bez přímé účasti procesoru mezi periferním zařízením a pamětí • Procesor dovolí I/O modulu přímo číst z nebo zapisovat do operační paměti – kradení cyklů (cycle stealing) • Procesor zadá jen velikost a umístění bloku v paměti a směr přenosu • Přerušení se generuje až po dokončení přenosu bloku dat Úvod, Technické vybavení

  40. I/O operace s přímým přístupem do paměti • CPU zadá parametry přenosu DMA jednotce • Přenos probíhá autonomně bez účasti CPU • DMA vyvolá přerušení po ukončení přenosu bloku (nebo při chybě) • Obslužná rutina pouze testuje chybový stav a informuje OS, že přenos skončil Úvod, Technické vybavení

  41. Režimy práce procesoru Speciální instrukce S U Jakékolivpřerušenívč. synchronního • Dva režimy práce procesoru • Základ hardwarových ochran • Systémový = privilegovaný režim • procesor může vše, čeho je schopen • Uživatelský = aplikační (ochranný) režim • privilegované operace jsou zakázány • Privilegované operace • ovlivnění stavu celého systému (halt, reset, Interrupt Enable/Disable, modifikace PSW, modifikace registrů MMU ) • instrukce pro vstup/výstup (in, out) • Okamžitě platný režim je zachycen v PSW (S-bit) • Přechody mezi režimy • Po zapnutí systémový režim Úvod, Technické vybavení

  42. Vícenásobná přerušení • Sekvenční zpracování • během obsluhy jednoho přerušení se další požadavky nepřijímají (pozdržují se) • jednoduché, ale nevhodnépro časově kritické akce • Vnořené zpracování • prioritní mechanismus • přijímají se přerušení s prioritou striktně vyšší, než je priorita obsluhovaného přerušení Úvod, Technické vybavení

  43. Postup přijímání přerušení(1) • Žádost se vyhodnotí na přípustnost (priority přerušení) • Procesor přejde do zvláštního cyklu • Uschová se obsah stavového slova procesoru (PSW). • Do PSW se vygeneruje "syntetické" stavové slovo s nastaveným S-bitem. Nyní je CPU v privilegovaném režimu • Uschované původní PSW uloží na zásobník. Na zásobník se uloží i čítač instrukcí PC (tzv. rámec přerušení). • PC se nahradí hodnotou z vektoru přerušení, indexovaného zdrojem přerušení. Úvod, Technické vybavení

  44. Postup přijímání přerušení(2) • Procesor přechází do normálního režimu práce a zpracovává obslužnou rutinu přerušení • Obslužná rutina musí být transparentní • Obslužnou rutinu končí instrukce „návrat z přerušení“ (IRET, RTE) mající opačný efekt: z vrcholu zásobníku vezme položky, které umístí zpět do PC a PSW • Při vhodném naformulování položek na vrcholu systémového zásobníku se instrukce návratu z přerušení používá pro přechod ze systémového do uživatelského režimu Úvod, Technické vybavení

  45. Hierarchie pamětí (1) Typická přístupová doba Typická kapacita 1 ns < 1 KB Registry 3 ns < 16 MB Cache 50 ns 32 MB – 8 GB Hlavní paměť 10 ms 5 – 400 GB Pevný magnetický disk 100 s 20 – 1000 GB Magnetická páska • Hierarchie pamětí z pohledu rychlosti a kapacity • uvedená čísla představují pouze hrubá přiblížení • směrem dolů klesá rychlost i „cena za 1 bit“ • Typy prvků používaných v hlavní paměti • RAM, ROM, EEPROM, CMOS-RAM Energeticky závislé (volatile) Energeticky nezávislé (persistent) Úvod, Technické vybavení

  46. Hierarchie pamětí (2) • Typické údaje Úvod, Technické vybavení

  47. Caching, cache paměti (1) Hlavní paměť Blokové přenosy Jednoslovní přenosy Cache CPU Cache CPU • Caching je princip používaný v OS velmi často • části obsahu pomalejší paměti s vyšší kapacitou jsou podle potřeby dočasně kopírovány do paměti rychlejší • Mezipaměť ležící mezi CPU a hlavní pamětí • Transparentní pro operační systém i pro programátora • Je mnohem rychlejší než operační (hlavní) paměť • Mikroprogramem řízené kopírování informací z hlavní paměti do cache paměti po blocích • Princip časové a prostorové lokálnosti běžných programů • Problém udržení konzistence více kopií těchže dat v multiprocesorových systémech Úvod, Technické vybavení

  48. Caching, cache paměti (2) • Velikost cache • čím větší, tím častěji se najdou požadovaná data v cache, ale také roste cena • Velikost přenosového bloku – kompromis: • velké bloky = dlouhé přenosy • malé bloky = časté přenosy • Mapovací funkce • kam přijde blok do cache • Nahrazovací algoritmus: • určuje, který blok v cache bude nahrazen • Least-Recently-Used (LRU) algoritmus • Analogie • hardwarově realizované principy původně vyvinuté pro virtuální paměť Úvod, Technické vybavení

  49. Struktura diskové jednotky • Třírozměrná adresa bloku: cylindr, povrch, sektor • Moderní LBA (lineární adresování bloků) Úvod, Technické vybavení

  50. Bezpečnostní mechanismy v hardware • Základní opatření • Dva režimy práce procesoru(ů)  • Vstup a výstup: Povinné a uživatelským režimem vynucené volání služeb OS • I/O instrukce jsou privilegované • Uživatelský program nikdy nesmí získat možnost práce v privilegovaném režimu • Např. nesmí mít možnost zapsat do PSW a změnit tak režim práce CPU (S-bit) • Rovněž přístupy k vektoru přerušení musí být v uživatelském režimu zakázány 11 kroků k provedení služby read (fd, buffer, nbytes) Úvod, Technické vybavení

More Related