De presentatie wordt gedownload. Even geduld aub

De presentatie wordt gedownload. Even geduld aub

HOGESCHOOL ROTTERDAM / CMI Computersystemen 2 (TIRCCMS02 - Operating systems)

Verwante presentaties


Presentatie over: "HOGESCHOOL ROTTERDAM / CMI Computersystemen 2 (TIRCCMS02 - Operating systems)"— Transcript van de presentatie:

1 HOGESCHOOL ROTTERDAM / CMI Computersystemen 2 (TIRCCMS02 - Operating systems) L.V.de.Zeeuw@HRO.NL

2 HOGESCHOOL ROTTERDAM / CMI 1 Inleiding

3 HOGESCHOOL ROTTERDAM / CMI L.V. de ZeeuwComputersystemen 23 Voorwoord (1/3) Een Operating System heeft vier belangrijke onderdelen: Beheer van processen Invoer/uitvoer Geheugenbeheer (TIRCMS03) Filebeheer (TIRCMS03)

4 HOGESCHOOL ROTTERDAM / CMI L.V. de ZeeuwComputersystemen 24 Voorwoord (1/2) Lijst met Operating Systems Zie: http://en.wikipedia.org/wiki/List_of_operating_systems

5 HOGESCHOOL ROTTERDAM / CMI L.V. de ZeeuwComputersystemen 25 1 Inleiding (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.

6 HOGESCHOOL ROTTERDAM / CMI L.V. de ZeeuwComputersystemen 26 1 Inleiding (1/1)

7 HOGESCHOOL ROTTERDAM / CMI L.V. de ZeeuwComputersystemen 27 1.1 Wat 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)

8 HOGESCHOOL ROTTERDAM / CMI L.V. de ZeeuwComputersystemen 28 1.1.1 Het 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 http://www.isdaman.com/alsos/hardware/fdc/fl oppy.htm

9 HOGESCHOOL ROTTERDAM / CMI L.V. de ZeeuwComputersystemen 29 1.1.1 Het 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

10 HOGESCHOOL ROTTERDAM / CMI L.V. de ZeeuwComputersystemen 210 1.1.1 Het 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.

11 HOGESCHOOL ROTTERDAM / CMI L.V. de ZeeuwComputersystemen 211 1.1.2 Het 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

12 HOGESCHOOL ROTTERDAM / CMI L.V. de ZeeuwComputersystemen 212 1.1.2 Het 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.

13 HOGESCHOOL ROTTERDAM / CMI L.V. de ZeeuwComputersystemen 213 1.2 Geschiedenis van operating systems (1/2) De eerste echte digitale computer (geen OS): The Analytical Engine ontworpen door Charles Babbage (1792-1871) Charles Babbage - Computer History Museum Charles Babbage - You Tube

14 HOGESCHOOL ROTTERDAM / CMI L.V. de ZeeuwComputersystemen 214 1.2 Geschiedenis van operating systems (2/2) Ada Lovelace (1815- 1852) 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.

15 HOGESCHOOL ROTTERDAM / CMI L.V. de ZeeuwComputersystemen 215 1.2.1 1 e generatie (1945-1955): vacuumbuizen en schakelpanelen (1/2) 1 e Generatie: 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.

16 HOGESCHOOL ROTTERDAM / CMI L.V. de ZeeuwComputersystemen 216 1.2.1 1 e generatie (1945-1955): vacuumbuizen en schakelpanelen (2/2) Vroege vacuüm buis Enkele relays ENIAC Plugboard

17 HOGESCHOOL ROTTERDAM / CMI L.V. de ZeeuwComputersystemen 217 1.2.2 2 e generatie (1955-1965): transistoren en batchsystemen de (1/4) 2 e Generatie 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

18 HOGESCHOOL ROTTERDAM / CMI L.V. de ZeeuwComputersystemen 218 1.2.2 2 e generatie (1955-1965): transistoren en batchsystemen de (2/4) Ponskaart Transistors Transistor Radio Ponskaart en Tape

19 HOGESCHOOL ROTTERDAM / CMI L.V. de ZeeuwComputersystemen 219 1.2.2 2 e generatie (1955-1965): transistoren en batchsystemen de (3/4)

20 HOGESCHOOL ROTTERDAM / CMI L.V. de ZeeuwComputersystemen 220 1.2.2 2 e generatie (1955-1965): transistoren en batchsystemen de (4/4) FMS: Fortran Monitor System

21 HOGESCHOOL ROTTERDAM / CMI L.V. de ZeeuwComputersystemen 221 1.2.3 3 e 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 3 e generatie uit UNICS ontwikkeld (MULTICS  UNICS  UNIX)

