PowerPoint-presentatie

advertisement
Inleiding computersystemen en netwerken deel 3
Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology
6.1
Inleiding computersystemen en netwerken deel 3
6.2
Waarom een Operating system?
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
Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology
Inleiding computersystemen en netwerken deel 3
6.3
Historie
Nul generatie:
Eerste generatie:
Tweede generatie:
Derde generatie:
Vierde generatie:
- hand codering (Operator)
- Jobs
- Batch processing systems
- Multiprocessing
- Device independence
- Timesharing (interactive)
- Real-time
- General-purpose systems
- Multimode systems
- Networking / Distributed processing
- Menu/graphic driven
- Virtual machines
(1940)
(1950)
(1960)
(1965-1975)
(1975- …..)
Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology
Inleiding computersystemen en netwerken deel 3
6.4
Soorten OS naar eigenschappen
•
•
•
•
single user / single tasking
single user / multi tasking
multi user / multi tasking
real time (multi tasking)
(CP/M, DOS)
(Windows)
(UNIX)
(RTOS)
Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology
Inleiding computersystemen en netwerken deel 3
6.5
Soorten O.S. naar taken
•
•
•
•
•
Desk top
Workstation
Server
Proces besturing
Embedded
(tekstverwerking, spreadsheet, database .. )
(ontwerpsysteem)
(bestand beheer)
(fabrieken)
(elektronische apparaten)
Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology
Inleiding 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.6
Inleiding computersystemen en netwerken deel 3
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.
Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology
Inleiding computersystemen en netwerken deel 3
6.8
Mogelijke opbouw
process
process
process
User mode
System call
Kernel mode
KERNEL
Hardware Abstraction Layer
(HAL)
I/O manager
Device drivers
hardware
Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology
Inleiding 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.9
Inleiding computersystemen en netwerken deel 3
6.10
Application Programmers Interface (API)
Application Binary Interface (ABI)
Applicatie
API
ABI
POSIX / Win32
System call (interface)
Besturingssysteem
Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology
Inleiding computersystemen en netwerken deel 3
Opbouw van het O.S.
• Monolithisch
• Gelaagd
• Modulair
(spaghetti)
(lasagne)
(ravioli)
Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology
6.11
Inleiding computersystemen en netwerken deel 3
Monolithic
Application
Application
User mode
Kernel mode
System services (API)
Hardware
Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology
6.12
Inleiding computersystemen en netwerken deel 3
Layered
Application
Application
User mode
Kernel mode
System services (API)
File system
Memory and I/O device management
Processor scheduling
Hardware
Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology
6.13
Inleiding computersystemen en netwerken deel 3
6.14
Client/server (Modulair)
Client
application
User mode
Memory
server
Process
server
Network
server
Fileserver
Display
server
Kernel mode
Microkernel
HAL & device drivers
Hardware
Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology
Inleiding 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.15
Inleiding computersystemen en netwerken deel 3
Thread
Thread = lichtgewicht proces:
 Het deelt geheugenruimte met andere
threads
Het is parallel of simultaan uitgevoerde
code van een programma.
Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology
6.16
Inleiding computersystemen en netwerken deel 3
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
Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology
Inleiding computersystemen en netwerken deel 3
Process states
Run
Context
switch
Suspended
Ready
scheduler
Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology
6.18
Inleiding 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.19
Inleiding computersystemen en netwerken deel 3
Hoe verdeel je de processor tijd?
Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology
6.20
Inleiding computersystemen en netwerken deel 3
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
Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology
Inleiding 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.22
Inleiding computersystemen en netwerken deel 3
MMU (logisch <-> fysiek)
adresbus
vertaalde adressen
MMU
werkgeheugen
adressen
CPU
databus
Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology
6.23
Inleiding 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.24
Inleiding 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.25
Inleiding computersystemen en netwerken deel 3
8088 registers
Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology
6.26
Inleiding computersystemen en netwerken deel 3
Segmentering bij de 8088
Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology
6.27
Inleiding computersystemen en netwerken deel 3
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
Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology
Inleiding computersystemen en netwerken deel 3
Paginering
Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology
6.29
Inleiding computersystemen en netwerken deel 3
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
Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology
Inleiding computersystemen en netwerken deel 3
Demand paging
Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology
6.31
Inleiding 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.32
Inleiding 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
Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology
6.33
Download