Et styresystem, eller operativsystem (forkortet: OS) er det grundlæggende program på en computer, der gør den i stand til at varetage computerens hardware (de fysiske dele), så den kan udveksle data og indlæse programmer. Styresystemet er meget komplekst og er forbundet til størstedelen af alle enhederne på computeren. Blandt de mest velkendte styresystemer findes der bl.a. Windows, MacOS, Linux, Android og iOS.
I et styresystem er software og hardware tæt forbundet sammen – derfor er det svært at sige præcist hvad der hører til styresystemet og hvad der ikke gør. Generelt forbinder man tre specifikke enheder med nutidens styresystemer: Kernen, drivere og skalden.
Kernen er styresystemets hjerne. Den er ansvarlig for at kontrollere computerens ressourcer og fordele dem rundt til de steder i computeren hvor der er behov for dem. Disse ressourcer omfatter bl.a. computerens lagerplads, RAM og CPU-ressourcer.
Drivere er systemer installeret i styresystemet som fungerer som en slags “tolke” for diverse enheder. Deres job er at oversætte data fra forskellige eksterne enheder og delsystemer, som f.eks. muse, tastaturer, lydenheder, printere, filsystemer og meget mere. Uden drivere ville computeren ikke være i stand til at benytte nogle af disse enheder.
Skallen kan betragtes som den ydre del af kernen. Det er den del som man kender bedst, da det er det program, som brugeren anvender til at kommunikere med styresystemet. Før i tiden var skallen et tekstbaseret kontrolpanel, hvor man indsatte noget tekst i styresystemet, som så spyttede et resultat ud. I dag bruger man grafiske brugerflader som er meget mere intuitive og brugervenlige. Alt det, som du ser på din computer-, tablet, eller smartphone-skærm er dit styresystems grafiske brugerflade. Hvis du f.eks. har en Macbook med styresystemet MacOS, så vil den grafiske brugerflade omtrent se sådan her ud når du åbner computeren:
Alt det som du ser på skærmen (programmer, filer, vinduer mm.), er opbygget på en helt bestemt måde takket være skallen i din enheds styresystem.
Èt program ad gangen
I 1940’erne og 1950’erne var computere meget langsomme og kunne derfor kun køre ét program ad gangen. Det betød, at en programmør ville blive nødt til at skrive et program ved deres kontorplads, f.eks. på hulkort, hvorefter de ville bære hulkortene hen til et andet rum, med en stor computer der fyldte hele rummet, og give hulkortene til en computeroperatør. Computeroperatøren ville så indsætte hulkortene manuelt i computeren, hvilket kun var muligt, hvis computeren ikke var igang med et andet program. Computeren ville så indlæse hulkortene og udprinte programmets resultat på papir.
Hele denne proces var meget manuel, og virkede fint i begyndelsen, dengang computere var langsomme, og det ofte tog flere dage for dem at indlæse et program. Men i begyndelsen af 1950’erne og de efterfølgende år blev computere meget mere kraftfulde. Lige pludselig kunne den langsomme proces, hvor man indlæste programmet manuelt i computeren, ikke længere hamle op med computerens kraft, og man havde derfor behov for en ny måde, hvorpå man kunne indlæse programmer.
Styresystemets skabelse
Som nævnt tidligere, er et styresystem et grundlæggende program, som er i stand til at indlæse andre programmer. Derfor er styresystemet også det første program der starter, når man tænder for en computer. F.eks. hvis du har en Windows-computer, så vil du opleve, at det er Windows-styresystemet der starter, når du tænder for din computer, og at alle andre programmer kun kan åbnes igennem dette program.
I begyndelsen af styresystemets skabelse, i 1950’erne, var deres hovedprioritet at være i stand til at indlæse flere programmer på én gang. Dette kaldes for batch processing (på dansk: batchbehandling). Hvis computeren var færdig med et program, så ville det automatisk begynde på det næste uden interaktion fra brugeren.
Det næste problem der opstod i forbindelse med indlæsningen af programmer var, at computere var blevet billigere og mere udbredte, hvilket betød at man begyndte at dele programmer der var lavet på én computer til andre computere. Derfor kunne programmører ikke længere nøjes med at skrive kode for en enkel computer. De skulle tage højde for konfigurationerne på alle de computere og perifere enheder (ydre enheder som kan forbindes til en computer, f.eks. mus, tastatur og printer), som programmet skulle kunne virke på. Dette var en meget besværlig proces.
For at komme problemet til livs, blev styresystemer udviklet på en ny måde, så de fungerede som en mellemliggende enhed mellem programmerne og computerenhederne. Dette var muligt ved hjælp af hardwaredrivere. Disse drivere forsikrede at computerens styresystem kunne kommunikere sammen med de forskellige enheder.
Nu kunne programmører benytte standardiserede funktioner for at få et styresystem til at gøre hvad de ville have.
Supercomputeren, Atlas
I slutningen af 1950’erne begyndte Manchester Universitet at arbejde på at skabe en supercomputer ved navn Atlas. Atlas var blandt de første supercomputere i verden. Formålet var at lave en rigtig hurtig computer der kunne konkurrere med alle andre computere. For at gøre dette, skabte de et styresystem kaldet Atlas Supervisor, som blev færdigt i 1962.
Udover at kunne foretage batch processing ligesom tidligere styresystemer, så var dette styresystem også i stand til at indlæse flere programmer samtidigt på et enkelt CPU. Dette var muligt ved at den kunne sætte et program midlertidigt på pause indtil det var klar til at indlæse, hvorimens den kunne fokusere på andre programmer.
Helt grundlæggende, gjorde styresystemet at Atlas blev i stand til at multitaske, hvilket var helt nyt i computerverdenen.
Virtuel hukommelse
Atlas’ evne til at multitaske betød dog også at computeren ikke havde tilstrækkelig RAM til at indlæse særligt mange programmer. For at gøre bugt med dette problem tildelte styresystemet hvert program sin egen hukommelse. Dette var dog en meget kompleks løsning, der var svær at håndtere i praksis. Derfor opfandt man virtuel hukommelse – også kaldet swapping.
Virtuel hukommelse er en teknik der gør det muligt for computeren at indlæse programmer der kraver mere RAM end det som er tilgængeligt. Det gjorde det meget nemmere for programmører, at få computere til at indlæse flere programmer samtidigt.
En fordel ved at hvert program har sin egen hukommelse er, at de er mere separeret fra hinanden. Det betyder, at hvis ét program har en fejl, så vil det ikke have nogen indflydelse på de resterende programmer i styresystemet. Denne funktion kaldes hukommelsesbeskyttelse. Eftersom programmerne var separate, betød det også at malware ville have sværere ved at få adgang til til andre programmer.
Styresystemets udbredelse
I slutningen af 1960’erne og begyndelsen af 1970’erne var computere blevet så billige at arbejdspladser og skoler kunne have råd til dem, så medarbejdere og elever kunne benytte dem. Brugerne kunne kommunikere med computerens styresystem via en terminal – det vil sige et tastatur og computer som var forbundet med computeren, men som ikke selv havde noget computerkraft.
Eftersom mange mennesker skulle bruge den samme computer, begyndte man at udvikle et koncept kaldet tidsdeling. Dette koncept betød, at computeren uddelte sin computerkraft til forskellige brugere, så de ikke ville være i stand til at bruge computerens fulde kraft. På det her tidspunkt var computere blevet så kraftfulde, at selv en mindre brøkdel af computerkraften var nok til hver bruger. Et af de første styresystemer som gjorde brug af dette koncept, var MULTICS i 1969.
UNIX
To programmører fra MULTICS, Ken Thompson og Dennis Ritchie, var utilfredse med den måde som MULTICS var struktureret. De byggede derfor deres eget styresystem, kaldet UNIX, som blev udgivet i 1971.
UNIX var opdelt i følgende dele:
- Kernen – som gjorde at hardwaren kunne tilgås og stod for alle styresystemets kernefunktioner
- libc – et standardiseret programbibliotek, der gav adgang til kernen og en masse funktioner
- Diverse systemprogrammer, som var nødvendige for at styresystemet kunne fungere
UNIX var meget nemt at have af gøre med, da stort set alle programfunktioner kunne aktiveres i programmeringssproget C. Derudover var stort set alt data i UNIX opdelt i et hierarki af filer, hvilket gjorde det meget nemt for styresystemet at kommunikere med andre enheder.
UNIX var det mest populære styresystem i 1970’erne og 1980’erne.
Personlige computere
I 1980’erne begyndte computere at blive så billige, at man efterhånden kunne have råd til at have en stående i hjemmet. De mennesker der benyttede computere var ikke længere blot computereksperter. Derfor skulle styresystemet være så simpelt at enhver kunne finde ud af at bruge det. Det betød, at man begyndte at udvikle grafiske brugerflader der viste hvad der foregik på computeren, hvor man før i tiden blot havde linjer med tekst, som man kunne udfylde.
Microsofts Disk Operating System, også kaldet MS-DOS, blev udgivet i 1981. Det fyldte kun 160 kilobytes og var så kompakt, at det kunne installeres på en computer via en disk. MS-DOS var dog ikke ligeså kraftigt som tidligere styresystemer, men til gengæld var det simpelt og let at installere på en hjemmecomputer.
Microsofts efterfølgende styresystemer, Windows 1.0, 2.0 og opad, manglede også mange funktioner fra tidligere styresystemer, hvilket betød, at de ofte crashede, men de var stadig de absolut mest populære styresystemer i 1980’erne og 1990’erne.
Det nye årtusinde for styresystemer
I årene efter de første personlige computere, er computere blevet mere kompakte og meget mere kraftfulde. Ligeledes er deres styresystemer også blevet mere kraftfulde. De har allesammen beskyttet og virtuel hukommelse og besidder evnen til at multitaske. Samtidigt er vores telefoner også blevet så kraftfulde at de, ligesom computere, også skal have et kraftfuldt styresystem.
I dag er markedet for computerstyresystemer primært domineret af to selskaber: Apple, som har lavet deres eget styresystem til deres Macbook- og iMac-computere, kaldet MacOS, og Microsoft, som stadig har den absolut største markedsandel for deres Windows-styresystem. I dag hedder den nyeste version Windows 10. Udover disse to har Google også lavet deres eget styresystem, kaldet Chrome OS, som har en mindre markedsandel.
I nedenstående diagram kan du se markedsandelen for computerstyresystemer i 2021:
Ligeledes er der to dominerende styresystemer for mobiltelefoner: Google’s Android, som er installeret på mobiltelefoner fra Samsung, OnePlus, Google, Huawei og mange flere, og Apple’s iOS, som er installeret på deres egen mobiltelefon, iPhone, samt deres tablet, iPad.
I nedenstående diagram kan du se markedsandelen for mobilstyresystemer i 2021:
Nutildags er styresystemerne og deres grafiske brugerflader så brugervenlige og kraftfulde at næsten alle kan bruge dem uden at have noget erfaring med computere. Som det ser ud nu, er markedet for styresystemer domineret af enkelte store spillere, men som vi også har set tidligere, så kan der sagtens dukke nye systemer op som vil indlede en ny æra for styresystemer.