27.03.2014 Views

Studiehandboken 06/07 del 4 - KTH

Studiehandboken 06/07 del 4 - KTH

Studiehandboken 06/07 del 4 - KTH

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<strong>KTH</strong> Studiehandbok Studiehandbok 20<strong>06</strong>-20<strong>07</strong><br />

2G1504 Operativsystem<br />

Poäng/<strong>KTH</strong> Credits 4<br />

ECTS-poäng/ECTS Credits 6<br />

Kursnivå/Level<br />

C<br />

Betygsskala/Grading, <strong>KTH</strong> 3, 4, 5<br />

ECTS-betygsskala/Grading, ECTS<br />

A-F<br />

Obligatorisk för/Compulsory for<br />

KSI(I3)<br />

Språk/Language<br />

Svenska / Swedish<br />

Kurssida/Course Page<br />

http://www.it.kth.se/courses/2G1504<br />

Operating Systems<br />

Kursansvarig/Coordinator<br />

Robert Rönngren, robertr@it.kth.se<br />

Tel. 08-790 41 12<br />

Kursuppläggning/Time Period 4<br />

Föreläsningar 24 h<br />

Övningar 10 h<br />

Studenter som registrerats på 2G1504 före 04/05 kan och skall fram t.om ht <strong>06</strong> fullfölja en labbkurs motsvarande den som gavs fram till och<br />

med 03/04. Därefter kommer dessa studenter att fullfölja en kurs motsvarande 2G1520<br />

Kortbeskrivning<br />

Kursen är avsedd för I-studenter . Kursen ger kunskap om operativsystem<br />

vilket är den <strong>del</strong> av ett datorsystem som gör datorn användbar för<br />

programmerare/användare, dvs den <strong>del</strong> av datorsystemet som implementerar<br />

exekvering av program (processer), minneshantering, filsystem,<br />

kommunikation, tillåter flera samtidiga användare mm. Kursen ger kunskaper<br />

om principerna för konstruktion av en-processors operativsystem och<br />

distribuerade filsystem. Sammantaget ger kursen både praktiskt användbara<br />

och teoretiskt grundläggande kunskaper för den som avser arbeta med<br />

datorsystem och/eller programmering<br />

Mål<br />

Efter kursen skall studenterna ha goda kunskaper i och förståelse för hur ett<br />

enprocessorsoperativsystem är uppbyggt. Studenterna skall kunna skriva<br />

program med systemanrop och ha god förståelse för hur operativsystemets<br />

uppbyggnad påverkar applikationsprogram speciellt med hänsyn till<br />

prestanda. Studenterna skall också ha god förståelse för&nbsp;<br />

problemställningar kring distribuerade filsystem<br />

Kursinnehåll<br />

Föreläsningskursen omfattar:&nbsp; Avbrottshantering, systemanrop, minnes<br />

hantering, virtuellminnestekniker, input/output, sekundärminneshantering,<br />

processer, interprocesskommunikation, säkerhetsproblematik, drivrutiner,<br />

filsystem, distribuerade filsystem samt C-programmering. Som fallstudie<br />

används i huvudsak operativsystemet UNIX och Windows-NT baserade<br />

operativsystem som WINDOWS-2000 och WINDOWS-XP.<br />

Övningskursen omfattar: C-programmering, UNIX processhantering och<br />

interprocesskommunikation via pipes, minneshantering i UNIX,<br />

implementering av UNIX filsystem, distribuerade filsystem med fallstudie av<br />

ett distribuerat filsystem t.ex NFS, remote-procedure-calls.<br />

Laborationskursen omfattar laborationer på: systemanrop för<br />

processhantering, processkommunikation och interprocesskommunikation i<br />

UNIX,&nbsp; samt utvärderande litteraturstudier.<br />

Förkunskaper<br />

Grundläggande datorteknik/arkitektur motsvarande Datorteknik grundkurs<br />

(2G1518). Programmeringsvana i högnivåspråk som JAVA, Pascal eller<br />

liknande. Kunskaper om C-programmering motsvarande de som ges i<br />

Datorteknik grundkurs (2G1518). Gärna god vana som LINUX/UNIXanvändare<br />

Påbyggnad<br />

2G1510 Datorteknik fk, 2G1319 Kommunikationssystem och 2G1509<br />

Distribuerade system.<br />

Kursfordringar<br />

Tentamen och laborationskurs<br />

Kurslitteratur<br />

A.S. Tanenbaum. Modern Operating Systems, second edition. Prentice-Hall<br />

(2001).<br />

Laborations-PM och övningsexempel finns på kursens hemsida<br />

Abstract<br />

The course gives knowledge and<br />

understanding of the principles for<br />

design of uni-processor operating<br />

systems and understanding of the<br />

principles of design of distributed<br />

operating systems.<br />

Aim<br />

The course is aimed at giving the<br />

students comprehensive knowledge and<br />

understanding of the design and<br />

implementation of uni-processor<br />

operating systems. After the course, the<br />

students should have good knowledge of<br />

how to write applications based on<br />

system calls and good understanding for<br />

how the design of the underlying<br />

operating system affects the<br />

performance of application programs.<br />

Moreover, the students should have<br />

good understanding of the particular<br />

problems encountered in distributed<br />

operating systems.<br />

Syllabus<br />

The lectures presents material on uniprocessor<br />

and distributed operating<br />

systems.<br />

The uni-processor part covers;<br />

Interrupts, System Calls, Memory<br />

Management, Techniques for Virtual<br />

Memory Management, Input/Output<br />

systems, Secondary Storage<br />

management, File Systems. Unix and<br />

Windows-NT are used as the main case<br />

studies.<br />

Topics included in the lectures on<br />

distributed operating systems include:<br />

Communication and Synchronization in<br />

tightly coupled systems, Interprocess<br />

Communication, Distributed File<br />

Systems.<br />

Tutorials include: UNIX Process<br />

Management and Interprocess<br />

Communication by pipes, Memory<br />

Management in UNIX, UNIX File<br />

System design and implementation,<br />

Distributed file systems, Case study of a<br />

distributed filesystem such as NFS,<br />

Remote Procedure Calls.<br />

Laborations include: System calls for<br />

Process Management and Interprocess<br />

Communication in UNIX, Memory<br />

Management algorithms, and<br />

Interprocess Communication in<br />

distributed systems.<br />

Prerequisites<br />

Knowledge of C-programming is<br />

required. Knowledge corresponding to<br />

Computer Hardware, basic course<br />

2G1502,. Good practice as UNIX user.<br />

ICT Skolan för informations- och kommunikationsteknik 687

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!