Prezentace se nahrává, počkejte prosím

Prezentace se nahrává, počkejte prosím

2. přednáška 27. 2. 2014 -přerušení (instrukční cyklus, obsluha) -vztahy mezi tématy -vytváření programu -definice operačního systému -provádění vnořených.

Podobné prezentace


Prezentace na téma: "2. přednáška 27. 2. 2014 -přerušení (instrukční cyklus, obsluha) -vztahy mezi tématy -vytváření programu -definice operačního systému -provádění vnořených."— Transkript prezentace:

1 2. přednáška přerušení (instrukční cyklus, obsluha) -vztahy mezi tématy -vytváření programu -definice operačního systému -provádění vnořených procedur -zásobník, růst zásobníku při dvou procedurách -DMA, multiprogramování Studijní materiály najdete na adrese:

2 - technickými prostředky (vnější), instrukcí INTR nemaskovatelná maskovatelná - programově (vnitřní) instrukcí INT n, chybou při běhu programu - sled činností:uloží se FLAGS vynulují se IF, TF CS do zásobníku do CS obsah hodnoty přerušení IP do zásobníku (neprovedená instrukce) do IP obsah hodnoty přerušení - přerušení se uplatní po provedení instrukce - návrat instrukcí IRET PIC 8259A Přerušení Přerušení (Interrupt) je schopnost procesoru přerušit právě vykonávaný program a začít vykonávat program jiný (obsluha přerušení), začalo se implementovat z důvodu obsluhy periferií (procesor nemusí čekat ve smyčce na pomalé zařízení), dnes je využito při přepínání procesů

3 IRQ0 - systémový časovačIRQ8 – hodiny reálného času IRQ1 - řadič klávesniceIRQ9 – available, NIC, SCSI IRQ2 - sekundární PICIRQ10 – available, NIC, SCSI IRQ3 - COM2, COM4IRQ11 – available, NIC, SCSI IRQ4 - COM1, COM3IRQ12 – myš, PS/2 IRQ5 - LPT2 (zvuková karta)IRQ13 – floating point unit IRQ6 - řadič disketIRQ14 – ATA (CD ROM, HD) IRQ7 - LPT1 (zvuková karta)IRQ15 - ATA IRQ Levels (Interrupt Request) Typ signálu přerušení, které lze maskovat (bit IF – Interrupt Enable Flag v příznakovém registru nastaven na 0), potom se přerušení generované signálem INTR neprovede

4 N+1 T Processor Program counter Stack pointer General registers Y T-M Start Return T T-M Zásobník Přerušovací rutina Y Y+L N N+1 Uživatelský program Main memory Y+L+1 T-M Processor N+1 T Start Return T T-M Zásobník Přerušovací rutina Y Y+L N N+1 Uživatelský program Main memory Vyvolání přerušení po instrukci N Návrat z přerušení

5 Instrukční cyklus s přerušením START HALT 1 2 i i+1 M... INTERRUPT HANDLERUSER PROGRAM FETCH NEXT INSTRUCTION EXECUTE INSTRUCTION CHECK FOR INTERRUPT INITIATE INTERRUPT HANDLER Interrupt disabled Interrupt enabled

6 Obsluha přerušení Sekvenční způsobVnořený způsob Je možné zavádět prioritní obsluhu přerušení Po dobu přerušení je zákaz jiného

7 Časování při vícenásobném přerušení t=0 t=10 t=15 t=25 t=35 t=40 Printer interrupt service routine User program Comunication interrupt service routine Disk interrupt service routine Interrupt occurs = 10Interrupt occurs = 15 Interrupt occurs = 20

8 Důležité vztahy mezi tématy Process description and control Memory management Security Scheduling Concurrency File management I/O management Networking

9 Vytváření programu Idea Algorithm Source Program Binary Program Status Stack Data Files Other Resources Execution Engine Process

