- Het hoofdgeheugen bevat gegevens en programma’s? Dit geheugen is meestal vluchtig. Hoofdgeheugen wordt ook wel reëel of primair geheugen genoemd.
- I/O-modules verplaatsen gegevens tussen de computer en zijn externe omgeving. De externe omgeving bestaat uit uiteenlopende apparaten zoals secundair geheugen, diskettes, communicatieapparatuur en werkstations.
- De systeembus verzorgt de communicatie tussen de processors, het hoofdgeheugen en de I/O-modules.
1.2 Definieer de twee belangrijkste categorieën processorregisters.
- Registers die zichtbaar zijn voor de gebruiker: bieden de programmeur om in machine- of assembleertaal verwijzingen naar het hoofdgeheugen te minimaliseren door registergebruik te optimaliseren.
- Stuur en statusregisters: worden gebruikt door de processor voor het besturen van de werking van de processor en door geprivilegieerde routines van het besturingssysteem.
1.3 Wat zijn, in algemene termen, de vier te onderscheiden acties die een machine-instructie kan specificeren?
- Processorgeheugen: gegevens kunnen worden overgebracht van de processor naar het geheugen of van het geheugen naar de processor
- Processor-I/O: gegevens kunnen worden uitgewisseld met een randapparaat door ze over te sturen tussen de processor en een I/O-module.
- Gegevensverwerking: de processor kan een rekenkunde of logische bewerking uitvoeren op gegevens
- Besturing: een instructie kan de volgorde van uitvoering wijzigen. Bv in instructie 149 staat dat er naar 182 moet gesprongen worden.
1.4 Wat is een interrupt?
Een interrupt is feitelijk een onderbreking. Hiermee kan de processor andere instructies uitvoeren terwijl een tragere bewerking aan de gang is. Als deze bewerking gedaan is, stuurt het betreffende apparaat een interrupt, waardoor de processor weet dat hij verder kan gaan met bv de I/O.
1.5 Op welke manier worden de verschillende interrupts afgehandeld?
Indien bedoeld bij meervoudige interrupts:
o Uitschakelen van interrupts terwijl er een interrupt wordt verwerkt, na afhandeling doet de processor deze
o Nesten van interrupts: als er een interrupt bezig is, en er komt een nieuwe aan, met een hogere prioriteit, dan wordt deze genest, hierna wordt er verder gegaan met de eerste.
1.6 Welke kenmerken onderscheiden de verschillende elementen van een geheugenhiërarchie?
Als men van boven naar onder de hiërarchie doorloopt, gebeurd het volgende:
a. De kosten per bit dalen
b. De capaciteit neemt toe
c. De toegangstijd neemt toe
d. De frequentie van de processortoegang tot het geheugen neemt af
1.7 Wat is cachegeheugen?
Een klein, snel geheugen tussen de processor en het hoofdgeheugen. Het bevat een klein gedeelte van het hoofdgeheugen dat hierdoor veel sneller bereikbaar is. De cache werkt dus als een buffer tussen het hoofdgeheugen en de processor, waarmee een intern geheugen ontstaat met 2 niveaus, Dit geeft betere prestaties dan met 1 niveau. (Dankzij lokaliteit).
1.8 Benoem en beschrijf beknopt drie technieken voor I/O-bewerkingen.
Geprogrammeerde I/O: Processor doet oproep voor I/O-bewerking, I/O-module geeft echter geen waarschuwing wanneer deze klaar is, de processor zal zelf periodiek moeten kijken of de module al klaar is. Instructieset bevat daarom volgende categorieën:
o Besturen: extern apparaat activeren en vertellen wat het moet doen
o Status controleren
o Lezen en schrijven
Tijdverslinden proces dat de processor onnodig bezighoudt
- Interruptgestuurde I/O: Processor geeft opdracht voor I/O en gaat dan verder met iets anders, wanneer I/O-module klaar is, stuurt de module een interrupt, processor voert dan de gegevensoverdracht uit en hervat de vorige verwerking.
Dit is efficiënter doordat de processor niet meer nodeloos moet wachten, maar het verbruikt nog steeds veel processortijd.
- Directe geheugentoegang (DMA): De processor geeft een opdracht tot I/O, de DMA-module handelt de bewerking verder af zonder tussenkomst van de processor. Als dit klaar is stuurt de DMA-module een interrupt naar de processor. De processor is dus enkel betrokken bij het begin en het einde.
Hoofdstuk 2
2.1 Wat zijn de drie doelen van een ontwerp van een besturingssysteem?
- Gemak: het maakt een computer makkelijker te gebruiken.
- Efficiëntie: dankzij een besturingssysteem kunnen de systeembronnen efficiënt gebruikt worden
- Flexibiliteit: Een besturingssysteem moet zo zijn gemaakt dat het ontwikkelen, testen en introduceren van nieuwe systeemfuncties zo goed mogelijk is.
2.2 Wat is de kernel van een besturingssysteem?
De nucleus, dit bevat de meest gebruikte functies in het besturingssysteem. Bevindt zich in het hoofdgeheugen.
2.3 Wat is multiprogrammering?
Meerdere programma’s in het geheugen laden, en wanneer er een programma wacht op I/O, overschakelen naar een ander.
2.4 Wat is een proces?
- Een programma dat wordt uitgevoerd
- Een geactiveerd programma dat op een computer draait
- De entiteit die kan worden toegewezen aan en worden uitgevoerd door een processor
- Een eenheid van activiteit die wordt gekenmerkt door een enkelvoudig e, sequentiële verwerking (thread), een actuele toestand en een aantal bijbehorende systeembronnen
2.5 Hoe wordt de uitvoeringscontext van een proces door het besturingssysteem gebruikt?
Het wordt apart gehouden van het proces zelf. Hierin zitten bv registerinhouden.
2.6 Benoem en beschrijf beknopt vijf opslagmanagementverantwoordelijkheden van een standaardbesturingssysteem.
- Procesisolatie: Het besturingssysteem moet voorkomen dat onafhankelijke processen elkaars geheugen, gegevens of instructies, verstoren.
- Automatische toewijzing en beheer. Programma’s moeten waar nodig dynamisch worden verdeeld over de geheugenhiërarchie
- Ondersteuning voor modulair programmeren.
- Bescherming en toegangsbeheer. Door et delen van geheugen ontstaat de mogelijkheid dat een programma de geheugenruimte van een ander programma adresseert. Soms is dit gewenst, soms brengt het de stabiliteit in gevaar. Het besturingssysteem moet toestaan dat gedeelten van het geheugen op verschillende manieren toegankelijk zijn.
- Langetermijnopslag. Veel gebruikers en toepassingen vereisen middelen voor het opslaan van informatie gedurende langere perioden.
2.7 Bespreek het verschil tussen een reëel en virtueel adres?
Het virtuele adres wordt door het proces gebruikt om een woord aan te spreken, het bestaat uit een paginanummer en de offset. Het reëele adres is het eigenlijke adres binnen het geheugen.
2.8 Beschrijf de round-robin schedulingtechniek.
Alle processen in een wachtrij krijgen om beurten wat tijd van de scheduler.
2.9 Bespreek het verschil tussen een monolithische kernel en een microkernel.
Monolytische kernel is één kolossale kernel, deze verzorgt het overgrote deel van de functionaliteit van een besturingssysteem. Dit is meestal ook maar één groot proces met gedeelde adresruimte. Een microkernel is een kleine kernel die slechts enkele essentiële functies bevat, de andere diensten worden verzorgd door processen (of servers) die worden uitgevoerd in gebruikersmodus en worden behandeld zoals elk ander proces.
2.10 Wat is multithreading?
Een techniek waarbij een proces dat een toepassing uitvoert, wordt verdeeld in draden (threads) die tegelijkertijd kunnen uitgevoerd worden.
Een thread omvat een context (programmateller, registers,..) en een eigen gegevensruimte. Een thread wordt sequentieel uitgevoerd.
Een proces is een verzameling van een of meer threads.
Hoofdstuk 3
3.1 Wat is een instructiespoor?
De volgorde van instructies die voor een proces worden uitgevoerd
3.2 Welke algemene gebeurtenissen geven aanleiding tot het creëren van een proces?
- Nieuwe batchtaak
- Interactieve aanmelding (logon)
- Gecreëerd door het besturingssysteem om een dienst te verzorgen
- Verwekt door een bestaand proces
3.3 Geef een korte definitie van iedere toestand in het procesmodel van figuur 3-6.
- Actief (running): proces wordt uitgevoerd
- Gereed (ready): proces dat meteen uitgevoerd kan worden als het de gelegenheid krijgt
- Geblokkeerd (blocked) een proces dat niet uigevoerd kan worden totdat een bepaalde gebeurtenis optreedt
- Nieuw (new): een proces dat onlings is gecreeerd maar nog niet door het systeem is toegevoegd aan de verzameling met uitvoerbare processen
- Einde (exit): een proces dat door het besturingssysteem wordt ontslagen uit de groep uitvoerbare processen
3.4 Wat wordt bedoeld met het preëmptief onderbreken van een proces?
Een proces keert terug van kernelmodus naar gebruikersmodus maar de kernel onderbreekt het preemptief* om een proces met hogere prioriteit dat gereed staat in te roosteren. Ten opzichte van het toedelen (dispatching) vormen de processen in de twee toestanden preempted en ready to run in Memory echter één wachtrij.
preemptief: zonder dat het volledig is uitgevoerd of moet wachten op een gebeurtenis
3.5 Wat betekent het begrip swappen en wat is het doel ervan?
Het verplaatsen van een deel of het geheel van een proces van het hoofdgeheugen naar schijf.
Om plaats in het hoofdgeheugen vrij te maken door geblokkeerde processen naar de schijf te verplaatsen en deze dan de status opgeschort (suspended) mee te geven.
3.6 Waarom bevat figuur 3-9 twee geblokkeerde toestanden?
Er is een geblokkeerde toestand die nog in het hoofdgeheugen zit, de andere is al geswapped, en bevindt zich nu op de schijf.
3.7 Geef vier kenmerken van een opgeschort proces.
- Het proces is niet onmiddellijk beschikbaar voor uitvoering
- Het proces kan al of niet wachten op een gebeurtenis.
- Het proces werd in de toestand Opgeschort geplaatst door het proces zelf of door een ander om de uitvoering van het proces te verhinderen
- Het proces kan deze toestand niet verlaten tenzij een ander hiervoor expliciet een opdracht geeft
3.8 Voor welke soorten entiteiten houdt het besturingssysteem informatietabellen bij vanuit beheersoverwegingen?
- Geheugen
- I/O
- Bestand
- Proces
3.9 Geef drie algemene informatiecategorieën in een procesbesturingsblok.
Procesidentificatie
Processortoestandinformatie
Registers
stack
Procesbesturingsinformatie
o Toestand
o prioriteit
3.10 Waarom zijn twee verwerkingsmodi (gebruiker en kernel) nodig?
Het besturingssysteem en de belangrijkste tabellen van het besturingssysteem, zoals de procesbesturingsblokken moeten beschermd worden tegen verstoringen door gebruikersprogramma’s. In de kernelmodus heeft de software volledige controle over de processor en alle bijbehorende instructies, registers en geheugen. Dit is niet gewenst voor gebruikersprogramma’s.
3.11 Welke stappen voert het besturingssysteem uit bij het creëren van een nieuw proces?
Het besturingssysteem wijst een unieke procesidentificatie toe aan het nieuwe proces.
Het besturingssysteem wijst ruimte toe aan het proces
Het procesbesturingsblok moet worden geïnitialiseerd
De juiste koppelingen moeten worden ingesteld
Soms moeten andere gegevensstructuren worden gemaakt of uitgebreid
3.12 Wat is het verschil tussen een interrupt en een val (trap)?
Interrupt wordt veroorzaakt door een of andere gebeurtenis die zich buiten het actieve proces bevindt en daarvan onafhankelijk is, bv voltooiing I/O
Val hangt samen met een fout of uitzonderingsconditie die wordt gegenereerd binnen het actieve proces zelf, bv ongeldige poging tot bestandstoegang
3.13 Geef drie voorbeelden van een interrupt.
- Klokinterrupt: Proces heeft maximaal toegestane uitvoeringstijd benut
- I/O-interrupt: Een I/O actie is opgetreden. Indien dit een gebeurtenis is waar ene proces op wacht, wordt dit proces van geblokkeerd naar gereed veranderd
- Geheugenfout: Processor krijgt een verwijzing naar een woordadres in het virtuele geheugen dat zich niet in het hoofdgeheugen bevindt. Processor geeft opdracht tot overzetten van secundair naar hoofdgeheugen en gaat dan verder met een ander proces. Als het overzetten klaar is, komt er een interrupt.
3.14 Wat is het verschil tussen een moduswisseling en een proceswisseling?
Moduswisseling is het wisselen van gebruikers naar kernel modus voor bv een interrupt, een proceswisseling is het veranderen van een status van een proces. Bv, van geblokkeerd naar gereed.
Hoofdstuk 12
12.1 Wat is het verschil tussen een veld en een record?
Een veld is een basiselement van gegevens, het bevat één waarde, bv achternaam, datum.
Een record is een verzameling gerelateerde velden die door bepaalde toepassingsprogramma’s als een eenheid kunnen worden behandeld. Het bevat dus velden.
12.2 Wat is het verschil tussen een bestand en een database?
Een bestand (file) is een verzameling vergelijkbare records. Gebruikers en toepassingen behandelen het bestand als één entiteit en verwijzen ernaar aan de hand van een naam. Heeft een unieke bestandsnaam.
Een database is een verzameling gerelateerde gegevens. Er bestaan expliciete relaties tussen gegevenselementen. Het bestaat uit een of meerdere bestanden.
12.3 Wat is een systeem voor bestandsbeheer?
Een verzameling systeemsoftware die diensten verzorgt voor gebruikers en toepassingen bij het gebruiken van bestanden.
12.4 Welke criteria zijn van belang bij het kiezen van een bestandsorganisatie(=logische structuur)?
- Korte toegangstijd
- Gemak van bijwerken
- Efficiënt gebruik van opslagruimte
- Onderhoudsgemak
- Betrouwbaarheid
12.5 Noem en beschrijf in het kort vijf vormen van bestandsorganisatie.
- Stapelbestand: eenvoudigste soort bestandsorganisatie, het is een stapel (pile). Gegevens worden verzameld in de volgorde waarin ze binnenkomen. Geen structuur, dus altijd volledig doorzoeken.
- Sequentieel bestand: Vaste indeling van records, alle records hebben dezelfde lengte een bestaan uit hetzelfde aantal velden met vaste lengte in specifieke volgorde. Bevat een sleutelveld.
- Index-sequentieel bestand: Omzeilt nadelen van sequentieel. Behoudt de hoofdkenmerk: records zijn ingedeeld op volgorde op basis van het sleutelveld. Hieraan zijn 2 kenmerken toegevoegd: een index naar het bestand voor het ondersteunen van willekeurige toegang en een overloopbestand (overflow file)
- Geïndexeerd bestand: Dit gebruikt meerdere indexen, één voor elk veldtype dat zou kunnen worden gebruikt bij het zoeken.
- Direct of hashed bestand: gebruikt mogelijkheid van schijven om directe toegang te geven tot elk blok met een bekend adres. Sleutelveld in elke record is vereist. Wordt vaak gebruikt als snelle toegang vereist is.
12.6 Waarom is de gemiddelde zoektijd voor het vinden van een record bij een index-sequentieel bestand minder dan bij een sequentieel bestand?
Het maakt gebruik van verwijzingen, waardoor men sneller op een bepaald veld kan uitkomen. Bv een sequentieel bestand van één miljoen records. Het zoeken naar een bepaalde sleutelwaarde vereist gemiddeld een half miljoen recordtoegangen. Als er nu echter een index met duizen ingangen wordt gemaakt. Dan kost het zoeken van de records gemiddeld 500 toegangen tot het indexbestand, en dan nog eens 500 tot het hoofdbestand. De gemiddelde zoeklengte wordt dus verminderd van een half miljoen tot duizend.
12.7 Wat zijn gebruikelijke bewerkingen die men kan uitvoeren bij een directory?
- Zoeken
- Creëren
- Verwijderen
- Weergeven
- Bijwerken
12.8 Wat is het verband tussen een padnaam en een werkdirectory?
De volledige padnaam elke keer uitspellen is vervelend, hiervoor gebruikt men de werkdirectory van waaruit men relatief verwijst naar een bestand.
12.9 Wat zijn gangbare toegangsrechten die kunnen worden toegekend of geweigerd aan een individuele gebruiker van een bepaald bestand?
- Geen
- Kennis
- Uitvoeren
- Lezen
- Toevoegen
- Bijwerken
- Beveiliging wijzigen
- Verwijderen
12.10 Noem en beschrijf in het kort drie manieren van blokvorming.
- Blokvorming met vaste lengte: Hierbij worden records met vaste lengte gebruikt en wordt een geheel aantal records opgeslagen in een blok. Er kan ongebruikte ruimte zijn aan het einde van elk blok; dit wordt aangeduid als interne fragmentatie
- Gekoppelde blokvorming met variabele lengte: hierbij worden records met variabele lengte gebruikt en deze worden samengepakt in blokken, alle ruimte wordt gebruikt. Sommige records kunnen daarbij twee blokken omspannen, waarbij het vervolg wordt aangegeven door een verwijzing naar het volgende blok
- Niet-gekoppelde blokvorming met variabele lengte: hierbij worden records met variabele lengte gebruikt, maar deze worden niet gekoppeld opgeslagen. De meeste blokken bevatten loze ruimte, omdat het onmogelijk is de rest van een blok te gebruiken als de volgende record groter is dan de resterende ruimte
12.11 Noem en beschrijf in het kort drie vormen van bestandstoewijzing
- Aaneengesloten toewijzing: Een aaneengesloten verzameling blokken wordt toegewezen aan een bestand op het moment dat het bestand wordt gecreëerd. Tabel voor bestandstoewijzing bevat maar één ingang voor elke bestand te bevatte, die het beginblok en de lengte aangeeft.
- Kettingtoewijzing: Toewijzing vindt plaats op basis van aparte blokken. Elk blok bevat een wijzer naar het volgend blok in de ketting. Tabel voor bestandstoewijzing bevat maar één ingang voor elke bestand te bevatte, die het beginblok en de lengte aangeeft.
- Indextoewijzing: Hierbij bevat de tabel voor bestandstoewijzing een afzonderlijke index van één niveau voor elk bestand; de index heeft één ingang voor elke portie die aan het bestand is toegewezen