Inleiding computersystemen en netwerken deel 3 Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 6.1
Inleiding computersystemen en netwerken deel 3 Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 6.2 Op een ‘kale’ computer + kan je alles zelf doen - moet je alles zelf doen Bijvoorbeeld: -- aansturing van specifieke hardware -- algemene taken vergelijk het met het intrekken in een leeg huis Waarom een Operating system?
Inleiding computersystemen en netwerken deel 3 Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 6.3 Historie Nul generatie:- hand codering (Operator)(1940) Eerste generatie:- Jobs(1950) - Batch processing systems Tweede generatie:- Multiprocessing (1960) - Device independence - Timesharing (interactive) - Real-time Derde generatie:- General-purpose systems( ) - Multimode systems Vierde generatie:- Networking / Distributed processing (1975- …..) - Menu/graphic driven - Virtual machines
Inleiding computersystemen en netwerken deel 3 Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 6.4 Soorten OS naar eigenschappen single user / single tasking(CP/M, DOS) single user / multi tasking(Windows) multi user / multi tasking(UNIX) real time (multi tasking)(RTOS)
Inleiding computersystemen en netwerken deel 3 Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 6.5 Soorten O.S. naar taken Desk top (tekstverwerking, spreadsheet, database.. ) Workstation (ontwerpsysteem) Server (bestand beheer) Proces besturing (fabrieken) Embedded (elektronische apparaten)
Inleiding computersystemen en netwerken deel 3 Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 6.6 Taken van het OS Systeem initialisatie (Boot, SysInit, etc.) Geheugenbeheer (space management) CPU-beheer (time management) Communicatie en synchronisatie (transpute management)
Inleiding computersystemen en netwerken deel 3 Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 6.7 Nomenclatuur Multitasking : meerdere processen actief op één processor (pseudo parallel). Process : de geanimeerde geest van een programma. Thread : parallel uit te voeren code van een proces. Kernel : de kern van het OS. Device driver : besturingssoftware voor de I/O. Scheduler : verzorgt de volgorde waarin de processes/threads processortijd krijgen. Context : alles wat tot het process behoort.
Inleiding computersystemen en netwerken deel 3 Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 6.8 Mogelijke opbouw hardware Device drivers Hardware Abstraction Layer (HAL) KERNEL process System call I/O manager User mode Kernel mode
Inleiding computersystemen en netwerken deel 3 Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 6.9 Bevoorrechte instructies De CPU kent t.b.v. OS meestal minimaal twee toestanden, te weten: supervisor-mode gebruikers-mode Met de system call roep je het OS aan wordt naar supervisor mode geschakeld.
Inleiding computersystemen en netwerken deel 3 Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 6.10 Application Programmers Interface (API) Application Binary Interface (ABI) Applicatie API ABI Besturingssysteem POSIX / Win32 System call (interface)
Inleiding computersystemen en netwerken deel 3 Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 6.11 Opbouw van het O.S. Monolithisch(spaghetti) Gelaagd(lasagne) Modulair(ravioli)
Inleiding computersystemen en netwerken deel 3 Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 6.12 Monolithic Application System services (API) Hardware User mode Kernel mode
Inleiding computersystemen en netwerken deel 3 Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 6.13 Layered Application System services (API) File system Memory and I/O device management Processor scheduling Hardware User mode Kernel mode
Inleiding computersystemen en netwerken deel 3 Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 6.14 Client/server (Modulair) User mode Kernel mode Microkernel Hardware Client application Process server Memory server Fileserver Network server Display server HAL & device drivers
Inleiding computersystemen en netwerken deel 3 Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 6.15 Proces Een proces is een unieke uitvoering van een programma (incarnatie). Een proces heeft zijn eigen context: –registers; –Memory; –Proces administratie t.b.v. OS.
Inleiding computersystemen en netwerken deel 3 Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 6.16 Thread Thread = lichtgewicht proces: Het deelt geheugenruimte met andere threads Het is parallel of simultaan uitgevoerde code van een programma.
Inleiding computersystemen en netwerken deel 3 Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 6.17 Proces toestanden Running (Current): het proces heeft de processor Ready to Run (Active): het proces wacht op de processor Waiting (Suspended): het proces wordt opgehouden
Inleiding computersystemen en netwerken deel 3 Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 6.18 Process states Run Ready Suspended scheduler Context switch
Inleiding computersystemen en netwerken deel 3 Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 6.19 Wie krijgt de CPU? –Co-operative scheduling proces loopt door totdat het klaar is Gevaar van een eindeloze lus => systeem hangt Bijvoorbeeld :Windows 98 –Pre-emptive scheduling Onderbreekbaar doormiddel van prioriteiten tijdverdeling (time-slicing). Voordeel : een fout proces kan niet het hele systeem “ophangen” Bijvoorbeeld : Windows 2000
Inleiding computersystemen en netwerken deel 3 Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 6.20 Hoe verdeel je de processor tijd?
Inleiding computersystemen en netwerken deel 3 Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 6.21 Real-Time Klok vooraf ingestelde teller die het systeem interrumpeert (ongeveer 10 msec) bijhouden van de tijd, datum etc. communicatie en synchronisatie starten van de scheduler administratieve taken
Inleiding computersystemen en netwerken deel 3 Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 6.22 Geheugenbeheer Locatie van code en data (statisch) Toewijzing data (dynamisch) Protectie Gemeenschappelijk gebruik Logische organisatie fysieke organisatie
Inleiding computersystemen en netwerken deel 3 Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 6.23 MMU (logisch fysiek)
Inleiding computersystemen en netwerken deel 3 Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 6.24 Partitionering een proces krijgt een vastgesteld deel van het geheugen ter beschikking de inhoud van een basisregister wordt opgeteld bij het adres het totaal wordt vergeleken met een limietregister
Inleiding computersystemen en netwerken deel 3 Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 6.25 Segmentering code-, data-, deelbare segmenten geen vaste lengte segment register + adres = fysiek adres
Inleiding computersystemen en netwerken deel 3 Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology registers
Inleiding computersystemen en netwerken deel 3 Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 6.27 Segmentering bij de 8088
Inleiding computersystemen en netwerken deel 3 Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 6.28 Paginering het geheugen wordt verdeeld in pagina’s; dit zijn delen met een gelijke grootte een deel van het adres wijst naar een tabel waarin de verwijzing naar de pagina staat een pagina hoeft niet in het geheugen aanwezig te zijn
Inleiding computersystemen en netwerken deel 3 Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 6.29 Paginering
Inleiding computersystemen en netwerken deel 3 Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 6.30 Virtueel geheugen het geheugen heeft een lineaire adresruimte (van 0 tot n) voor de programmeur lijkt het of de ruimte vanaf 0 geheel of gedeeltelijk lineair beschikbaar is
Inleiding computersystemen en netwerken deel 3 Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 6.31 Demand paging
Inleiding computersystemen en netwerken deel 3 Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 6.32 Geheugenprotectie processen mogen elkaar niet hinderen processen moeten data-geheugen kunnen delen programma-coden moet kunnen worden gedeeld
Inleiding computersystemen en netwerken deel 3 Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 6.33 Opdracht besturingssystemen Bestudeer hoofdstuk 10 Onderzoek windows 98, 2000 en LINUX op: –Opbouw –Soort (naar eigenschappen en taken) –Time management –Space management Lever een A4tje met je resultaten in bij de docent