IT-Universitetet i København
 
  Tilbage Kursusoversigt
Kursusbeskrivelse
Kursusnavn (dansk):Operativsystemer og C 
Kursusnavn (engelsk):Operating Systems and C 
Semester:Efterår 2012 
Udbydes under:Bachelor i softwareudvikling (bswu) 
Omfang i ECTS:7,50 
Kursussprog:Dansk 
Kursushjemmeside:https://learnit.itu.dk 
Min. antal deltagere:12 
Forventet antal deltagere:40 
Maks. antal deltagere:60 
Formelle forudsætninger:----
Information om studiestruktur
Dette kursus indgår på femte semester på bacheloruddannelsen i softwareudvikling. 
Læringsmål:Efter kurset skal du kunne:

• Redegøre for opbygningen af operativsystemer og deres rolle som ressourceadministrator af computere, samt beskrive de fundamentale abstraktioner som et operativsystem tilbyder.

• Beskrive samspillet mellem computeren, komponenterne i et moderne operativsystem og applikationsprogrammer.

• Beskrive virkemåden og samspillet af grundlæggende komponenter af et operativsystem, som CPU skedulering, lagersystem, filsystem og I/O.

• Programmere i sproget C, herunder tilføje et systemkald og implementere et simpelt kernemodul i et operativsystem.

• Anvende et operativsystems basale faciliteter (filsystem, shell, scripts) til at løse problemer, der ellers ville kræve programmering.

• Designe og implementere fler-trådede programmer i C, herunder mekanismer til håndtering af baglås.

• Beskrive metoder til multiprogrammering, skedulering, og synkronisering (semaforer, barrierer, låse, monitorer), samt argumentere for valg af samme. 
Fagligt indhold:• Operativsystemers opbygning. OS som virtuel maskine, og som resurseadministrator.
Systemkald, user mode og privileged mode, interrupts og traps.

• Processer og tråde, implementation af processer og tråde, process control blocks, processtilstande, schedulering, kommunikation mellem processer.

• Proceskoordinering, kritiske regioner og gensidig udelukkelse. Semaforer, barrierer, låse.

• Schedulering, scheduleringsalgoritmer, schedulering af tråde.

• Lageradministration, logiske og fysiske adresser, swapping, fragmentering, paging, segmentering. Virtuelt lager, paging og segmentering, pagetabel, segmenttabel, algoritmer til udskiftning af sider, spildopsamling (garbage collection).

• Filsystemer, komponenter i et filsystem, filtyper, filstruktur, filattributter, ataloger (directories), hardlinks/symlinks, fildeling, implementation af filsystem.

• Input/Output, I/O hardware, diske, organisering af data på en disk, kernens håndtering af I/O, polling, interrupts, DMA, buffering, caching, spooling, device drivers.

• Programmeing i C, pointers, allokering af hukommelse, systemkald, flertrådede programmer, debugging mm. 
Læringsaktiviteter:12 forelæsninger og 12 øvelsesgange

Students will work with the programs in collaboration with a parallel course.

Kurset holdes på dansk, men litteraturen er fortrinsvis på engelsk. 

Eksamensform og -beskrivelse:X. experimental examination form (7-scale; external exam), 7-trins-skala, Ekstern censur

I dette kursus skal de studerende gennemføre obligatoriske aktiviteter (fx deltagelse, opgaver, øvelser, fremlæggelser, produktioner), som skal opfyldes for at blive indstillet til eksamen og evt. for at kunne aflevere skriftlig arbejde til eksamen. Hvis aktiviteterne ikke gennemføres annulleres tilmeldingen til eksamen.

De obligatoriske aktiviteter (datoer annonceres på kursusbloggen/-hjemmesiden):
Afleverings/gennemførelse af obligatoriske aktiviteter inden fredag d. 30. november 2012 kl. 15:00.

Skriftlige arbejder: De godkendte obligatoriske opgaver indgår i den endelige eksamensbedømmelse og skal afleveres ved som skriftlige arbejder den 12. december 2012 inden kl 15:00  

Litteratur udover forskningsartikler:• Kursets lærebog er: Abraham Silberschatz, Peter Baer Galvin, Greg Gagne: Operating System Concepts, 8th Edition, Wiley. International student version.

• Til C programmering kræves ingen lærebog. Online materialer og tutorials fra www.-siderne oplyses under kurset. Hvis I ønsker en bog, kan følgende anbefales: Brian W. Kernighan, Dennis M. Ritchie: The C Programming Language, 2th Edition Prentice Hall. 
 
Afholdelse (tid og sted)
Kurset afholdes på følgende tid og sted:
UgedagTidspunktForelæsning/ØvelserStedLokale
Torsdag 10.00-11.50 Forelæsning ITU ScrollBar
Torsdag 12.00-13.50 Forelæsning ITU ScrollBar
Torsdag 14.00-15.50 Øvelser ITU ScrollBar

Eksamen afholdes på følgende tid og sted:
EksamensdatoTidspunktEksamenstypeStedLokale
2012-12-12 Inden kl. 15:00 Skriftlige arbejder ITU Eksamenskontoret 2E
2013-01-15 Tidspunkt oplyses senere Mundtlig eksamen ITU 4A30
2013-01-16 Tidspunkt oplyses senere Mundtlig eksamen ITU 2A08
2013-01-17 Tidspunkt oplyses senere Mundtlig eksamen ITU 2A08