Emne

Operativsystemer og systemprogrammering (DAT320)

Fakta

Emnekode DAT320

Vekting (stp) 10

Semester undervisningsstart Høst

Undervisningsspråk Engelsk

Antall semestre 1

Vurderingssemester Høst

Timeplan Vis timeplan

Litteratur Pensumlisten finner du i Leganto

Intro

Emnet gir en innføring i operativsystemer, hvordan implementere dem og hvordan programmere effektivt mot dem, spesielt med fokus på trådprogrammering og synkronisering mellom tråder i et program.

Innhold

Emnet gir en innføring i operativsystemarkitekturer og mekanismer for ressurshåndtering i datasystemer. Konkrete tema som dekkes: Virtualisering: prosessabstraksjonen, prosessorfordeling, minnehåndtering, addresserom, adresseoversetting, caching og virtuelt minne. Samtidighet: tråder, samtidighet, parallelitet, synkronisert tilgang til delte data, låser, betingelsesvariabler, semaforer og kanal-basert synkronisering. Varig lagring og Nettverk: Filsystemer, nettverksprogrammering, distribuerte systemer, nettverksfilsystem. Sikkerhet i operativsystemer.

Emnet inkluderer programmeringsoppgaver som dekker hovedkonseptene i emnet, for eksempel minnehåndtering, prosessorfordeling, samtidighet, parallellisme og synkroniseringsteknikker, og verktøy for å analysere og feilsøke ulike aspekter ved slike applikasjoner. Programmeringsspråk som benyttes i dette emnet er primært Go (golang), noe C og Python.

Læringsutbytte

Kunnskap:

  • Vite hvordan operativsystemer fungerer
  • Vite hvordan man kan beskytte operativsystemet mot ondsinnet programvare

Ferdigheter:

  • Være i stand til å programmere mot operativsystemer
  • Være i stand til å programmere deler av et operativsystem
  • Være i stand til å programmere enkle mekanismer for ressurshåndtering
  • Kunne programmere med tråder
  • Kunne utnytte virtualisering for ressursstyring

Generell kompetanse:

  • Kunne viktige generelle prinsipper for ressurshåndtering for datasystemer.

Forkunnskapskrav

Objektorientert programmering (DAT100)

Anbefalte forkunnskaper

Webprogrammering (DAT310), Anvendt matematikk og fysikk i robotprogrammering (ELE130)

Eksamen / vurdering

Skriftlig eksamen

Vekt 1/1

Varighet 4 Timer

Karakter Bokstavkarakterer

Hjelpemiddel Ingen hjelpemidler tillatt, Godkjent enkel kalkulator

Eksamenssystem WISEflow

Trekkfrist 28.11.2025

Eksamensdato 12.12.2025

Skriftlig digital eksamen

Vilkår for å gå opp til eksamen/vurdering

Obligatorisk laboratoriearbeid

Godkjenning skjer via eget innleveringssystem for automatisk evaluering, samt etterfølgende godkjenning på lab. Studentene skal gjennomføre 6 obligatoriske oppgaver. Alle oppgavene må godkjennes for å gå opp til eksamen.

Dersom en student ikke består alle de obligatoriske programmeringsoppgavene, så må studenten ta alle oppgavene om igjen neste gang emnet har ordinær undervisning.

Gjennomføring av obligatorisk lab skal gjøres til de tider og i de grupper som er oppsatt. Fravær på grunn av sykdom eller av andre årsaker skal snarest mulig kommuniseres til laboratorie- eller fagansvarlig. Det kan ikke påregnes å få gjennomføre lab utenom oppsatt tid hvis dette ikke er kommunisert og ny avtale gjort.

Konsekvensen av at du ikke har fått godkjent laboratoriearbeid er at du ikke får gå opp til eksamen i emnet.

Arbeidsformer

6 timer forelesninger og 4 timer veiledede laboratorieøvinger. Labøvingene krever en god del egeninnsats utover veiledede labøvinger.

Overlapping

Emne Reduksjon (SP)
Operativsystemer (BID200_1) , Operativsystemer og systemprogrammering (DAT320_1) 5

Åpent for

Batteri- og energiteknologi Bygg Datateknologi Datateknologi, deltid Elektroteknologi, deltid Elektroteknologi Energi- og petroleumsteknologi Geovitenskap og energiressurser Miljøteknologi Maskin Medisinsk teknologi Medisinsk teknologi - deltid
Enkeltemner på masternivå ved Det teknisk-naturvitenskapelige fakultet
Industriell økonomi - master i teknologi/siv.ing., femårig Kybernetikk og robotteknologi - Master i teknologi/siv.ing. - 5 år
Utveksling ved Det teknisk-naturvitenskapelige fakultet

Emneevaluering

Fakultetet avgjør om det skal gjennomføres tidligdialog i alle emner eller i utvalgte grupper av emner. Formålet er å få tilbakemeldinger fra studentene for forbedringer i semesteret. I tillegg skal det gjennomføres en digital emneevaluering minst hvert tredje år for å innhente studentenes erfaringer.

Litteratur

Book Operating systems : three easy pieces Arpaci-Dusseau, R.H., Arpaci-Dusseau, A.C., [S.l.], Createrspace Independent Publishing Platform, 676 sider, 2018, isbn:978-1-985086-59-3, View online Note Programmeringsoppgavene blir publisert på GitHub. Book The Go programming language Donovan, Alan A. A., Kernighan, Brian W., New York, NY, Addison-Wesley, XVII, 380 sider, [2016], isbn:0134190440; 9780134190440, Book Get programming with Go Youngman, Nathan,, Shelter Island :, Manning, xiii, 344 pages :, [2018], isbn:9781617293092; 1617293091, View online
Emnebeskrivelsen er hentet fra Felles studentsystem Versjon 1