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