Grondslagen v/d beleidsinformatica Hoofdstuk 8: Systeemprogrammatuur 8.1 OVERZICHT 8.2 WAT WILLEN WE MET DIT HOOFDSTUK BEREIKEN 8.3 INHOUD ZIE PAGINA 113 VOOR OVERZICHT 8.4 SOORTEN PROGRAMMATUUR Software zorgt dat de computer gegevens kan verwerken We denken voornamelijk aan toepassings- of applicatiesoftware Voorbeelden: tekstverwerkers, spreadsheets, databasepaketten, grafische software, ... Applicatiesoftware: laat toe om specifieke taken uit te voeren Verschillende soorten applicatiesoftware: - Algemene toepassingssoftware (General purpose software) - Special Purpose Software: speel voor bepaalde zaken ontworpen Voorbeeld: boekhoudsystemen, onderwijs, ... Daarnaast ook systeemsoftware --> alle programmatuur om softwareontwikkelaars te helpen bij de ontwikkeling (Vb: compilers) --> netwerksoftware --> systemen voor het bewaken van grote hoeveelheden persistente informatie (databasemanagementsystemen) Ze beiden vooral ondersteunende functies, achter de schermen 8.5 DEFINITIE EN SOORTEN OPERATING SYSTEMS Besturingssysteem: geheel van programma’s voor - beheer v/h computersysteem - interface vorm tussen applicatiesoftware (of eindgebruiker) en hardware Er zijn dus twee (soms conflicterende) doelstellingen: - Hardware moet men zo efficiënt mogelijk kunnen gebruiken (beheer v/d hardware) - Systeem moet makkelijk bruikbaar zijn (abstractie v/d hardware) Zonder besturingssysteem moet een programma in staat zijn: - de schijf op te starten - de leesarm positioneren - transfereren van gegevens - opvangen van hardwarefouten Programma’s zouden hardwaregebonden moeten zijn --> programma’s zouden zich moeten aanpassen aan de verandering v/d hardware Besturingsystemen nemen deze taak op zich ! Opdrachten enkel uitvoerbaar met opdrachten en operands in het intern geheugen 1 Jeroen De Koninck – HIRB – 2012-2013 Het besturingsysteem bepaald welke geheugenadressen voor welk tijdsinterval aan een programma in uitvoering worden toegekend De complexiteit v/e besturingsysteem hangt af van het aantal gebruikers - Single-user-systemen - Multi-user-systemen En ook van het aantal taken op dezelfde moment - Mono-tasking - Multi-tasking Multiprocessing mogelijk bij één computer met meerdere identieke processoren --> moeten werken met gemeenschappelijk intern geheugen ! Nodige software noodzakelijk Single-processor: besturingsysteem kan slechts de verwerking van één programma aan --> dit ene programma bevindt zich dan in het intern geheugen Monotasking besturingsysteem: één programma per keer, sequentieel aanbod Monoprogramming: slechts één programma per keer in het intern geheugen --> dit is een single-user-systeem Multitasking is noodzakelijk voor een snelle CPU en meerdere randapparatuur --> verschillende programma’s kunnen tegelijk worden uitgevoerd m.b.v. één processor Deze processor verwerkt afwisselend instructies v/d verschillende programma’s --> kunnen afkomstig zijn van één of meer gebruikers Men spreekt van een multi-gebruikerssysteem En er zijn meerdere programma’s in het intern geheugen (multiprogrammering) 8.6 BEHEER VAN INFORMATIE- EN COMMUNICATIEMETHODEN Verschillende computer resources moeten door het besturingsysteem beheerd worden Voorbeelden: interne geheugen, externe geheugen, in- en uitvoerorganen, processoren, bestanden Besturingsysteem zorgt voor efficiënt gebruikt en probeert conflicten te voorkomen Daarnaast ook taakvervullen van systeembeheer 8.6.1 Beheer van geheugen Geheugenbeheer: toewijzen van intern geheugen aan één of meerdere programma’s --> beheer van plaats Men moet bijhouden welke geheugenadressen op welk moment toegewezen zijn aan welk programma Een gedeelte v/h besturingsysteem blijft altijd aanwezig in het interne geheugen --> kern of nucleus v/h besturingsysteem Door de kern kunnen andere delen v/h besturingsysteem geladen worden in het intern geheugen Bij het starten v/h besturingsysteem (booten) wordt de kern in het RAM-geheugen gebracht 2 Jeroen De Koninck – HIRB – 2012-2013 Het ROM-geheugen bevat daarnaast de bootstrap (opstartprogramma) Er zijn ook andere machinegebonden programma’s (kunnen niet veranderen) Overblijvende geheugen is voor andere delen v/h besturingsysteem en applicatiesoftware De andere ruimtes dienen dus voor één (monoprogrammering) of meerdere (multieprogrammering) toepassingsprogramma(s) Men heeft verschillende toewijzingspolitieken: - Niet-virtueel geheugenbeheer: volledig programma moet in het geheugen aanwezig zijn --> geheel in intern geheugen voor uitvoering --> nadeel: men kan nooit programma’s uitvoeren groter dan het reëel geheugen - Virtuele geheugenbeheerstechnieken: niet heel het programma moet ingeladen worden --> extern geheugen wordt “schijnbaar” als intern geheugen gebruikt Dit is echter enkel van toepassing voor de actieve programmadelen Swappen: overbrengen van programmagedeelten van intern naar extern en omgekeerd Door virtueel geheugenbeheer stijg de multiprogrammeringsgraad Er kunnen namelijk meer programma’s gedeeltelijks in het intern geheugen zitten 6.8.2 Beheer van processen Processor kan slechts één programma-instructie aan --> bij multitaskingsysteem moeten programma’s in intern geheugen afwisselend gebruik maken v/d processor Process scheduler: regelt het afwisselend gebruik Programma: statisch geheel van opdrachten Programma in uitvoering (proces): dynamische activiteit waarvan eigenschappen kunnen wijzigen Multitaskingsysteem kan zich in drie toestanden bevinden door niet-continu gebruik v/d processor - Running-toestand: een instructie v/h proces wordt door de processor verwerkt - Ready-toestand: proces is klaar met de uitvoering of om verderzetting (ander proces bezig) - Blocked-toestand: proces heeft zichzelf onderbroeken of processor afgestaan ZIE PAGINA 138 VOOR SCHEMATISCH OVERZICHT Interruptsignalen: regelen de overgangen tussen de verschillende toestanden 8.6.3 Beheer van randapparatuur Besturingsysteem beheerd randapparatuur Zorgt voor toewijzing en controle v/h gebruik v/d apparatuur door de processen Applicaties met opdrachten rond randapparaten doen dit op apparaatonafhankelijke vorm --> niet iedere toepassing moet rekening houden met specifieke hardware details v/h randapparaat De omzetting v/d opdrachten naar de besturing v/h randapparaat --> gebeurt door het besturingsysteem Het is dus de beheerder en de abstractie naar de applicatiesoftware toe 3 Jeroen De Koninck – HIRB – 2012-2013 Voorbeeld: We geven printopdracht --> printer heeft mechanische opdrachten Printer interface zorgt voor omzetting van digitale opdrachten naar mechanische Deze interface is apparaatafhankelijke hardware De signalen zijn dit ook, ze zijn bestemd voor één specifieke printer Maar hetzelfde bestand kan door andere printers ook worden afgeprint --> device driver: zet de afdrukopdrachten om naar de printspecifieke opdrachten Device driver: apparaatafhankelijke software Het besturingsysteem bepaald wanneer en hoelang het apparaat toegang krijgt tot een proces ! Afscherming van specifieke hardware details Zo is er per apparatuur enkel een device driver nodig Een printer is een ondeelbaar randapparaat --> het is toegekend aan een taak voor volledige duur Bij multi-tasking betekent dit dat men sequentieel het device moet gebruiken Wanneer elke taak één dergelijk randapparaat heeft kan men dit verbeteren --> economisch en technisch vaak niet haalbaar Men kan dit oplossen door elke gebruiker van een virtual device te voorzien --> ieder gebruiker krijgt de indruk over een eigen randapparaat te beschikken (werkelijk niet zo) We noemen dit de SPOOLing-techniek (Simultaneous Peripheral Operation On Line) --> men brengt de output op een snelle schijf die doorstuurt naar het device Gebeurd wel in bepaalde volgorde (nog steeds sequentieel) Maar niet meer pas mogelijk bestand af te drukken als vorige gedaan is Er zijn ook deelbare randapparatuur --> meerdere processen tegelijk gebruiken (dit gedurende één of meer relatief korte tijdsintervallen) 8.6.4 Beheer van gegevensbestanden Extern geheugen moet ook beheert worden Men ondersteunt een logisch element (het bestand) --> informatie wordt door het besturingsysteem uniform toegankelijk gemaakt (Ongeacht of het bestand op een harde schijf, memory stick of CD-rom bevindt) Besturingsysteem zorgt vaak ook voor het organiseren van bestanden onderling Voorbeeld: directories of door naamgeving v/h bestand (extensies) Besturingsysteem voorziet dus koppeling tussen logische eenheden en fysische aspecten v/h medium 4 Jeroen De Koninck – HIRB – 2012-2013 8.6.5 Systeembeheerstaken Besturingsysteem is ook een systeembeheerder --> bevat drie grote taken: - Systeemtoegang: controleren of gebruiker gegevens/software mag raadplegen --> vaak via paswoordcontrole - Systeembeveiliging: beheer van besturingsysteem processen en gegevens --> kans op verlies van data minimaliseren --> functie om back-up te maken (herstelling mogelijk maken) - Louter administratieve taken (monitoring voor extern geheugen en randapparatuur Voorbeelden: bijhouden v/d laatste wijziging, hoeveel pagina’s men print, ...) Dit is voornamelijk interessant wanneer er meerdere gebruikers zijn op het systeem 8.7 BESTURINGSYSTEEM ALS ABSTRACTIE VAN HARDWARE Zowel toepassingsprogrammatuur en eindgebruikers worden afgeschermd van hardwaredetails Gebruiker geeft commando’s, vraagt achter diensten bij besturingsysteem Programma doet dit door systeemoproepen (system calls) Hierdoor wordt meer ondersteunt dan enkel machine taal Besturingsysteem zet deze commando’s en systeemoproepen om tot machinetaal De meeste besturingsystemen zorgen voor commando’s die manipuleren Voorbeelden: kopiëren, aanmaken, wissen, benoemen, opvragen, ... van bestanden Commando-interface bepaald hoe men de commando’s moet ingeven - Menugestuurde interface: aanklikken van menuitems - Grafische interface: aanklikken van iconen - Lijngewijze of tekstuele interface: invoeren via toetsenbord Menugestuurde en grafische interfaces zijn doorgaans gebruiksvriendelijker 8.8 ENKELE VOORBEELDEN VAN OPERATING SYSTEMS Keuze v/e operating system wordt bepaald door hardware architectuur Er is een ander besturingsysteem nodig voor IMB-compatibele dan voor Apple computers Ook kan het operating system van mainframe niet gebruikt worden op een PC of tablet Applicatieprogrammatuur wordt afgesteld op een bepaald besturingsysteem --> ze maken gebruik v/d diensten v/h besturingsysteem (zo geen hardware details) 8.8.1 DOS en Windows DOS (Disk Operating System) --> draait op IBM-compatibele computers Het is een monotasking operating system Vroeger was het alleen lijngewijs, nu ook menugestuurde interface ! Er is geen standaard user interface voor applicatiesoftware --> uniformiteit is volledig zoek: DOS-applicaties moeten in eigen user interface voorzien 5 Jeroen De Koninck – HIRB – 2012-2013 DOS werd uitgebreid naar Windows --> werken met grafische user interface als commando-interface --> kan ook voor toepassingssoftware gebruikt worden Hier kan men ook meerdere applicaties opstarten (multiprogrammering) Deze kunnen allen op het scherm worden gebracht Ondertussen staat Windows los van DOS --> Windows is een volwaardig besturingsysteem geworden --> hierdoor is multitasking mogelijk Windows 8 richt zich vooral op touch screens 8.8.2 OS X Dit is het besturingsysteem van Apple --> reeds lang voor Windows boodt Apple muisbesturing, vensters en grafisch user interface aan Vaak kan men op een Apple computerhardware ook Windows-besturingsystemen installeren Voor tablets en smartphones gebruikt men iOS (eigen besturingsysteem) 8.8.3 UNIX en LINUX Unix-besturingsysteem: oorspronkelijk hulpmiddel voor programmeurs en softwareontwikkelaars --> vond ook weg in commerciële omgevingen Unix is een multi-user en multitasking besturingsysteem Het systeem kan op verschillende hardware architecturen draaien Voorbeelden: PC’s, workstations, mainframes, minicomputers, ... Minicomputer: situeren zich qua omvang tussen desktop en mainframes (niet mini dus) Er zijn verschillende Unix-implementaties van hardwareconstructeurs zoals: - AIX van IBM - Solaris van SUN (Oracle) Unix werd ontwikkeld naar open source versie genaamd Linux Unix werd vooral voor server- en mainframe omgevingen gebruikt Linux is meer een alternatief voor Windows (cliënt gericht) 6 Jeroen De Koninck – HIRB – 2012-2013