Computersystemen 2 (TIRCCMS02 - Operating systems) L.V.de.Zeeuw@HRO.NL
1 Inleiding Antwoorden
Antwoord 1.1 1.1 Een operating system controleert alle in‑ en uitgangen van de computer. Een operating system voorziet de basis waarop de applicatie programma's kunnen worden geschreven. L.V. de Zeeuw Computersystemen 2
Antwoord 1.2 1.2.3 Bij multitasking is er een centrale processor voor diverse programma's of taken. De processortijd wordt verdeeld over deze taken. De processortijd per programma of taak wordt 'time-slice' genoemd. Alle taken binnen processing module krijgen om beurten CPU toegewezen gedurende de time-slice (een time-slice is meestal 10 tot 100 msec). Onderstaande figuur geeft de verdeling van de processortijd over 3 taken. L.V. de Zeeuw Computersystemen 2
Antwoord 1.2 vervolg 1.2.3 Onderstaande figuur geeft de verdeling van de processortijd over 4 taken. L.V. de Zeeuw Computersystemen 2
Antwoord 1.2 vervolg 1.2.3 Binnen het geheugen is voor iedere taak een datastructuur aanwezig. Dit is de process-table waarin alle gegevens over de taak op dat moment staan. (proces identifier, gebruikte datagebied, de inhoud van alle processorregisters e.d.) Een taak is in 'running state' zolang hij de processortijd heeft. Als de time-slice voorbij is wordt de taak die running was achter in ready-queue gezet (de taak is in 'ready state'). Het operating systeem geeft de CPU aan een andere taak. De taak die boven in ready-queue staat te wachten wordt running gemaakt. Wanneer een taak niet verder kan omdat hij bijvoorbeeld op I/O wacht wordt hij in wait-queue gezet (de taak is blocked ). Deze wordt weer in ready-queue gezet als een I/O gebeurtenis is opgetreden. L.V. de Zeeuw Computersystemen 2
Antwoord 1.3 1.2.3 Spooling ( Simultaneous Peripheral Operation On Line ) is een techniek die de derde generatie operating systemen gebruikte om taken van kaarten te lezen en op disk te zetten. Wanneer nu een running taak klaar was kon een nieuwe ( al ingelezen taak ) van disk worden geladen in het vrij gekomen vrije geheugen. Deze techniek wordt tevens gebruikt voor uitvoer (printen). De moderne computers zullen vanwege het feit dat hun geheugens steeds groter worden niet van deze techniek voor invoer gebruik maken maar de verschillende taken apart in het geheugen opslaan zodat nog minder tijd verloren gaat met het inlezen en wegschrijven van taken. Voor uitvoer wordt de techniek nog steeds gebruikt. L.V. de Zeeuw Computersystemen 2
Antwoord 1.4 Een voordeel van multiprogramming is dat de tijd die verloren gaat bij het wachten op I/O, gebruikt kan worden voor een ander process. Door met direct memory access (DMA) te werken, gaan alle I/O activiteiten buiten de CPU om. De CPU hoeft dus geen tijd te besteden aan het verwerken van I/O Er moet wel vaak worden gewacht tot data beschikbaar of weggeschreven is. In deze tijd kan een ander proces de CPU gebruiken. L.V. de Zeeuw Computersystemen 2
Antwoord 1.5 De tweede generatie was een batchsysteem. De noodzakelijke protectie met behulp was op deze generatie nog niet aanwezig was. L.V. de Zeeuw Computersystemen 2
Antwoord 1.6 1.5.1 a), c) en d) In kernel mode krijgt het operatings system de controle over de machine. Operaties die effect hebben op processen van andere gebruikers of het operating system zelf worden alleen in kernel mode uitgevoerd en vereisen speciale autorisaties. L.V. de Zeeuw Computersystemen 2
Antwoord 1.6 1.5.1 a), c) en d) In kernel mode krijgt het operatings system de controle over de machine. Operaties die effect hebben op processen van andere gebruikers of het operating system zelf worden alleen in kernel mode uitgevoerd en vereisen speciale autorisaties. L.V. de Zeeuw Computersystemen 2
Antwoord 1.7 In vergelijking met de moderne PC besturingssytemen zijn er steeds minder verschillen. De verschillen betreffen: Single-user/multi-user, wel/geen terminal users, batchomgeving. L.V. de Zeeuw Computersystemen 2
Antwoord 1.7 Aanvulling: Waarom toch Main Frames? Lots of Processors, Memory and Channels Enormous Throughput Super Reliable May support 100-500 users at one time L.V. de Zeeuw Computersystemen 2
Antwoord 1.8 1.4.3 / 1.4.5 De andere gebruiker zal deze file kunnen uitvoeren omdat hij hetzelfde group id (1) heeft en dus in staat is om deze file te kunnen lezen en executeren. rwxr‑x‑‑‑ r=read, w=write,x=eXecute rechten (eigenaar,groep, overigen) L.V. de Zeeuw Computersystemen 2
Antwoord 1.9 Een super-user bestaat, omdat er iemand moet zijn die in kan grijpen in het systeem, wanneer er iets mis gaat en daarbij geen hinder moet hebben van allerlei taken waar hij niet in kan komen omdat ze beveiligd zijn. L.V. de Zeeuw Computersystemen 2
Antwoord 1.10 1.5.4 Ja, bijvoorbeeld bij verschillende taken in een multi-tasking omgeving. L.V. de Zeeuw Computersystemen 2
Antwoord 1.11 1.3.1 Wanneer een proces tijdelijk opgeschort wordt, dan moet het later weer herstart worden in precies dezelfde staat als wanneer het werd gestopt. Dit betekent dat al de informatie over het proces expliciet bewaard moet worden tijdens de opschorting. Dus alle informatie over elk proces wordt bewaard in een operating system tabel genaamd de 'Process Table'. Dit is een array (of gelinkte lijst) van structuren (records), één voor ieder proces dat op dat moment bestaat. L.V. de Zeeuw Computersystemen 2
Antwoord 1.12 1.3.2 Met ‘Special Files’ (MINIX) kunnen I/O apparaten zich als files gedragen. Een 'Block Special File’ worden gebruikt voor blok georiënteerde resources zoals disks (schijf sector). 'Character Special Files‘ worden gebruikt voor karakter georiënteerde resources zoals toetsen borden, beeldschermen, printers L.V. de Zeeuw Computersystemen 2
Antwoord 1.13 1.4.2 Als DEL aangeslagen wordt dan wordt er een signaal gegeven. Als er een signaal bij een proces binnen komt wat dit signaal niet verwacht dan wordt het proces beëindigd. Om dit te voorkomen kan het proces de system call SIGNAAL gebruiken om aan te kondigen dat het proces dit signaal accepteert. Wanneer nu dit signaal optreedt dan wordt de desbetreffende signaal handler routine uitgevoerd. Er moet echter wel nadat het signaal is opgetreden opnieuw gebruik gemaakt worden van de system call SIGNAAL om het signaal weer te kunnen accepteren. Als er een signaal optreedt voordat het signaal opnieuw is ingesteld dan wordt het proces alsnog beëindigd. Dit kan gebeuren als men snel genoeg achter elkaar op DEL drukt. L.V. de Zeeuw Computersystemen 2
Antwoord 1.14 1.4.4 MINIX: Elke file heeft een naam als symbolische aanduiding voor een uniek nummer: het i-node nummer. In de i-node staat de administratie van de file met o.a. de fysieke plaats van de file op disk. Een directory is een tabel met namen van files en de bijbehorende i-node nummers. De link in MINIX is slechts een extra naam in een directory voor een file die dus reeds bestaat. Bij linken wordt van de file dus géén kopie gemaakt maar wordt aan een directory een slechts entry toegevoegd met een tweede naam voor een reeds bestaande i-node. Het verwijderen van de file door gebruiker 1 betekent slechts dat zijn symbolische verwijzing (de filenaam) naar de i-node wordt verwijderd. De andere gebruiker kan daarna de file nog steeds gebruiken om dat zijn symbolische verwijzing naar de i-node nog steeds bestaat. L.V. de Zeeuw Computersystemen 2
Antwoord 1.14 1.4.4 Aanvulling (linux): Onderzoek het verschil tussen hard en soft links in linux: Hard link Softlink >echo “File a” > a.txt >cat a.txt >ln a.txt b.txt >ls –i (toon de i-node nummers) >cat b.txt >rm a.txt >ls >ln –s a.txt b.txt L.V. de Zeeuw Computersystemen 2
Antwoord 1.14 1.4.4 Aanvulling (linux): Een hardlink (ln is een extra verwijzing naar een bestaande i-node. a.txt 70 b.txt 70 Een softlink (ln –s) is een extra verwijzing naar een reeds bestaande file-naam b.Txt a.txt 70 L.V. de Zeeuw Computersystemen 2
Antwoord 1.15 1.4.4 CHROOT mag alleen door de super-user worden uitgevoerd, omdat de super-user alleen toegang heeft tot het gehele systeem, tot alle directory's. Dit in tegenstelling tot een 'gewone' gebruiker welke alleen maar toegang heeft tot z'n eigen directory's. En aangezien een root-directory de wortel is van de gehele directory in een computer-systeem moet een gebruiker dit niet kunnen veranderen. Is dit wel het geval, dan zou het gehele systeem plat kunnen gaan. Over het algemeen weet een systeem-beheerder (super-user) beter wanneer er van root veranderd moet worden, en weet daar ook het juiste moment voor uit te kiezen. L.V. de Zeeuw Computersystemen 2