1.2 - Computer System Operation (p.6)
- Device Controllers --> Common Bus --> (Memory Controller) --> Shared Memory
- Memory Controller = Eerlijk toegang voor alle aangesloten apparaten.
Opstartvolgorde:
- Start de Bootstrap Program/Firmware (stored in ROM/EEPROM)
- Initaliseer alle aspecten van het systeem. (cpu, device controllers, memory)
- Laad het Operating System 2.Operating system start het eerste process (init) 3.Operating system wacht op een interrupt.
- Door Hardware --> Signaal naar de CPU.
- Door Software --> Uitvoeren van een System/Monitor Call
- Ook wel een Trap genoemd.
Uitvoeren van een interrupt
- CPU ontvangt interrupt.
- Verplaatsen van de uitvoerlocatie naar de code locatie voor het omgaan met de interrupt.
- Interruptcode wordt uitgevoerd.
- Gaan naar een generieke interrupt routine om de interrupt informatie te onderzoeken.
- Verwijzen naar de specifiece interrupt handler.
Na afloop wordt de uitvoerlocatie teruggezet naar waar het bij stap 2 vandaan kwam.
- Dit address werd vroeger op een vaste locatie bewaard (identificeerbaar met de interupt/device)
- Nu wordt dit geplaatst op de system stack.
- Wanneer de interrupt registerwaardes in de cpu verandert moeten deze na afloop van de interrupt ook weer worden teruggezet zoals voor de interrupt.
Verschillende manieren van interruptverwerking in verschillende computers.
- Interrupt Vector = Tabel met een vooraf vastgestelde interrupts en hun verwerkingsadres.
- Mogelijk omdat er maar een vooraf vastgesteld aantal/typen interrupts kunnen plaatsvinden.
- Wordt opgeslagen in de in low memory .1
- Interrupt Vector = Tabel met een vooraf vastgestelde interrupts en hun verwerkingsadres.
Opslag Structuur
- Programmas laden vanaf RAM (Random Access Memory)
- Semiconductor Technologie = DRAM (Dynamic Random Access Memory)
- Bootstrap staat gewoonlijk op ROM (Read Only Memory) of EEPROM (Electry Erasable Programmable Read Only Memory)
- Kan niet vaak worden overschreven.
- Een Opslag heeft een array of words 2
- LOAD = Haalt gegevens uit de opslag en zet deze in een register van de CPU.
- STORE = Plaatst gegevens uit een register van de CPU en zet deze in de opslag.
- Meeste moderne computers zijn gebasseerd op de von Neumann architectuur. 3
- Zowel programmas en data worden opgeslagen in het CPU-geheugen.
- Slaat de uit te voeren instructie op in het instructie-register.
- Ideaal gezien willen we dat de programma en data in het CPU-geheugen blijven. Dit is niet mogelijk omdat:
- Het CPU-geheugen is te klein om alle benodigde programmas/data op te slaan.
- Het CPU-geheugen is volatile , zonder stroom is de data verloren.
- Daarom is er een secondary storage als toevoeging op het CPU-geheugen.
- Hoofdeis: Moet grote hoeveelheden data "permanent" kunnen opslaan.
- Veel gebruikte opslag is een magnetische schijf (HDD)
- Gebruikt voor programmas en data.
- Deze worden pas geladen naar het geheugen als ze nodig zijn.
- Grootste verschillen tussen verschillende opslagmedia:
- Snelheid, kosten, groote, veiligheid.
- Hierarchie kijkend naar snelheid en kosten (van snelste/duurste naar langzaamste/goedkoopste)
- Register > Cache > RAM > SSD (Electronish) > HDD (Magnetish) > CD/DVD (optisch) > Magnetische tapes
- NVRAM sneller dan FLASH
I/O Structuur
- I/O Groot onderdeel OS, vanwege de verschillende soorten apparaten.
- Elk type device controller is verantwoordelijk voor een specifiek type apparaten.
- SCSI = Small Computer Systems Interface
- Verantwoordelijk voor verplaasten van gegevens tussen het systeem en de buffer van de controller.
- Device driver voor iedere device controller.
- Zorgt voor een uniforme interface tussen het apparaat en het OS.
- Interrupt-Driven I/O
- Stappen:
- Device driver laad de goede registers in de device controller.
- De device controller leest deze gegevens en beslist welke actie er genomen moet worden.
- De device controller verplaatst de gegevens van het apparaat naar zijn locale buffer.
- De device controller informeert de device driver dat de operatie is geindigd.
- De device driver geeft de controle terug aan het OS.
- Geeft wanneer toepasselijk de data of een pointer naar de data terug.
- Goed voor kleine hoeveelheden.
- Creert veel overhead
- Stappen:
- Direct Memory Access (DMA)
- Stappen:
- Opzetten van de buffers, pointers en counters voor het IO apparaat.
- Verplaatsen van hele blokken data direct van de buffer naar het geheugen zonder tussenkomst van de CPU.
- Een interrupt wordt gegenereerd per blok data.
- Stappen:
1. NB. Navragen. Geen idee wat dit inhoudt. ↩
2. Een register met een bepaalde grootte. ↩
3. Dat was misschien in 2011 zo, nu is dat de Harvard Architecture (zie CS blok 2.1) ↩
4. Swtich zou je kunnen zien als een rotonde, meerdere autos tegelijk verschillende richtingen op. ↩
5. Bus architectuur is een lange weg waar eigenlijk maar een auto per keer op mag rijden. ↩