1 / 72

Computersystemen 2 (TIRCCMS02 - Operating systems) L.V.de.Zeeuw@HRO.NL

Computersystemen 2 (TIRCCMS02 - Operating systems) L.V.de.Zeeuw@HRO.NL. 1 Inleiding. Voorwoord (1/3). Een Operating System heeft vier belangrijke onderdelen: Beheer van processen Invoer/uitvoer Geheugenbeheer (TIRCMS03) Filebeheer (TIRCMS03). Voorwoord (1/2).

honey
Télécharger la présentation

Computersystemen 2 (TIRCCMS02 - Operating systems) L.V.de.Zeeuw@HRO.NL

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  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) Computersystemen 2

  4. Voorwoord (1/2) Lijst met Operating Systems Zie: http://en.wikipedia.org/wiki/List_of_operating_systems 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. Computersystemen 2

  6. 1Inleiding (1/1) 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) 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 http://www.isdaman.com/alsos/hardware/fdc/floppy.htm 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 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. 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 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. Computersystemen 2

  13. 1.2Geschiedenis 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 Computersystemen 2

  14. 1.2Geschiedenis 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. Computersystemen 2

  15. 1.2.11e generatie (1945-1955): vacuumbuizen en schakelpanelen (1/2) 1e 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. Computersystemen 2

  16. Enkele relays Vroege vacuüm buis ENIAC Plugboard 1.2.11e generatie (1945-1955): vacuumbuizen en schakelpanelen (2/2) Computersystemen 2

  17. 1.2.22e generatie (1955-1965): transistoren en batchsystemen de (1/4) 2e 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 Computersystemen 2

  18. Transistor Radio Transistors Ponskaart 1.2.22e generatie (1955-1965): transistoren en batchsystemen de (2/4) Ponskaart en Tape Computersystemen 2

  19. 1.2.22e generatie (1955-1965): transistoren en batchsystemen de (3/4) Computersystemen 2

  20. 1.2.22e generatie (1955-1965): transistoren en batchsystemen de (4/4) FMS: Fortran Monitor System 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) Computersystemen 2

  22. 1.2.33e generatie (1965-1980): IC’s en multiprogrammering (2/6) IBM 1401 IBM 7094 Computersystemen 2

  23. 1.2.33e generatie (1965-1980): IC’s en multiprogrammering (3/6) IBM OS/360 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. Computersystemen 2

  25. 1.2.33e generatie (1965-1980): IC’s en multiprogrammering (5/6) PDP/7 PDP/11 Computersystemen 2

  26. 1.2.33e generatie (1965-1980): IC’s en multiprogrammering (6/6) 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 Computersystemen 2

  28. 1.2.44e generatie (1980-heden): Personal Computers (2/2) IBM-PC - 1981 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 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 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. 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. 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. 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 Computersystemen 2

  35. 1.3.2Files (1/7) Systemcalls zorgen voor het • creëren • openen • schrijven • lezen • sluiten van files. Computersystemen 2

  36. 1.3.2Files (2/7) Begrippen • Directory • Root directory • Padnaam • Actuele (werk) directory Computersystemen 2

  37. 1.3.2Files (3/7) 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 Computersystemen 2

  39. 1.3.2Files (5/7) 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. 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. 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. 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 Computersystemen 2

  44. 1.4System calls (1/3) Computersystemen 2

  45. 1.4System calls (2/3) Computersystemen 2

  46. 1.4System calls (3/3) Computersystemen 2

  47. 1.4.1System calls voor procesbeheer (1/2) Computersystemen 2

  48. 1.4.1System calls voor procesbeheer (2/2) 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 Computersystemen 2

  50. 1.4.2System calls voor signalen (2/2) Computersystemen 2

More Related