Besturingssysteem en hardware
Leer met meerkeuzevragen over de grens tussen besturingssysteem en hardware, zoals interrupts en exceptions, bevoorrechte modus en systeemaanroepen, paginatabellen en paginafouten, contextwisselingen en virtualisatie.
Besturingssysteem en hardware: kernpunten
Een besturingssysteem (OS) is software waarmee de hardware, zoals de CPU, het geheugen en in- en uitvoerapparaten, veilig door veel programma's kan worden gedeeld. Daarvoor beschikt de CPU over een bevoorrechte modus die alleen het OS kan gebruiken, over interrupts en exceptions en over schakelingen voor het raadplegen van paginatabellen voor virtueel geheugen.
Toepassingen vragen het OS via systeemaanroepen om een taak, het OS schakelt tussen programma's met timerinterrupts (contextwisseling) en zorgt bij een paginafout dat de benodigde pagina in het geheugen komt. U leert hoe hardware en software samenwerken, tot en met apparaatstuurprogramma's, memory-mapped I/O en virtualisatie met een hypervisor.
Alle vragen over Besturingssysteem en hardware (50)
- Wat is het belangrijkste doel van het onderscheid tussen bevoorrechte modus (kernelmodus) en gebruikersmodus in de CPU?
- Hoe heet het mechanisme waarmee een toepassing het besturingssysteem verzoekt bijvoorbeeld een bestand te lezen of te schrijven?
- Wat gebeurt er juist wanneer de laatste ecall-instructie van de bovenstaande RISC-V-code wordt uitgevoerd?
- Welke uitleg van het verschil tussen een interrupt en een exception is gangbaar?
- Welke van de volgende is asynchroon, los van de uitvoering van instructies en op een niet vooraf bekend moment?
- Welk verloop van de verwerking is juist wanneer de CPU een interrupt accepteert?
- Wat is de juiste rol van de interruptvectortabel?
- Waarop moet worden gelet bij het tijdelijk uitschakelen (maskeren) van interrupts tijdens een kritieke bewerking?
- Wat is de juiste reden dat de verwerking van een interrupthandler wordt gesplitst in een kort deel dat direct wordt uitgevoerd en een rest die later in een gewone context wordt uitgevoerd?
- Wat is de juiste rol van de paginatabel?
- In welk geval treedt een paginafout op?
- Welk verloop van de verwerking door het besturingssysteem is juist wanneer toegang tot een naar schijf verdrongen pagina een paginafout veroorzaakt?
- Wat is de belangrijkste reden om de paginatabel meertrapsgewijs (hiërarchisch) in plaats van eentrapsgewijs te maken?
- Hoe groot is een eentraps paginatabel bij 32-bits virtuele adressen, een paginagrootte van 4 KB en 4 byte per paginatabelingang?
- Hoeveel trappen moeten worden doorlopen bij een meertraps paginatabel met 48 bits van het virtuele adres, een paginagrootte van 4 KB en 512 ingangen (9 bits) per tabel?
- Welke combinatie van informatie bevat een paginatabelingang gewoonlijk?
- Welk voordeel van copy-on-write bij het kopiëren van een proces is juist?
- Welke uitleg over demand paging is juist?
- Wat is het doel van de referentiebit van elke pagina in het klokalgoritme (second-chance-algoritme) voor paginavervanging?
- Bij paginavervanging met FIFO kan het aantal paginafouten toenemen terwijl het aantal fysieke pagina's is vergroot. Hoe heet dit verschijnsel?
- Hoe heet de toestand waarin door te weinig fysiek geheugen alleen nog pagina's worden verdrongen en ingelezen en het werk nauwelijks vordert?
- De geheugentoegangstijd is 100 ns en de afhandeling van een paginafout kost 8 ms. Hoeveel bedraagt ongeveer de gemiddelde toegangstijd als eens per miljoen toegangen een paginafout optreedt?
- Wat moet bij een contextwisseling worden opgeslagen voor het proces waarvan wordt overgeschakeld?
- Wat is de belangrijkste reden dat een contextwisseling in de praktijk soms een grotere prestatiedaling veroorzaakt dan de tijd die het opslaan en herstellen van registers kost?
- Welk voordeel is juist van het toevoegen van een ASID (address space identifier) aan elke TLB-ingang?
- Door welk mechanisme kan het besturingssysteem op vaste tijden de CPU terugnemen van een programma dat de CPU niet uit zichzelf afstaat, om naar een ander proces over te schakelen?
- Waarom wordt, wanneer zoals hierboven het statusregister van een apparaat via memory-mapped I/O wordt gelezen, volatile gebruikt en wordt dat gebied ingesteld om niet te worden gecachet?
- In welk geval is polling, waarbij de CPU de status van een apparaat herhaaldelijk controleert zonder interrupts, voordeliger?
- Welke bewerking moet de software uitvoeren voordat de CPU gegevens leest die een apparaat via DMA naar het hoofdgeheugen heeft geschreven, in een systeem waarin hardware de cache niet coherent houdt (niet-coherent)?
- Wat is de juiste hoofdrol van de IOMMU?
- Wat is de juiste rol van een apparaatdriver?
- Wat is de belangrijkste reden dat gangbare besturingssystemen verhinderen dat toepassingen rechtstreeks registers van apparaten lezen en schrijven?
- Hoe heet de software waarmee op één computer meerdere besturingssystemen elk als onafhankelijke virtuele machine tegelijk kunnen draaien?
- Welke uitleg over de typen hypervisor is juist?
- Welke uitleg over de adresvertaling door hardware is juist bij virtualisatie met geneste paginering (tweetraps adresvertaling)?
- Hoeveel geheugentoegangen zijn in het slechtste geval nodig bij een TLB-miss in geneste paginering waarbij zowel gast als host paginatabellen met 4 trappen gebruiken?
- Hoe heet de methode waarbij, wanneer het besturingssysteem van een virtuele machine een instructie met privileges uitvoert, de verwerking naar de hypervisor gaat en die het effect van de instructie namens de machine nabootst?
- Welke uitleg over paravirtualisatie is juist?
- Welk verschil tussen containers en virtuele machines is juist?
- In veel besturingssystemen wordt het kernelgebied toegewezen aan een deel (bijvoorbeeld het hoge bereik) van de adresruimte van elk proces, en wordt toegang vanuit de gebruikersmodus met de beveiligingsbit van de paginatabel verboden. Wat is het belangrijkste voordeel van deze indeling?
- Hoeveel bits van het virtuele adres geven de positie binnen de pagina (offset) aan bij een paginagrootte van 4 KB?
- Welke combinatie van paginanummer en offset binnen de pagina is juist voor het 32-bits virtuele adres 0x00403ABC bij een paginagrootte van 4 KB?
- Welke combinatie van de belangrijkste werkingsmodi die in de privileged architecture van RISC-V zijn vastgelegd is juist?
- Waarom wordt bij terugkeer naar het oorspronkelijke programma na afhandeling van een interrupt of exception een speciale terugkeerinstructie (zoals sret en mret van RISC-V) gebruikt in plaats van een gewone terugkeerinstructie van een functie?
- Welke factor is in een systeem waarin realtime gedrag vereist is het meest geschikt als oorzaak van een grotere interruptlatentie (de tijd van het optreden van een interrupt tot het begin van de handler)?
- Welke uitleg over NMI (non-maskable interrupt) is juist?
- Welke verwerking is juist nodig in een systeem met meerdere cores wanneer het besturingssysteem de paginatabelingang van een pagina wijzigt en de koppeling ongedaan maakt?
- Wat gebeurt er in het algemeen wanneer een programma een adres benadert dat het besturingssysteem niet heeft toegewezen?
- Welke uitleg is juist over wat er gebeurt bij het lezen van de inhoud van een bestand met een mechanisme dat een bestand aan geheugen koppelt (zoals mmap)?
- Wat is de belangrijkste reden dat het sneller is om kleine gegevens eerst in een buffer in de gebruikersruimte te verzamelen en gebundeld weg te schrijven dan bij het byte voor byte wegschrijven telkens een systeemaanroep te doen?
Vergelijkingen bij dit onderwerp
Andere onderwerpen in Computersystemen
- Computerarithmetiek IEEE 754, vaste komma, afrondingsfouten
- Instructieset en assembly RISC-V, adresseringsmodi, aanroepconventies
- Compilers Parsing, SSA, optimalisatie, registertoewijzing
- Linker, loader en uitvoerbare formaten ELF, symbolen, relocatie, dynamisch linken
- Geheugenhiërarchie en prestaties Cache, vervangingsbeleid, drie soorten misses
- Multicore en synchronisatie MESI, atomaire instructies, geheugenbarrières
- GPU-programmeren Warps, gedeeld geheugen, coalescing, occupancy
- AI-hardware en softwarestack Inferentie vs training, kwantisatie, roofline
- Embedded systemen en firmware GPIO, UART/SPI/I2C, RTOS
- Hardwarebeschrijvingstalen en verificatie Verilog, latches, toestandsmachines, testbenches
- Interfaces en busstandaarden PCIe, USB, SerDes, CXL
- Prestatiemeting en profiling Wet van Amdahl, CPI, knelpunten
- Hardwarebeveiliging Side channels, secure boot, TEE, PUF
- Energiebeheer (softwaregestuurd) DVFS, power gating, slaaptoestanden