thumb|300px|En engelsk versjon av Linux Mint 18 med skrivebordmiljøet «Cinnamon». Et operativsystem (OS) er den grunnleggende programvaren på en datamaskin, og det som tildeler de forskjellige ressursene i datamaskinen til andre programmer. Én type ressurs er eksterne enheter, som en skriver. Operativsystemet passer for eksempel på at to programmer ikke samtidig sender informasjon til samme skriver, men at de legges i en venteliste før utskrivning. En annen type ressurs er interne enheter som minne og prosessorer. Dette er svært grunnleggende komponenter som operativsystemet også holder styr på.
Man kan betrakte programvare som å være én av to typer: applikasjonsprogramvare eller systemprogramvare. Applikasjonsprogramvare er slikt som tekstbehandlere, regneark og andre programmer som brukeren har direkte kontakt med. Av systemprogramvare er operativsystemet den viktigste. Det holder styr på systemressursene og gjør programmererens jobb enklere. Tilleggsenheter som er koblet til datamaskinen er ofte kompliserte å bruke. En harddisk, for eksempel, trenger detaljerte instruksjoner om å starte motoren sin, stoppe den, flytte på lesehodene og mye annet. Operativsystemet bruker harddisken ved å kommunisere på en standard måte med et driverprogram laget spesielt for enheten. Et annet program som ønsker å skrive noe til harddisken gir bare beskjed til operativsystemet om for eksempel «å skrive teksten 'kongle' til filen "kongle.txt" på katalogen c:\». Operativsystemet, i samarbeid med driverprogrammet, tar seg så av resten av oppgaven.
Operativsystemet er et program som alle andre i datamaskinen. Det er skrevet i et programmeringsspråk og følger vanlige regler for programmer. Forskjellen er at det er det første som lastes inn i minnet når maskinen startes, og det styrer «hverdagen» for alle programmer som lastes inn senere.
Vanlige operativsystem Microsoft Windows er et av de mest brukte operativsystemene for personlige datamaskiner. Dets forløpere kom på begynnelsen av 1980-tallet med MS-DOS fra Microsoft og DR-DOS fra Digital Research. Forkortelsen DOS står for Disk Operating System.
Unix er blant de eldste operativsystemene som fortsatt er i bruk. Det frie operativsystemet Linux brukes også til personlige datamaskiner, men særlig tjenere, superdatamaskiner og forbrukerelektronikk. Linux er en avart av Unix. Blant andre Unix-varianter finner vi Berkeley Software Distribution (BSD).
IBM hadde en periode suksess med sitt OS/2, og Macintosh-maskiner bruker Mac OS (tidligere rett og slett kalt systemet). Nye Macer kjører imidlertid Mac OS X, som er BSD-basert.
Bakgrunn Et moderne datasystem består av komponenter som prosessorer, hovedminne, klokker, inn- og utenheter, lagringsenheter med mer. Operativsystemet holder styr på komponentene og gir applikasjonsprogrammer tilgang til dem. På denne måten behøver ikke hver programmerer kjenne til detaljene ved å bruke de ofte komplekse enhetene, eller hvordan et program skal dele disse med andre programmer. Operativsystemet kan sees på som et lag som skiller applikasjonsprogramvaren fra den ofte mer komplekse maskinvaren.Tanenbaum s. 1
Forskjellige datamaskiner bruker forskjellige typer maskinvare. En applikasjon skrevet til en type datamaskin vil da ikke nødvendigvis kjøre på en annen. Imidlertid kan et operativsystem finnes til flere typer maskiner, noe som gjør at operativsystemet fungerer som en felles plattform utvikleren av en applikasjon kan benytte seg av, uten å tenke på de forskjellige typene maskinvare brukeren kan tenkes å ha.Davis s. 3
Kjente operativsystemer Operativsystemer kan grupperes på flere måter. En av dem er etter bruksområde. Stormaskiner har operativsystemer som er tilpasset deres bruk, minimaskiner sitt og tjenere har sine operativsystemer. Felles for alle disse er at de ikke har interaksjon med brukeren som fokus. På skrivebord og i private hjem finner vi det som tidligere kaltes mikrodatamaskiner, senere kalt hjemmedatamaskin og så PC. Disse har egne operativsystemer, og fra sent på 1980-tallet ble Microsoft sine operativsystemer markedsledende der. Håndholdte enheter som PDAer og mobiltelefoner har operativsystemer som er spesielt tilpasset maskinvaren. En annen kategori OSer er sanntidsoperativsystemer. Disse siste tilbyr tjenester hvor de garanterer responstid. Eksempler er datamaskinen som kontrollerer tenning og drivstofftilførsel i en moderne bil.osdata: Kinds of operating systems (lest 25. juli 12:30)
I tillegg til systemene nevnt i innledningen, som er de mest kjente, finnes det også flere alternative operativsystemer. Blant disse finner vi BeOS, som ikke lenger blir utviklet, men det er flere nye operativsystemer under utvikling som er kloner av eller inspirert av BeOS, et av disse er Haiku. Andre alternative operativsystemer under utvikling er Syllable og SkyOS.
Også samtidens store teknologiske nyhet mobiltelefonen bruker operativsystem. Tidligere var disse ganske primitive, men etter hvert som mobilene har blitt kraftigere og fått flere bruksområder har også mobiltelefonoperativsystemene også blitt mer utbygde. Dette er særlig noe som har kommet samtidig med fargeskjermen og kameramobilene. Eksempler på operativsystemer for mobil er: Symbian, Windows CE, Linux, Android, IOS
Historie thumb|ENIAC, en datamaskin uten operativsystem
Utdypende artikkel: Operativsystemets historie
Verdens første datamaskin, Charles Babbage mekaniske «analytiske maskin» fra 1800-tallet, brukte ikke et operativsystem. Babbage brukte mesteparten av sitt liv og sin formue på å få denne til å virke, men uten større suksess, da datidens mekaniske elementer ikke hadde presisjonen som krevdes. Etter dette var det liten utvikling fram til rundt andre verdenskrig, hvor blant annet Howard Aiken, John von Neumann, J. Presper Eckert og William Mauchley i USA og Konrad Zuse i Tyskland lagde datamaskiner som fylte hele rom med titusenvis av vakuumrør. Disse datamaskinene ble utviklet, bygget, programmert og driftet av den samme gruppen mennesker, og hadde heller ikke noe operativsystem å snakke om. All programmering skjedde i maskinspråk, ofte ved å plugge inn ledninger i riktige hull. Så å si alle problemene disse maskinene løste besto av enkel aritmetikk, som for eksempel å lage store tabeller av sinus og cosinus.
På 1950-tallet ble transistoren oppfunnet, og bildet endret seg radikalt. Nå ble det forskjellige mennesker som sto for henholdsvis utvikling, bygging, programmering og drifting av datamaskinene, og programmer ble lagret på hullkort som de forskjellige utviklerne kunne ta med seg ned i datarommet og kjøre. Programmeringsspråk som Fortran dukket også opp. Siden mye tid gikk med til å bytte hullkort, behandle utskrifter og lignende, så man raskt at et bedre system trengtes. Dette ble batchjobben, hvor en stabel hullkort ble lest inn på magnetisk tape og kjørt etter som datamaskinen ble ledig. Ofte var det flere datamaskiner involvert, én som var god på å lese hullkort og skrive tape og én som var god på å kjøre aritmetikk (for eksempel henholdsvis IBM 1401 og IBM 7094).Tanenbaum s. 6
thumb|En typisk batchjobb under FMS
En typisk jobb er illustrert i figuren til høyre. Den besto av et input-kort, et kort med instruksjoner om hva som skulle lastes, en rekke kort som inneholdt programmet, et kort som fortalte datamaskinen at programmet som akkurat var kompilert skulle lastes i minnet, et kort som fortalte datamaskinen at programmet skulle kjøres, et sett kort med dataene som skulle brukes under kjøring og et kort som fortalte at stabelen med kort var slutt. Kontrollkortene kan sees på som en forgjenger til dagens skriptspråk og kommandotolker.Tanenbaum s. 6-7
Operativsystemer på denne typen inkluderte FMS (Fortran Monitor System) og IBSYS, IBM sitt operativsystem for 7094-modellen.Tanenbaum s. 7
På begynnelsen av 1960-tallet hadde de fleste produsenter to sett produkter; en datamaskinserie for bruk til vitenskapelig tallknusing og en datamaskinserie for bruk til lesing og sortering av data. Denne første typen ble brukt innenfor vitenskap og beregninger, og den andre ble brukt av banker og forsikringsselskaper. Det var dyrt å ha to separate produktserier, og IBM løste dette ved å introdusere System/360. Denne ble levert i et antall forskjellige konfigurasjoner etter kundens behov, og skulle i teorien kunne kjøre samme programvaren uavhengig av akkurat hvilken konfigurasjon den hadde. 360 var den første serien datamaskiner som brukte integrerte kretser, og hadde en stor fordel på ytelse i forhold til pris foran forrige generasjon datamaskiner, som var bygget opp av individuelle transistorer.Tanenbaum s. 8
Operativsystemet OS/360 var flere størrelsesordener større enn forgjengerne, men løste oppgavene sin tross problemene størrelsen frembrakte med tanke på antall feil og vedlikeholdet som krevdes. Dette systemet kan betraktes som en tredje generasjons operativsystem, og det brukte flere teknikker som manglet i andre generasjons produkter som FMS. Den viktigste av disse var multiprogrammering. På datamaskiner som IBMs 7094 måtte datamaskinen gå «på tomgang» hvis en jobb ventet på noen eksterne enheter. I tunge regneoperasjoner var dette relativt sjelden, mens brukere som banker som behandlet mye eksterne data opplevde at prosessoren sto ledig 80-90% av tiden. Dette var ikke holdbart, da det var svært kostbart å drifte disse maskinene. Løsningen var da at minnet ble delt i flere partisjoner, slik at man kunne ha flere jobber inne samtidig. Spesiell maskinvare ble utviklet til tredjegenerasjonssystemer slik at jobbene ikke laget krøll i de andres minneområder.Tanenbaum s. 9-10
En annen teknikk var spooling, som besto i av at man hentet inn jobbene på disk så snart hullkortene var brakt ned til datarommet. Dette medførte at en jobb kunne hentes inn i minnet så snart en annen jobb var ferdig. Dette eliminerte og mye bæring av tape fram og tilbake mellom lesemaskinen og regnemaskinen.Tanenbaum s. 9
thumb|En tidlig terminal, her en Televideo 925, med 4 kB RAM, 4 kB ROM og en RS-232-kobling til tjeneren. Nå ser man det som folk senere ville identifisert som en datamaskin, altså en boks som inneholder et tastatur og en skjerm.
Disse to framskrittene førte til et problem for programmererne, som tidligere hadde hatt datamaskinen for seg selv da de kjørte jobbene sine, noe som gjorde feilfinning mye enklere. Nå var det ofte et flere timer mellom da jobben ble sendt ned til datasenteret og når utskriften kom tilbake. Dette gjorde at man utviklet systemer med flere terminaler, hvor hver programmerer kunne gi kommandoer til datamaskinen etter forgodtbefinnende. Siden en programmerer som feilsøker i et program gir kommandoer som kan utføres fort, altså ikke av typen «sortér en million felter i databasen», så fungerte dette greit. Dette ble kalt timesharing.Tanenbaum s. 10
Etter dette forsøkte man å bygge enorme systemer hvor hundrevis av brukere hadde terminaler. Et eksempel er MULTICS (MULTIplexed Information and Computing Service), som skulle tilby datakraft til alle i Boston. Dette konseptet var vanskelig å sette ut i praksis, og medførte blant annet at General Electrics ga opp datamaskiner i det store og hele. MULTICS innførte dog en rekke ideer som ble brukt senere.Tanenbaum s. 10