Operativsystemer og systemprogrammering (DAT320)

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.


Dette er emnebeskrivelsen for studieåret 2024-2025. Merk at det kan komme endringer.

Fakta

Emnekode

DAT320

Versjon

1

Vekting (stp)

10

Semester undervisningsstart

Høst

Antall semestre

1

Vurderingssemester

Høst

Undervisningsspråk

Engelsk

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 kurset, 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

DAT120 Grunnleggende programmering

Anbefalte forkunnskaper

DAT310 Webprogrammering, ELE130 Anvendt matematikk og fysikk i robotprogrammering

Eksamen / vurdering

Vurderingsform Vekting Varighet Karakter Hjelpemiddel
Skriftlig eksamen 1/1 4 Timer Bokstavkarakterer Godkjent enkel kalkulator

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

Obligatorisk laboratoriearbeid

Godkjenning skjer via eget innleveringssystem for automatisk evaluering, samt etterfølgende godkjenning på lab. 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.

Fagperson(er)

Emneansvarlig:

Nejm Saadallah

Faglærer:

Nejm Saadallah

Instituttleder:

Tom Ryen

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) 5

Åpent for

Datateknologi - bachelor i ingeniørfag
Enkeltemner ved Det teknisk-naturvitenskaplige fakultet
Utveksling ved Det teknisk- naturvitenskapelige fakultet

Emneevaluering

Det skal være en tidligdialog mellom emneansvarlig, studenttillitsvalgt og studentene. Formålet er tilbakemelding fra studentene for endringer og justering i emnet inneværende semester.I tillegg skal det gjennomføres en digital emneevaluering minimum hvert tredje år. Den har som formål å innhente studentenes erfaringer med emnet.

Litteratur

Pensumlisten finner du i Leganto