en_GB
Hold Ctrl-tasten nede. Trykk på + for å forstørre eller - for å forminske.

DAT320_1

Operativsystemer og systemprogrammering

Dette er studietilbudet for studieår 2020-2021.


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.

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.

Innhold

Emnet gir en innføring i operativsystemarkitekturer og mekanismer for ressurshåndtering i datasystemer. Konkrete tema som dekkes: Kjerneabstraksjonen, prosesser, programmeringsgrensesnitt, tråder, samtidighet og parallelitet, synkronisert tilgang til delte objekter, multi-objekt synkronisering og prosessor. Minnehåndtering: Addresseoversetting, caching og virtuelt minne. Varig lagring: Filsystemer og pålitelig lagring gjennom transaksjonsbasert filsystemkonsistens. Sikkerhet i operativsystemer.
Kurset inkluderer programmeringsoppgaver som fokuserer på hovedkonseptene i kurset, for eksempel minnehåndtering, prosessor fordeling, samtidighet, parallellisme og synkroniseringsteknikker, og verktøy for å analysere og feilsøke ulike aspekter ved slike applikasjoner. I sluttprosjektet skal studentgrupper utforme et større system eller deler av et operativsystem ved hjelp av teknikkene som er dekket av kurset.
Programmeringsspråk som benyttes i dette emnet er primært Go (golang) og noe C.

Forkunnskapskrav

ING100 Ingeniørfaglig innføringsemne - Data og elektro

Anbefalte forkunnskaper

DAT110 Grunnleggende programmering

Eksamen/vurdering

Skriftlig eksamen og programmeringsprosjekt
Vekting Varighet Karakter Hjelpemiddel
Skriftlig eksamen3/54 timerA - FIngen hjelpemidler tillatt
Programmeringsprosjekt2/5 A - F
Prosjektoppgaven består av en større programmeringsoppgave. Prosjektoppgaven utføres i gruppe. Karakteren for prosjektoppgaven settes baseres på innlevert programkode og individuell muntlig fremføring. Begge deler må gjennomføres før endelig karakter fastsettes. Gruppemedlemmene kan få ulik karakter basert på den muntlige fremføringen.
Hvis en student ikke består prosjektoppgaven, må denne tas om igjen neste gang emnet undervises.

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

Obligatorisk laboratoriearbeid
Fem obligatoriske individuelle laboppgaver (programmeringsoppgaver). Godkjent/ikke godkjent. Alle programmeringsoppgavene må godkjennes for å gå opp til skriftlig eksamen. Godkjenning skjer ved innlevering via Autograder systemet for automatisk evaluering, samt etterfølgende godkjenning på lab.
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.
Konsekvens av at du ikke har fått godkjent laboratoriearbeid er at du ikke får gå opp til eksamen i emnet.

Fagperson(er)

Faglærer
Hein Meling
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 - bachelorstudium i ingeniørfag
Enkeltemner ved Det teknisk-naturvitenskaplige fakultet

Emneevaluering

Skjer vanligvis ved skjema og/eller samtaler etter gjeldende retningslinjer.

Litteratur


Lenke til pensumlitteratur


Dette er studietilbudet for studieår 2020-2021.

Sist oppdatert: 07.07.2020

Historikk