Informatica - §6 besturingssystemen
Informatica - §6.2 besturingssystemen Taak: Organisatie van processen programma hardware besturingssysteem gebruiker
Opbouw computersysteem gebruiker programma besturingssys driver hardware
Management Informatie Software overzicht Software Systeem Applicatie Beheersprogr. Utilities Ontwikkelprogr. Algemeen Specifiek Tekstverw. Management Informatie Besturingssyst. Disktools Programmeertl. Spreadsht. Database management Beveiliging compiler Productie-besturing Presentatie Prestatie Communicatie Database
Soorten besturingssystemen MS DOS Windows 9x OS\2 Mac OS Linux UNIX Windows NT Novell Netware Solaris Banyan Vines MVS OS/390 Zijn stand-alone OS’en Zijn netwerk of mainframe OS’en
Stuurprogramma’s (drivers) Alle handelingen op computer monden uit in opdracht voor videokaart hardware-specifieke programma’s OS driver hardware
Zet de computer aan... starten B.I.O.S.-chip (ROM) ‘boot’en RAM controle (rand)apparatuur config. setup setup O.S. startappl. startappl. applicaties gebruiker
Functies van OS Job management (taakbeheer) Resource management (beheer van hulpbronnen) Process management (procesbeheer)
Taakbeheer (deel)taken in volgorde zetten Taken beëindigen takenstroom Stap 3 Taak 1 Taak 1 Stap 3 Stap 1 Taak 1 Stap 1 (deel)taken in volgorde zetten Taken beëindigen Stap 2 Stap 3 Taak 2 Taak 2 Taak 2 Stap 2 takenstroom Stap 1 Taakbeheer Stap 2 Stap 1 Stap 3 Stap 2 Stap 1 Stap 2 Stap 1 Stap 2 Stap 1 Stap 2 Stap 1 Stap 2 Stap 1 Taken accepteren (of afwijzen) Taak 3 Stap 2 Taak 3 Stap 1 Stap 2
Procesbeheer lijst met wachtende processen bijhouden Procesbeheer Taak 4 Stap 3 Stap 2 Stap 1 Taakbeheer takenstroom Taak 3 Taak 2 Taak 1 Procesbeheer proces kiezen proces starten
Welk proces eerst? Prioritering ‘laag’ proces nauwelijks aan bod bij druk verkeer elk proces moet wachten op beurt ‘wachtend’ proces blokkeert de anderen hoge prioriteit Taakbeheer Stap 3 Stap 2 Stap 1 takenstroom lage prioriteit
Welk proces eerst? Timeslicing bij 5 processen (bv.) 0,000 Gebruiker 1 ieder proces krijgt 20% toegewezen 80% van de tijd niet aan de beurt ‘wachtend’ proces blokkeert anderen niet ieder proces komt aan bod niet bij randapparatuur, bijvoorbeeld printer tijd in sec. 0,100 Gebruiker 2 0,200 Gebruiker 3 0,300 Gebruiker 4 0,400 Gebruiker 5 0,500 Gebruiker 1 0,600 Gebruiker 2 0,700 Gebruiker 3 0,800 Gebruiker 4 0,900 Gebruiker 5
Resource management (beheer van hulpbronnen) Hulpbronnen zijn: Randapparatuur: Geheugen: printer, plotter, toetsenbord, muis, scanner, webcam, microfoon intern geheugen extern geheugen Input-Output (I/O) beheer Geheugenbeheer
I/O beheer snel maar klein Buffering Spooling langzaam maar groot niet elk proces wordt aangenomen I/O proc I/O proc elk proces wordt aangenomen Buffer Buffer Buffer Buffer HD CPU
Geheugenbeheer elk programma aaneengesloten Partitionering geheugenruimte P1 P2 P3 P4 P6 P5 elk programma aaneengesloten uitvoering van sommige programma’s stokt geheugen niet optimaal gebruikt
Geheugenbeheer elk programma opgedeeld in gelijke delen Paginering geheugenruimte P1 1 P2 1 P1 2 P3 1 P2 2 P2 3 P4 1 P4 2 P4 3 P3 2 P3 3 P5 1 P5 2 P6 1 elk programma opgedeeld in gelijke delen pagina’s niet noodzakelijk aaneengesloten geheugen optimaal gebruikt alleen noodzakelijke delen in RAM, rest op HD CPU doet veel administratie
Netwerk Besturingssystemen Multi user Meerdere gebruikers tegelijk Gelijktijdig gebruik van programma’s en bestanden m.b.v. record locking: alleenrecht op dat deel van programma Toegang d.m.v. autorisatie naam, wachtwoord, gebruikersrechten
UNIX Overdraagbaar, flexibel, krachtig en stabiel Commando georiënteerd: geen graphical user interface (GUI; vgl. Macintosh, Windows). nu grafische schil verkrijgbaar (Motif ) Vele varianten: FreeBSD Linux (Linus Thorvaldson maakte Unix geschikt voor standalone computers)
De UNIX structuur Applicatie Machine Unix-shell Unix-kernel Shell: Accepteert en interpreteert opdrachten Roept de UNIX-kernel aan om ze uit te voeren Kernel: In RAM-geheugen Toewijzen van geheugen Reacties op gebruikers Unix-shell Unix-kernel
Enkele UNIX commando’s Opdracht Wat doet UNIX? Cp Bestanden kopiëren Grep Bestand doorzoeken op bepaalde tekenreeks Help Hulp bestand wordt aangeroepen Kill Uitvoering van een proces stoppen Ls Een lijst van bestanden geven in huidige directory (map) Mail Berichten uitwisselen tussen gebruikers Pr Bestand afdrukken Ps Rapporteren over de processtatus Rm Bestand(en) verwijderen
Master / slave architectuur De server is master, het werkstation is slave ‘master’ bepaalt proces-, taak- en bronnenbeheer geen problemen in één enkel LAN Echter, bij moderne netwerken meerdere LAN’s met elkaar verbonden ieder LAN heeft meerdere servers ingewikkeld! Oplossing: client / server architectuur
Client / server architectuur Proces gesplitst in subtaken een verdeeld over een aantal computers Database (gegevensbeheer) Applicatie (proces) Presentatie (interface) servers servers Three tier client
Verdelen, is dat nou nodig? Bij 200 clients? Bij klantgegevens? Bij printer-server? Bij proxy-server? Verzoek Momentje Splelin? Splelin? Splelin? Verzoek Spelling! Spelling! Spelling! Splelin? Splelin? Splelin? Spelling! Spelling! Spelling! Respons Respons
Client/server basis eigenschappen Transparante toegang gebruiker merkt ‘niets’ van server alle functies lijken op client aanwezig GUI standaard GUI elk programma kent standaard werkwijze Dynamische toewijzing subtaak toegewezen aan geschikte server netwerkbesturingssysteem zorgt automatisch voor die taakverdeling