10 Algoritmus -determinovanost -rezultativnost -hromadnost -efektivnost - analýza - editace - překlad - sestavení - spuštění Vytváření programu

11 Cíle: použití počítače je pohodlnější a výhodnější, čerpání systémových zdrojů je účinnější, schopnost vývoje ( testování, nové funkce,... ) Funkce: vytváření programů ( editor, debugger ), spouštění programů, přístup na I/O, přístup k souborům, přístup a ochrana systémových zdrojů, detekce chyb, evidence Charakteristiky: souběžnost, sdílení ( cena, sdílená data, vytváření dalších úloh, odstranění redundance ), determinovanost ( stejné výsledky ze stejných dat a kdykoliv ), výkonnost ( střední čas mezi procesy, čas odezvy, čas obrátky, využití zdrojů,... ), spolehlivost, udržovatelnost, velikost Operační systémy

12 - program, který je prostředníkem mezi uživatelem a technickým vybavením - účelem OS je poskytovat uživateli prostředí pro spouštění programů - základní část téměř všech počítačových systémů - správce prostředků (řídí, alokuje, odebírá) – Resource Manager - řídí provádění uživatelských programů a I/O operací – Control Program - program, který vždy běží - Kernel Definice operačního systému

13 Provádění vnořených procedur CALL Proc1 CALL Proc2 RETURN Main program Procedura Proc1 Procedura Proc

14 AA01 SS:0A1A 11AA 3C00 0A18 0A16 0A14 0A12 Vrchol zásobníku SS:0A14 Zásobník - struktura LIFO v operační paměti - instrukce PUSH (vložení), POP (výběr) - výběr řídí registr SP (Stack Pointer) - kapacita zásobníku na programátorovi - používá INT, přerušovací systém, volání podprogramu Dno zásobníku SS:0A1A

15 Typická organizace zásobníku Free In use Stack pointer Stack limit Stack base Blok rezervovaný pro zásobník - pouze jeden element může být dosažen, jedná se o poslední vkládaný záznam – vrchol zásobníku - parametry zásobníku (počáteční adresa, velikost, limit,...) jsou variabilní - Stack Pointer – obsahuje sdresu vrcholu zásobníku, adresa je inkrementována nebo dekrementována operacemi PUSH a POP - Stack Base – obsahuje počátek zásobníku ve vyhrazené oblasti - Stack Limit – obsahuje adresu povoleného vrcholu zásobníku, každá operace PUSH za touto hodnotou vyvolá chybové hlášení

16 Růst zásobníku při dvou procedurách x2 y2 y1 Return adress Previous frame pointer x2 x1 Return adress Previous frame pointer x1 Return adress Previous frame pointer Top of stack pointer Top of stack pointer Current frame pointer Current frame pointer P: Q: aktivní proces Pproces P zavolal proces Q

17 DMA - Direct Memory Access, některá zařízení mají možnost přistupovat k paměťovým přenosům dat bez účasti procesoru, při přenosu mezi pamětí a zařízením by byla velká režie, u blokových přenosů se nepřizpůsobuje rychlost – pouze u paměti, jedna adresová sběrnice – nelze použít adresaci dvou míst současně, specializovaný obvod – řadič DMA, jednoúčelové zařízení s 8 kanály u současných počítačů Direct Memory Access

18 - procesor provádí více programů (procesů) „současně“ - pořadí provádění programů záleží na jejich prioritě, je modifikováno čekáním na nějakou událost (I/O operace) - po přerušení se nemusí pokračovat v programu, který se prováděl před přerušením Multiprogramování - rychlejší přístup – dražší bit - větší kapacita – levnější bit - větší kapacita – pomalejší přístup Paměťová hierarchie


Stáhnout ppt "2. přednáška 27. 2. 2014 -přerušení (instrukční cyklus, obsluha) -vztahy mezi tématy -vytváření programu -definice operačního systému -provádění vnořených."

Podobné prezentace


Reklamy Google