22 HOGESCHOOL ROTTERDAM / CMI L.V. de ZeeuwComputersystemen 222 1.2.3 3 e generatie (1965-1980): IC’s en multiprogrammering (2/6) IBM 7094 IBM 1401

23 HOGESCHOOL ROTTERDAM / CMI L.V. de ZeeuwComputersystemen 223 1.2.3 3 e generatie (1965-1980): IC’s en multiprogrammering (3/6) IBM OS/360

24 HOGESCHOOL ROTTERDAM / CMI L.V. de ZeeuwComputersystemen 224 1.2.3 3 e 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.

25 HOGESCHOOL ROTTERDAM / CMI L.V. de ZeeuwComputersystemen 225 1.2.3 3 e generatie (1965-1980): IC’s en multiprogrammering (5/6) PDP/11PDP/7

26 HOGESCHOOL ROTTERDAM / CMI L.V. de ZeeuwComputersystemen 226 1.2.3 3 e generatie (1965-1980): IC’s en multiprogrammering (6/6)

27 HOGESCHOOL ROTTERDAM / CMI L.V. de ZeeuwComputersystemen 227 1.2.4 4 e 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

28 HOGESCHOOL ROTTERDAM / CMI L.V. de ZeeuwComputersystemen 228 1.2.4 4 e generatie (1980-heden): Personal Computers (2/2) IBM-PC - 1981

29 HOGESCHOOL ROTTERDAM / CMI L.V. de ZeeuwComputersystemen 229 1.3 Begrippen 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

