ICT Techniek - les 7 - onderwerpen Osiris Operating Systems Waarom een OS? Soorten Taken Opbouw Processen / threads Time management Memory management Communicatie en synchronisatie Security Technology 2007-2007-PICT les 1 1 Waarom een OS? Applicatie 1: Applicatie 2: Applicatie 3: spelletje print browser word PC 1 PC 2 print Security Technology 2007-2007-PICT les 1 print PC 3 2 Generiek en specifiek Generieke systemen Informatie verwerking • Kantoor automatisering • Wetenschap • …… Gebruik van computersystemen Elektronische bouwsteen • industriële automatisering • data communicatie Specifieke systemen • apparaten (vaak real time, vaak embedded) • ….. Security Technology 2007-2007-PICT les 1 3 Soorten OS naar multi-user / multi-taking eigenschappen • • • • single user / single tasking single user / multi tasking multi user / multi tasking real time (multi tasking) (CP/M, DOS) (Windows) (UNIX) (RTOS) Wanneer gebruikt men real time operating systemen ? Security Technology 2007-2007-PICT les 1 4 Soorten O.S. naar taken { • • • • • Desk top Workstation Server Proces besturing Embedded (tekstverwerking, spreadsheet, database .. ) (ontwerpsysteem) (bestand beheer) (fabrieken) (elektronische apparaten) Onderscheid vervaagt Security Technology 2007-2007-PICT les 1 5 Taken van een operating systeem Systeem initialisatie (Boot, SysInit, etc.) Resource management en coordinatie: Geheugenbeheer (space management) CPU-beheer (time management) Communicatie en synchronisatie (transpute management) Abstractie Isolatie Algemene functies Security Technology 2007-2007-PICT les 1 6 Bevoorrechte instructies De CPU kent t.b.v. OS meestal minimaal twee toestanden, te weten: supervisor-mode(kernel mode) gebruikers-mode (protected mode) Met de system call roep je het OS aan en wordt er naar supervisor mode geschakeld. Security Technology 2007-2007-PICT les 1 7 Opbouw van het O.S. • Monolithisch • Gelaagd • Modulair (spaghetti) (lasagne) (ravioli) Security Technology 2007-2007-PICT les 1 8 Monolithic Application Application User mode Kernel mode System services (API) Hardware Security Technology 2007-2007-PICT les 1 9 Layered Application program Resident system program ROM BIOS device drivers Hardware MS-DOS system architecture Security Technology 2007-2007-PICT les 1 10 Client/server (Modulair, microkernel) Client application User mode Memory server Process server Network server Fileserver Display server Kernel mode Microkernel HAL & device drivers Hardware Security Technology 2007-2007-PICT les 1 11 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. Security Technology 2007-2007-PICT les 1 12 Wat is de context memory Programma teller programma registers files data CPU I/O Security Technology 2007-2007-PICT les 1 13 Thread Thread = lichtgewicht proces: Het deelt geheugenruimte met andere threads Het is parallel of simultaan uitgevoerde code van een programma. Security Technology 2007-2007-PICT les 1 14 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 Dormant: potentieel proces De toestand van de processen staat in de proces table Security Technology 2007-2007-PICT les 1 15 Process states terminate Run Dormant Context switch incarnate Suspended Ready scheduler Security Technology 2007-2007-PICT les 1 16 Time management – Co-operative scheduling • proces loopt door totdat het klaar is • Gevaar van een eindeloze lus => systeem hangt • Bijvoorbeeld :Windows 3.x – Pre-emptive scheduling • Onderbreekbaar doormiddel van prioriteiten • tijdverdeling (time-slicing). • Voordeel : een fout proces kan niet het hele systeem “ophangen” • Bijvoorbeeld : Windows NT and higher 95, 98? : gedeeltelijk… Security Technology 2007-2007-PICT les 1 17 Real-Time Klok • vooraf ingestelde teller die het systeem interrumpeert (10 msec) • bijhouden van de tijd, datum etc. • communicatie en synchronisatie • starten van de scheduler • administratieve taken Security Technology 2007-2007-PICT les 1 18 Timeslicing timeslice proces 1 timeslice proces 2 timeslice proces 3 timeslice proces 4 $FFFFFF Context switch Proces 4 Proces 3 Proces 2 Proces 1 $000000 O.S. O.S. O.S. Security Technology 2007-2007-PICT les 1 O.S. O.S. 19 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 Security Technology 2007-2007-PICT les 1 20 MMU (logisch <-> fysiek) adresbus vertaalde adressen MMU werkgeheugen adressen CPU databus Security Technology 2007-2007-PICT les 1 21 Geheugenbeheer Locatie van code en data (statisch) Toewijzing data (dynamisch) Protectie Gemeenschappelijk gebruik Logische organisatie <-> fysieke organisatie Security Technology 2007-2007-PICT les 1 22 Geheugenbeheer Drie typen namelijk : Partionering (vaste afmeting) Segmentering (lengte is variabel) Paginering (vaste relatief kleine afmeting) Security Technology 2007-2007-PICT les 1 23 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 Security Technology 2007-2007-PICT les 1 24 Segmentering code-, data-, deelbare segmenten geen vaste lengte segment register + adres = fysiek adres vergelijk het fysiek adres met limietwaarde Security Technology 2007-2007-PICT les 1 25 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 Security Technology 2007-2007-PICT les 1 26 Geheugenprotectie processen mogen elkaar niet hinderen processen moeten data-geheugen kunnen delen programma-codes moet kunnen worden gedeeld Security Technology 2007-2007-PICT les 1 27 Doen bestudeer … Security Technology 2007-2007-PICT les 1 28