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)

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:

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 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 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 oppy.htm

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

14 HOGESCHOOL ROTTERDAM / CMI L.V. de ZeeuwComputersystemen Geschiedenis 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.

15 HOGESCHOOL ROTTERDAM / CMI L.V. de ZeeuwComputersystemen e generatie ( ): 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 e generatie ( ): vacuumbuizen en schakelpanelen (2/2) Vroege vacuüm buis Enkele relays ENIAC Plugboard

17 HOGESCHOOL ROTTERDAM / CMI L.V. de ZeeuwComputersystemen e generatie ( ): 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 e generatie ( ): transistoren en batchsystemen de (2/4) Ponskaart Transistors Transistor Radio Ponskaart en Tape

19 HOGESCHOOL ROTTERDAM / CMI L.V. de ZeeuwComputersystemen e generatie ( ): transistoren en batchsystemen de (3/4)

20 HOGESCHOOL ROTTERDAM / CMI L.V. de ZeeuwComputersystemen e generatie ( ): transistoren en batchsystemen de (4/4) FMS: Fortran Monitor System

21 HOGESCHOOL ROTTERDAM / CMI L.V. de ZeeuwComputersystemen e generatie ( ): 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 e generatie ( ): IC’s en multiprogrammering (2/6) IBM 7094 IBM 1401

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

24 HOGESCHOOL ROTTERDAM / CMI L.V. de ZeeuwComputersystemen e generatie ( ): 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 e generatie ( ): IC’s en multiprogrammering (5/6) PDP/11PDP/7

26 HOGESCHOOL ROTTERDAM / CMI L.V. de ZeeuwComputersystemen e generatie ( ): IC’s en multiprogrammering (6/6)

27 HOGESCHOOL ROTTERDAM / CMI L.V. de ZeeuwComputersystemen 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 e generatie (1980-heden): Personal Computers (2/2) IBM-PC

29 HOGESCHOOL ROTTERDAM / CMI L.V. de ZeeuwComputersystemen 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 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 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 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 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 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 Files (1/7) Systemcalls zorgen voor het creëren openen schrijven lezen sluiten van files.

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

37 HOGESCHOOL ROTTERDAM / CMI L.V. de ZeeuwComputersystemen 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 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 Files (5/7)

40 HOGESCHOOL ROTTERDAM / CMI L.V. de ZeeuwComputersystemen 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 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 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 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 System calls (1/3)

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

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

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

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

49 HOGESCHOOL ROTTERDAM / CMI L.V. de ZeeuwComputersystemen 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 System calls voor signalen (2/2)

51 HOGESCHOOL ROTTERDAM / CMI L.V. de ZeeuwComputersystemen 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 = = rwx r-x --x Octaal

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

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

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

55 HOGESCHOOL ROTTERDAM / CMI L.V. de ZeeuwComputersystemen 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 System calls voor beheer van directories (2/3) note

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

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

59 HOGESCHOOL ROTTERDAM / CMI L.V. de ZeeuwComputersystemen 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 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 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 Monolitische structuren (2/2)

63 HOGESCHOOL ROTTERDAM / CMI L.V. de ZeeuwComputersystemen 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 Een systeem in de vorm van een lagenstructuur (2/3)

65 HOGESCHOOL ROTTERDAM / CMI L.V. de ZeeuwComputersystemen 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 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 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 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 Het client server model (2/3)

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

71 HOGESCHOOL ROTTERDAM / CMI L.V. de ZeeuwComputersystemen 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