30 HOGESCHOOL ROTTERDAM / CMI L.V. de ZeeuwComputersystemen 230 1.3.1 Processen (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

31 HOGESCHOOL ROTTERDAM / CMI L.V. de ZeeuwComputersystemen 231 1.3.1 Processen (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.

32 HOGESCHOOL ROTTERDAM / CMI L.V. de ZeeuwComputersystemen 232 1.3.1 Processen (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.

33 HOGESCHOOL ROTTERDAM / CMI L.V. de ZeeuwComputersystemen 233 1.3.1 Processen (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.

34 HOGESCHOOL ROTTERDAM / CMI L.V. de ZeeuwComputersystemen 234 1.3.1 Processen (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

35 HOGESCHOOL ROTTERDAM / CMI L.V. de ZeeuwComputersystemen 235 1.3.2 Files (1/7) Systemcalls zorgen voor het creëren openen schrijven lezen sluiten van files.

36 HOGESCHOOL ROTTERDAM / CMI L.V. de ZeeuwComputersystemen 236 1.3.2 Files (2/7) Begrippen Directory Root directory Padnaam Actuele (werk) directory

37 HOGESCHOOL ROTTERDAM / CMI L.V. de ZeeuwComputersystemen 237 1.3.2 Files (3/7) Vergelijking ProcesDirectory StructuurBoomstructuur DiepteCirca max 3Veel dieper LevensduurKort (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

38 HOGESCHOOL ROTTERDAM / CMI L.V. de ZeeuwComputersystemen 238 1.3.2 Files (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

39 HOGESCHOOL ROTTERDAM / CMI L.V. de ZeeuwComputersystemen 239 1.3.2 Files (5/7)

40 HOGESCHOOL ROTTERDAM / CMI L.V. de ZeeuwComputersystemen 240 1.3.2 Files (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.

41 HOGESCHOOL ROTTERDAM / CMI L.V. de ZeeuwComputersystemen 241 1.3.2 Files (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.

42 HOGESCHOOL ROTTERDAM / CMI L.V. de ZeeuwComputersystemen 242 1.3.3 De 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.

43 HOGESCHOOL ROTTERDAM / CMI L.V. de ZeeuwComputersystemen 243 1.3.3 De 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 file2.txt

44 HOGESCHOOL ROTTERDAM / CMI L.V. de ZeeuwComputersystemen 244 1.4 System calls (1/3)

45 HOGESCHOOL ROTTERDAM / CMI L.V. de ZeeuwComputersystemen 245 1.4 System calls (2/3)

46 HOGESCHOOL ROTTERDAM / CMI L.V. de ZeeuwComputersystemen 246 1.4 System calls (3/3)

47 HOGESCHOOL ROTTERDAM / CMI L.V. de ZeeuwComputersystemen 247 1.4.1 System calls voor procesbeheer (1/2)

48 HOGESCHOOL ROTTERDAM / CMI L.V. de ZeeuwComputersystemen 248 1.4.1 System calls voor procesbeheer (2/2)

49 HOGESCHOOL ROTTERDAM / CMI L.V. de ZeeuwComputersystemen 249 1.4.2 System 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

50 HOGESCHOOL ROTTERDAM / CMI L.V. de ZeeuwComputersystemen 250 1.4.2 System calls voor signalen (2/2)

51 HOGESCHOOL ROTTERDAM / CMI L.V. de ZeeuwComputersystemen 251 1.4.3 System 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 = 111 101 001 = rwx r-x --x Octaal

52 HOGESCHOOL ROTTERDAM / CMI L.V. de ZeeuwComputersystemen 252 1.4.3 System calls voor filebeheer (2/4)

53 HOGESCHOOL ROTTERDAM / CMI L.V. de ZeeuwComputersystemen 253 1.4.3 System calls voor filebeheer (3/4)

54 HOGESCHOOL ROTTERDAM / CMI L.V. de ZeeuwComputersystemen 254 1.4.3 System calls voor filebeheer (4/4)

55 HOGESCHOOL ROTTERDAM / CMI L.V. de ZeeuwComputersystemen 255 1.4.4 System 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.

56 HOGESCHOOL ROTTERDAM / CMI L.V. de ZeeuwComputersystemen 256 1.4.4 System calls voor beheer van directories (2/3) note

57 HOGESCHOOL ROTTERDAM / CMI L.V. de ZeeuwComputersystemen 257 1.4.4 System calls voor beheer van directories (3/3)

58 HOGESCHOOL ROTTERDAM / CMI L.V. de ZeeuwComputersystemen 258 1.4.5 System 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 = 110 100 100 = rw- r-- r--

59 HOGESCHOOL ROTTERDAM / CMI L.V. de ZeeuwComputersystemen 259 1.4.6 System 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

60 HOGESCHOOL ROTTERDAM / CMI L.V. de ZeeuwComputersystemen 260 1.5 De 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

61 HOGESCHOOL ROTTERDAM / CMI L.V. de ZeeuwComputersystemen 261 1.5.1 Monolitische 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)

62 HOGESCHOOL ROTTERDAM / CMI L.V. de ZeeuwComputersystemen 262 1.5.1 Monolitische structuren (2/2)

63 HOGESCHOOL ROTTERDAM / CMI L.V. de ZeeuwComputersystemen 263 1.5.2 Een 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.

64 HOGESCHOOL ROTTERDAM / CMI L.V. de ZeeuwComputersystemen 264 1.5.2 Een systeem in de vorm van een lagenstructuur (2/3)

65 HOGESCHOOL ROTTERDAM / CMI L.V. de ZeeuwComputersystemen 265 1.5.2 Een systeem in de vorm van een lagenstructuur (3/3) De structuur van het THE operating system. 5De operator van de machine 4Programm’s van de gebruiker 3Beheer van input/outpiut 2 Communicatie tussen operator en de processen 1 Beheer van het primaire en trommelgeheugen 0 Toewijzing van de processor (multiprogrammering)

66 HOGESCHOOL ROTTERDAM / CMI L.V. de ZeeuwComputersystemen 266 1.5.3 Virtuele 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.

67 HOGESCHOOL ROTTERDAM / CMI L.V. de ZeeuwComputersystemen 267 1.5.3 Virtuele Machines(2/2) CMS = Conversational Monitor System, een interactief OS voor één gebruiker VM = Virtuale Machine Monitor

68 HOGESCHOOL ROTTERDAM / CMI L.V. de ZeeuwComputersystemen 268 1.5.4 Het 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.

69 HOGESCHOOL ROTTERDAM / CMI L.V. de ZeeuwComputersystemen 269 1.5.4 Het client server model (2/3)

70 HOGESCHOOL ROTTERDAM / CMI L.V. de ZeeuwComputersystemen 270 1.5.4 Het client server model (3/3)

71 HOGESCHOOL ROTTERDAM / CMI L.V. de ZeeuwComputersystemen 271 1.6 Overzicht(1/1) Operating systems bestaan uit vier belangrijke onderdelen: Proces Beheer Beheer I/O resources Geheugenbeheer (TIRCMS03) Filebeheer (TIRCMS03)

72 HOGESCHOOL ROTTERDAM / CMI L.V. de ZeeuwComputersystemen 272 Dit was het … Huiswerk: Lees hoofdstuk 1 Maak de opgaven


Download ppt "HOGESCHOOL ROTTERDAM / CMI Computersystemen 2 (TIRCCMS02 - Operating systems)"

Verwante presentaties


Ads door Google