Download de presentatie
De presentatie wordt gedownload. Even geduld aub
GepubliceerdAlfred Lenaerts Laatst gewijzigd meer dan 9 jaar geleden
1
Computersystemen 2 (TIRCCMS02 - Operating systems) L.V.de.Zeeuw@HRO.NL
2
1 Inleiding
3
Voorwoord (1/3) Een Operating System heeft vier belangrijke onderdelen: Beheer van processen Invoer/uitvoer Geheugenbeheer (TIRCMS03) Filebeheer (TIRCMS03) L.V. de Zeeuw Computersystemen 2
4
Voorwoord (1/2) Lijst met Operating Systems Zie:
L.V. de Zeeuw Computersystemen 2
5
1Inleiding (1/) Het operating system schermt de onderliggende hardware af van de gebruiker en zijn applicaties. De gebruiker krijgt te maken met een interface of virtuele machine die eenvoudiger is te begrijpen. L.V. de Zeeuw Computersystemen 2
6
1Inleiding (1/1) L.V. de Zeeuw Computersystemen 2
7
1.1Wat is een operating system?
Twee onafhankelijke taken: Het operating system als een uitgebreide machine (top-down visie) Het operating system als beheerder van resources (bottum-up visie) L.V. de Zeeuw Computersystemen 2
8
1.1.1Het operating system als een uitgebreide machine (1/3)
De architectuur van de meeste computers is op machine niveau primitief en daarom lastig programmeren. Zie bijvoorbeeld diskette besturingschip NEC PD765 L.V. de Zeeuw Computersystemen 2
9
1.1.1Het operating system als een uitgebreide machine (2/3)
Het is duidelijk dat de gemiddelde programmeur zich niet al te zeer wil bezighouden met het programmeren van diskette drive’s. Een programmeur wil liever werken met files die in een lees of schrijf toestand worden gebracht: Open file / Close file, etc L.V. de Zeeuw Computersystemen 2
10
1.1.1Het operating system als een uitgebreide machine (3/3)
Het programma dat deze details van de hardware voor programmeur verborgen houdt is het operating system. Zo bekeken is het de bedoeling van het operating system de gebruiker voorzien van een virtuele machine die gemakkelijker te programmeren is dan de onderliggende hardware. L.V. de Zeeuw Computersystemen 2
11
1.1.2Het operating system als beheerder van resources (1/2)
Operating system als beheerder van alle delen van een ingewikkeld hardware systeem. Denk aan: processoren, geheugens timers, schijven, terminals, magneetband drives, netwerk interfaces laserprinters en allerlei andere apparatuur L.V. de Zeeuw Computersystemen 2
12
1.1.2Het operating system als beheerder van resources (1/2)
Voorbeeld: SPOOLING SPOOL: Simultaneous peripheral operations on-line Je wilt niet dat als meerdere gebruikers een printer delen de te printen tekst door elkaar komt. L.V. de Zeeuw Computersystemen 2
13
1.2Geschiedenis van operating systems (1/2)
De eerste echte digitale computer (geen OS): The Analytical Engine ontworpen door Charles Babbage ( ) Charles Babbage - Computer History Museum Charles Babbage - You Tube L.V. de Zeeuw Computersystemen 2
14
1.2Geschiedenis van operating systems (2/2)
Ada Lovelace ( ) schreef voor de Analytical Engine van Babbage het eerste computerprogramma. Het feit dat een vrouw zich hiermee bezig hield was voor die tijd zeer bijzonder want vrouwen werden in het onderwijs buitengesloten. L.V. de Zeeuw Computersystemen 2
15
1.2.11e generatie (1945-1955): vacuumbuizen en schakelpanelen (1/2)
Gedurende de Tweede Wereldoorlog werden computers gebouwd uit mechanische relais daarna werden deze relais vervangen door vacuüm buizen. Deze machines waren zo groot dat ze volledige kamers vulden. Deze computers werden geprogrammeerd in machinetaal door gebruik te maken van schakelpanelen. Begin jaren 50 werden de schakelpanelen vervangen door ponskaarten. Besturingssystemen bestonden toen nog niet. Typische programma’s: Bijna alle problemen bestonden uit ongecompliceerde berekeningen zoals het bepalen van de tabellen voor sinus en cosinus. L.V. de Zeeuw Computersystemen 2
16
1.2.11e generatie (1945-1955): vacuumbuizen en schakelpanelen (2/2)
Enkele relays Vroege vacuüm buis ENIAC Plugboard L.V. de Zeeuw Computersystemen 2
17
1.2.22e generatie (1955-1965): transistoren en batchsystemen de (1/4)
De uitvinding van de transistor in het midden van de jaren 50 was de start van een nieuwe generatie computers. Computers werden zo betrouwbaar dat ze konden worden gefabriceerd en verkocht aan klanten die daarvoor wilden betalen. Mainframes: Grote vele miljoenen kostende computers in AC computer rooms met eigen staf. Computertijd moest gereserveerd worden. Ponskaarten werden nog steeds gebruikt. Batch systeem Typische programma’s: Wetenschappelijke en technische berekeningen L.V. de Zeeuw Computersystemen 2
18
1.2.22e generatie (1955-1965): transistoren en batchsystemen de (2/4)
Transistors Transistor Radio Ponskaart Ponskaart en Tape L.V. de Zeeuw Computersystemen 2
19
1.2.22e generatie (1955-1965): transistoren en batchsystemen de (3/4)
L.V. de Zeeuw Computersystemen 2
20
1.2.22e generatie (1955-1965): transistoren en batchsystemen de (4/4)
FMS: Fortran Monitor System L.V. de Zeeuw Computersystemen 2
21
1.2.33e generatie (1965-1980): IC’s en multiprogrammering (1/6)
Begin jaren 60: twee productielijnen: Computers voor bedrijfsleven (IBM 1401) Computers voor technische wetenschappelijke berekeningen (IBM 7094) De IBM 360 serie werd ontwikkeld (waarbij IC’s werden gebruikt) om beide benaderingen samen te voegen tot één universeel toepasbaar systeem. Ontwikkeling van multiprogrammering Ontwikkeling van spooling Ontwikkeling van time-sharing MULTICS (Multiplexed Information and Computing Service) stond aan de basis van vele ontwikkelingen. UNICS (UNiplexed Information and Computing Service) is een gestripte variant van MULTICS bedoeld voor de kleine PDP/7 UNIX werd tegen het eind van de 3e generatie uit UNICS ontwikkeld (MULTICS UNICS UNIX) L.V. de Zeeuw Computersystemen 2
22
1.2.33e generatie (1965-1980): IC’s en multiprogrammering (2/6)
IBM 1401 IBM 7094 L.V. de Zeeuw Computersystemen 2
23
1.2.33e generatie (1965-1980): IC’s en multiprogrammering (3/6)
IBM OS/360 L.V. de Zeeuw Computersystemen 2
24
1.2.33e generatie (1965-1980): IC’s en multiprogrammering (4/6)
Fred Brooks was een van de ontwerpers van OS/360 en schreef over zijn ervaringen dit boek. L.V. de Zeeuw Computersystemen 2
25
1.2.33e generatie (1965-1980): IC’s en multiprogrammering (5/6)
PDP/7 PDP/11 L.V. de Zeeuw Computersystemen 2
26
1.2.33e generatie (1965-1980): IC’s en multiprogrammering (6/6)
L.V. de Zeeuw Computersystemen 2
27
1.2.44e generatie (1980-heden): Personal Computers (1/2)
LSI (Large Scale Integration) maakt de PC mogelijk Vergeleken met PDP-11 geen essentieel verschil. Enorme prijsdaling Gebruikersvriendelijk Eerste OSen voor PC’s: MS-DOS (Intel 8088) en UNIX (Motorola 68000) GUI (Macintosh, Windows) Netwerken van PC’s Gedistribueerde Operating Systems L.V. de Zeeuw Computersystemen 2
28
1.2.44e generatie (1980-heden): Personal Computers (2/2)
IBM-PC L.V. de Zeeuw Computersystemen 2
29
1.3Begrippen die bij Operating Systems een rol spelen (1/1)
De interface tussen het operating system en gebruikers programma’s wordt gevormd door een verzameling system calls L.V. de Zeeuw Computersystemen 2
30
1.3.1Processen (1/5) Een proces is een programma in uitvoering en bestaat uit: het uit te voeren programma de gegevens voor het programma de stack de stackpointer de programma teller andere registers L.V. de Zeeuw Computersystemen 2
31
1.3.1Processen (2/5) Bij een time sharings systeem beslist het operating system een proces af te breken om een ander proces te gaan uitvoeren. Als een proces wordt afgebroken moeten alle gegevens worden bewaard. Deze gegevens worden bewaard in de procestable. De procestabel is een array of lijststructuur met records. Elke record beschrijft een proces. L.V. de Zeeuw Computersystemen 2
32
1.3.1Processen (3/5) De voornaamste system calls houden zich bezig met aanmaken en beëindigen van processen. Voorbeeld: Het proces command interpreter of shell leest een opdracht van de gebruiker om een editor te starten. De shell start het proces dat de editor gaat uitvoeren. L.V. de Zeeuw Computersystemen 2
33
1.3.1Processen (4/5) Als een proces een of meer processen (childprocessen) kan creëren en deze processen ook weer childprocessen kunnen creëren krijgen we boomstructuur van processen. L.V. de Zeeuw Computersystemen 2
34
1.3.1Processen (5/5) Af en toe is het noodzakelijk gegevens te sturen naar een proces dat wordt uitgevoerd. Processen communiceren onderling via signals die door het operatings system worden afgehandeld. Signals zijn het software equivalent van hardware interrupts. Traps (vallen) die door hardware wordt gedetecteerd (bijvoorbeeld het uitvoeren van een ongeoorloofde instructie) veroorzaken een interrupt die wordt omgezet in signals naar het proces dat de fout heeft veroorzaakt. Trap interrupt signal L.V. de Zeeuw Computersystemen 2
35
1.3.2Files (1/7) Systemcalls zorgen voor het creëren openen schrijven
lezen sluiten van files. L.V. de Zeeuw Computersystemen 2
36
1.3.2Files (2/7) Begrippen Directory Root directory Padnaam
Actuele (werk) directory L.V. de Zeeuw Computersystemen 2
37
Beveiliging en eigendomsrechten
1.3.2Files (3/7) Vergelijking Proces Directory Structuur Boomstructuur Diepte Circa max 3 Veel dieper Levensduur Kort (minuten) Lang (jaren) Beveiliging en eigendomsrechten Een parentproces kan alleen een childproces aansturen of benaderen Vaak kan een grotere groep dan alleen de eigenaar files benaderen L.V. de Zeeuw Computersystemen 2
38
1.3.2Files (4/7) Het filesystem bevindt zich fysiek bepaalde randapparatuur: Diskettedrive Diskdrive Tapedrive CD/DVD/BluRay USB stick Het toevoegen van deze randapparatuur aan het filesysteem heet mounten L.V. de Zeeuw Computersystemen 2
39
1.3.2Files (5/7) L.V. de Zeeuw Computersystemen 2
40
1.3.2Files (6/7) I/O apparaten gedragen zich als files.
Een toetsenbord is te beschouwen als een file die alleen maar kan worden gelezen. Een beeldscherm is te beschouwen als een file die alleen maar kan worden beschreven. L.V. de Zeeuw Computersystemen 2
41
1.3.2Files (7/7) Een pipe is een pseudofile.
Een pipe wordt gebruikt om twee processen aan elkaar te koppelen. Als proces A gegevens wil sturen naar proces B beschrijft proces A de pipe alsof het een uitvoer files is. Proces B leest de pipe alsof het een invoer file is. L.V. de Zeeuw Computersystemen 2
42
1.3.3De shell (1/2) De shell is de primaire interface tussen de gebruiker en het operatingsystem. De shell maakt géén deel uit van het operating system De shell maakt veel gebruik van systemcalls. Als je in tikt ‘time’ creëert de shell een childproces. Het programma ‘time’ wordt door het childproces uitgevoerd. L.V. de Zeeuw Computersystemen 2
43
1.3.3De shell (2/2) Redirection:
> standaard uitvoer gaat naar een file >> voegt de standaard uitvoer toe aan een (bestaande) file < standaard invoer komt uit een file | (pipe) De uitvoer van het ene programma wordt als invoer voor het andere programma gebruikt. Voorbeelden: dir | sort dir | sort > SortedDir.txt sort < file1.txt type file1.txt | sort Sort < file1.txt > file2.txt L.V. de Zeeuw Computersystemen 2
44
1.4System calls (1/3) L.V. de Zeeuw Computersystemen 2
45
1.4System calls (2/3) L.V. de Zeeuw Computersystemen 2
46
1.4System calls (3/3) L.V. de Zeeuw Computersystemen 2
47
1.4.1System calls voor procesbeheer (1/2)
L.V. de Zeeuw Computersystemen 2
48
1.4.1System calls voor procesbeheer (2/2)
L.V. de Zeeuw Computersystemen 2
49
1.4.2System calls voor signalen (1/2)
Voor het netjes afhandelen van software interrupts. Met de call SIGNAL kan het proces aangeven welke signalen er worden geaccepteerd en welke procedure dat moet doen. Voorbeeld: signal(SIGINT,SIG_IGN) voor het negeren van de DEL toetst L.V. de Zeeuw Computersystemen 2
50
1.4.2System calls voor signalen (2/2)
L.V. de Zeeuw Computersystemen 2
51
1.4.3System calls voor filebeheer (1/4)
Veel system calls hebben betrekking op files. Voorbeeld: fd = creat (“abc”,0751) heeft als effect dat de file met de naam “abc” met octale beschermings code 0751 wordt gecreëerd. fd is de filedesriptor r=read, w=write,x=eXecute rechten (eigenaar,groep, overigen) 0751 = = rwx r-x --x Octaal L.V. de Zeeuw Computersystemen 2
52
1.4.3System calls voor filebeheer (2/4)
L.V. de Zeeuw Computersystemen 2
53
1.4.3System calls voor filebeheer (3/4)
L.V. de Zeeuw Computersystemen 2
54
1.4.3System calls voor filebeheer (4/4)
L.V. de Zeeuw Computersystemen 2
55
1.4.4System calls voor beheer van directories (1/3)
System Calls voor directories onderscheiden zich van system calls voor files. Voorbeeld: link(“usr/jim/memo”,”usr/ast/note”); Door link te gebruiken kan men dezelfde file in verschillende directories met verschillende namen aangeven. L.V. de Zeeuw Computersystemen 2
56
1.4.4System calls voor beheer van directories (2/3)
note L.V. de Zeeuw Computersystemen 2
57
1.4.4System calls voor beheer van directories (3/3)
L.V. de Zeeuw Computersystemen 2
58
1.4.5System calls voor beheer beveiliging (1/1)
Beveiliging calls zijn belangrijke voor de bescherming van een computersysteem Voorbeeld: chmod(“file”,0644); Wijzigt de beschermingscode van een file. De file wordt hier read-only gemaakt voor iedereen behalve de gebruiker: r=read, w=write,x=eXecute rechten (eigenaar,groep,overigen) 0644 = = rw- r-- r-- L.V. de Zeeuw Computersystemen 2
59
1.4.6System calls voor tijd (1/1)
Om de volgordelijkheid van operaties binnen een operating systeem goed te kunnen bijhouden zijn ‘tijd’ calls van belang. Voorbeeld: Time levert de tijd af in seconden vanaf 1 januari 1970 L.V. de Zeeuw Computersystemen 2
60
1.5De structuur van een operating system(1/1)
Vier mogelijke interne structuren van een operating system: Monolitische structuren Een systeem in de vorm van een lagenstructuur Virtuele Machines Het client server model L.V. de Zeeuw Computersystemen 2
61
1.5.1Monolitische structuren (1/2)
Grote warboel. De enige structuur is dat er geen structuur is. Verzameling procedures die elkaar kunnen aanroepen. Iedere procedure heeft een goed gedefinieerde interface voor aanroep en afleveren van resultaten. Gegevens afscherming is niet mogelijk. Er is wel structuur aan te brengen door system calls (kernel call of supervisor call) te laten lopen via traps die gebruik maken van gegevens in bepaalde registers of de stack. Machine gaat van Usermode kernel mode (supervisor mode) L.V. de Zeeuw Computersystemen 2
62
1.5.1Monolitische structuren (2/2)
L.V. de Zeeuw Computersystemen 2
63
1.5.2Een systeem in de vorm van een lagenstructuur (1/3)
Het operatings system kan georganiseerd worden als hiërarchie van lagen. Ieder laag is gebouwd op de laag eronder. Voorbeeld: THE-system (E.W. Dijkstra, TU Eindhoven) Voorbeeld: MULTICS het lagen model is hier verder gegeneraliseerd in de vorm van concentrische ringen. De binnenste ringen hadden meer privileges. L.V. de Zeeuw Computersystemen 2
64
1.5.2Een systeem in de vorm van een lagenstructuur (2/3)
L.V. de Zeeuw Computersystemen 2
65
1.5.2Een systeem in de vorm van een lagenstructuur (3/3)
De structuur van het THE operating system. 5 De operator van de machine 4 Programm’s van de gebruiker 3 Beheer van input/outpiut 2 Communicatie tussen operator en de processen 1 Beheer van het primaire en trommelgeheugen Toewijzing van de processor (multiprogrammering) L.V. de Zeeuw Computersystemen 2
66
1.5.3Virtuele Machines (1/2) Een virtuele machine (virtual machine) is een operatingssystem dat in staat is om een gebruikers programma uit te voeren dat niet speciaal voor de computer waarop de virtuele machine draait, geschreven hoeft te zijn. Een virtuele machine die de hardware van een computer emuleert, emuleert een processor (en eventueel andere hardware) voor een programma dat voor het geëmuleerde platform is geschreven. In feite doet de virtuele machine zich voor alsof het de andere computer is. Virtualisatie is een veel gebruikt concept. L.V. de Zeeuw Computersystemen 2
67
VM = Virtuale Machine Monitor
1.5.3Virtuele Machines(2/2) CMS = Conversational Monitor System, een interactief OS voor één gebruiker VM = Virtuale Machine Monitor L.V. de Zeeuw Computersystemen 2
68
1.5.4Het client server model (1/3)
Een ontwikkeling in tegenwoordige operating systems is zoveel mogelijk code te verschuiven naar een hogere laag. De minimale overgebleven code wordt kernel genoemd. De meeste functies van het operatings system worden als gebruikers processen geïmplementeerd. Voorbeeld: Voor het lezen van een blok van een file zendt het proces van de gebruiker (client-proces) een verzoek naar een proces voor de behandeling van het verzoek (server-proces). Daarna wordt een antwoord terug gestuurd. L.V. de Zeeuw Computersystemen 2
69
1.5.4Het client server model (2/3)
L.V. de Zeeuw Computersystemen 2
70
1.5.4Het client server model (3/3)
L.V. de Zeeuw Computersystemen 2
71
1.6Overzicht(1/1) Operating systems bestaan uit vier belangrijke onderdelen: Proces Beheer Beheer I/O resources Geheugenbeheer (TIRCMS03) Filebeheer (TIRCMS03) L.V. de Zeeuw Computersystemen 2
72
Dit was het … Huiswerk: Lees hoofdstuk 1 Maak de opgaven L.V. de Zeeuw
Computersystemen 2
Verwante presentaties
© 2024 SlidePlayer.nl Inc.
All rights reserved.