inleiding computersystemen en netwerken deel 3 hogeschool van utrecht / institute for computer,...
Post on 04-Jun-2015
218 Views
Preview:
TRANSCRIPT
Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology
6.1Inleiding computersystemen en netwerken deel 3
Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology
6.2Inleiding computersystemen en netwerken deel 3
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?
Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology
6.3Inleiding computersystemen en netwerken deel 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 (1965-1975)
- Multimode systems
Vierde generatie: - Networking / Distributed processing (1975- …..)
- Menu/graphic driven
- Virtual machines
Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology
6.4Inleiding computersystemen en netwerken deel 3
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)
Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology
6.5Inleiding computersystemen en netwerken deel 3
Soorten O.S. naar taken
• Desk top (tekstverwerking, spreadsheet, database .. )
• Workstation (ontwerpsysteem)
• Server (bestand beheer)
• Proces besturing (fabrieken)
• Embedded (elektronische apparaten)
Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology
6.6Inleiding computersystemen en netwerken deel 3
Taken van het OS
• Systeem initialisatie (Boot, SysInit, etc.)• Geheugenbeheer (space management)• CPU-beheer (time management)• Communicatie en synchronisatie (transpute
management)
Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology
6.7Inleiding computersystemen en netwerken deel 3
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.
Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology
6.8Inleiding computersystemen en netwerken deel 3
Mogelijke opbouw
hardware
Device driversHardware Abstraction Layer (HAL)
KERNEL
process process process
System call
I/O manager
User mode
Kernel mode
Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology
6.9Inleiding computersystemen en netwerken deel 3
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.
Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology
6.10Inleiding computersystemen en netwerken deel 3
Application Programmers Interface (API)Application Binary Interface (ABI)
Applicatie
API
ABI
Besturingssysteem
POSIX / Win32
System call (interface)
Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology
6.11Inleiding computersystemen en netwerken deel 3
Opbouw van het O.S.
• Monolithisch (spaghetti)• Gelaagd (lasagne)• Modulair (ravioli)
Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology
6.12Inleiding computersystemen en netwerken deel 3
Monolithic
Application Application
System services (API)
Hardware
User mode
Kernel mode
Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology
6.13Inleiding computersystemen en netwerken deel 3
Layered
Application Application
System services (API)
File system
Memory and I/O device management
Processor scheduling
Hardware
User mode
Kernel mode
Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology
6.14Inleiding computersystemen en netwerken deel 3
Client/server (Modulair)
User mode
Kernel mode
Microkernel
Hardware
Client application
Process server
Memory server
Fileserver
Network server
Display server
HAL & device drivers
Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology
6.15Inleiding computersystemen en netwerken deel 3
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.
Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology
6.16Inleiding computersystemen en netwerken deel 3
Thread
Thread = lichtgewicht proces:
Het deelt geheugenruimte met andere threadsHet is parallel of simultaan uitgevoerde code van een programma.
Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology
6.17Inleiding computersystemen en netwerken deel 3
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
Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology
6.18Inleiding computersystemen en netwerken deel 3
Process states
Run
ReadySuspended
scheduler
Context switch
Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology
6.19Inleiding computersystemen en netwerken deel 3
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
Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology
6.20Inleiding computersystemen en netwerken deel 3
Hoe verdeel je de processor tijd?
Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology
6.21Inleiding computersystemen en netwerken deel 3
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
Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology
6.22Inleiding computersystemen en netwerken deel 3
Geheugenbeheer
• Locatie van code en data (statisch)
• Toewijzing data (dynamisch)
• Protectie
• Gemeenschappelijk gebruik
• Logische organisatie <-> fysieke organisatie
Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology
6.23Inleiding computersystemen en netwerken deel 3
MMU (logisch <-> fysiek)
adressen
vertaalde adressen
databus
werk-geheugen
CPU
MMU
adresbus
Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology
6.24Inleiding computersystemen en netwerken deel 3
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
Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology
6.25Inleiding computersystemen en netwerken deel 3
Segmentering
• code-, data-, deelbare segmenten
• geen vaste lengte
• segment register + adres = fysiek adres
Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology
6.26Inleiding computersystemen en netwerken deel 3
8088 registers
Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology
6.27Inleiding computersystemen en netwerken deel 3
Segmentering bij de 8088
Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology
6.28Inleiding computersystemen en netwerken deel 3
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
Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology
6.29Inleiding computersystemen en netwerken deel 3
Paginering
Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology
6.30Inleiding computersystemen en netwerken deel 3
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
Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology
6.31Inleiding computersystemen en netwerken deel 3
Demand paging
Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology
6.32Inleiding computersystemen en netwerken deel 3
Geheugenprotectie
• processen mogen elkaar niet hinderen
• processen moeten data-geheugen kunnen delen
• programma-coden moet kunnen worden gedeeld
Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology
6.33Inleiding computersystemen en netwerken deel 3
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
top related