sheets week 7

advertisement
1CSNW1 – week 7
Inleiding
Operating Systems
Waarom een OS?

Op een ‘kale’ computer
+ kan je alles zelf doen
- moet je alles zelf doen

Bijvoorbeeld:



aansturing van specifieke hardware
beheer (disk, geheugen cpu)
(grafische) user inteface
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- …..)
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)
Soorten OS (naar gebruik)





Desk top (tekstverwerking, spreadsheet, database)
Workstation (ontwerpsysteem)
Server (bestanden, webpagina’s, database)
Proces besturing (fabrieken)
Embedded (elektronische apparaten)
Taken van het OS

Systeem initialisatie (Boot, SysInit, etc.)

Bestandsbeheer (file management)
Geheugenbeheer (memory management)
CPU-beheer (process management)
Communicatie en synchronisatie



Nomenclatuur








Multitasking : meerdere processen actief op één
processor (pseudo parallel).
Process : programma in uitvoering
Thread : parallel uit te voeren code van een process
Kernel : de kern van het OS.
Device driver : besturingssoftware voor de I/O.
Scheduler : verzorgt de volgorde waarin de
processes/threads processortijd krijgen.
Dispatcher : geeft de CPU aan het process
Context : alles wat tot het process behoort.
Mogelijke opbouw
process
process
process
User mode
System call
Kernel mode
KERNEL
Hardware Abstraction Layer
(HAL)
hardware
I/O manager
Device drivers
Kernel met device drivers
Application Programmers Interface (API)
Application Binary Interface (ABI)
Applicatie
API
ABI
Besturingssysteem
POSIX / Win32
System call (interface)
Bevoorrechte instructies

De CPU kent t.b.v. OS meestal minimaal twee
toestanden




Gebruikers mode
Supervisor mode
Een aantal (bevoorrechte) instructies zijn
alleen in supervisor mode te gebruiken
Met de system call roep je het OS aan en
wordt naar supervisor mode geschakeld.
Opbouw van het O.S.



Monolithisch
Gelaagd
Modulair
(spaghetti)
(lasagne)
(ravioli)
Monolithic
Application
Application
User mode
Kernel mode
System services (API)
Hardware
Layered
Application
Application
User mode
Kernel mode
System services (API)
File system
Memory and I/O device management
Processor scheduling
Hardware
Client/server (Modulair)
Client
application
User mode
Memory
server
Process
server
Network
server
Fileserver
Kernel mode
Microkernel
HAL & device drivers
Hardware
Display
server
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.
Geheugenmodel van een process
Thread
Thread = Lightweight Process


Het deelt geheugenruimte met andere threads
van het process
Het is parallel (simultaan) uitgevoerde code
van een programma.
Procestoestanden



Running (current)
het proces heeft de processor
Ready to Run (active)
het proces wacht op de processor
Waiting (suspended)
het proces wordt opgehouden (door I/O)
Toestandsdiagram
Run
context
switch
Suspended
Ready
scheduler
Wie krijgt de CPU?

Co-operative scheduling




Process 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 NT
Hoe verdeel je de processortijd?
Real-time Klok

Vooraf ingestelde teller die het systeem
interrumpeert (bijv. elke 10 msec)




Bijhouden van de tijd, datum etc.
Communicatie en synchronisatie
Aanroepen van de scheduler
Administratieve taken
Opdrachten



Bestudeer hfdst. 13.1 t/m 13.7.1
Maak opgaven 13.1, 13.2, 13.7
Maak proeftentamen
Download