Helsingin yliopisto - Tietojenkäsittelytieteen laitos

581331-5 Käyttöjärjestelmät I (2 ov)
581331-5 Operativsystem I (2 sv)
581331-5 Operating Systems I (2 cu)


Asema opetuksessa

Tietojenkäsittelytieteen cum laude approbatur-oppimäärän pakollinen kurssi.

Tavoitteet

Kurssin tavoitteena on ymmärtää käyttöjärjestelmän tehtävät sekä sen keskeisimmät rajapinnat niin laitteiston kuin sovellusohjelmien suuntaan. Kurssilla tuodaan esiin moniajon toteuttamiseksi tarvittavat laitteistopiirteet sekä KJ:n sovellukselle tarjomat käyttöjärjestelmäpalvelut.

Tällä kurssilla asioita tarkastellaan järjestelmän toiminnaliisuuden näkökulmasta. Täsmällisempään käyttöjärjestelmän toteutukseen liittyvät yksityiskohdat jäävät tämän kurssin ulkopuolelle - niitä käsitellään kurssilla Käyttöjärjestelmät II.

Esitiedot

Esitietoina edellytetään tunnetuksi erityisesti 581305-6 Tietokoneen toiminta (2 ov).

Tämän kurssin jälkeen sopii suoritettavaksi kurssit 581332-8 Rinnakkaisohjelmistot (2 ov) sekä 582405 Käyttöjärjestelmät II (2 ov).

Suoritustavat

Kurssin voi suorittaa

Syksystä 2002 alkaen voi TKTL:n cum laude approbatur -kurssien suoritusta yrittää luentokurssina harjoituspaikan varaamalla vain kahdesti. Yrityskerraksi tulkitaan ilmoittautuminen, jota ei ole peruttu määräaikaan mennessä, yleensä ensimmäisen harjoitusviikon loppuun mennessä. Ennen syksyä 2002 tehtyjä yrityksiä ei lasketa sääntöä sovellettaessa. Erilliskokeilla suorittamiseen ei liity rajoituksia.

Kurssi luennoidaan joka vuosi syyslukukaudella. Luentokurssiin sisältyy

Arvosana määräytyy kurssikuulustelusta ja harjoituksista tai erilliskokeesta saatujen pisteiden perusteella (yleensä) seuraavasti

     pisteitä 30 33 36 39 42 45 48 51
     arvosana 1- 1  1+ 2- 2  2+ 3- 3

Erilliskokeen perusteella arvosanaa määrättäessä ei huomioida kurssin yhteydessä saatuja harjoituspisteitä.

Ilmoittautuminen

Kurssille ilmoittaudutaan Tietojenkäsittelytieteen ILMO-järjestelmän avulla kirjoittautumalla johonkin kurssin harjoitusryhmään. Ilmoittautumisohjelma käynnistyy, kun avaat Internet selaimessa sivun

	ilmo.cs.helsinki.fi

Kurssikuulusteluun ei tarvitse erikseen ilmoittautua. Loppukokeeseen tulee ilmoittautua viimeistään koetta edeltävän viikon maanantaina.

Klikkaa tähän, jos haluat ilmoittautua kurssille nyt.

Kurssimateriaali

Kurssikirjana käytämme kirjaa W. Stallings: Operating Systems. Prentice Hall, 2001, 4th ed. Tätä samaa kirjaa käytetään myös kurssilla Käyttöjärjestelmät II. Muuta hyödyllistä lukemista löytyy kaikista muistakin kirjoista, jotka kantavat nimessään avainsanoja "Operating Systems". Myös Tietokoneen toiminta kurssimonisteesta on apua.

Kurssin kotisivuihin pääset käsiksi URL:lla http://www.cs.helsinki.fi/kurssit/cum_laude/581331-5/.

Kurssin uutis- ja keskusteluryhmä on hy.opiskelu.tktl.kj.

Sisältö

Kurssilla käsitellään Stallingsin kirjan luvut 1, 2.1-2.4, 3.1-3.3, 4.1, 7, 8.1, 11.1-11.4 ja 12.1-12.6 (noin 200 sivua).

1 Computer System Overview

1.1 Basic Elements (1 s): processor, memory, I/O modules

1.2 Processor Registers (2 s): user-visible registers (data, address, index, segment, stack, status), control and status registers (PC, IR, status)

1.3 Instruction Execution (4 s): fetch cycle, execute cycle, I/O function

1.4 Interrupts (11 s): classes, purpose, interrupts and instruction cycle, interrupt processing, multiple interrupts, multiprogramming

1.5 The Memory Hierarchy (4 s): registers, cache, main memory, disk cache, magnetic disk, removable media

1.6 Cache memory (4 s): motivation, cache principles, cache design (size, mapping, replacement algorithm, write policy)

1.7 I/O communications techniques (4 s): programmed I/O, interrupt driven I/O, DMA

2 Operating System Overview

2.1 OS Objectives and Functions (5 s): user/computer interface (program creation & execution, access to I/O devices, controlled access to files, system access, error detection and response, accounting), resource manager (kernel/nucleus), ease of evolution of an OS (hw upgrades, new type of hw, new services, fixes)

2.2 The Evolution of OS (10 s): serial processing (scheduling, setup time), simple batch systems (monitor, resident monitor, job control language, memory protection, timer, priviledged intsructions, interrupts), multiprogrammed batch systems (multiprogramming, multitasking), time-sharing systems

2.3 Major Achievements (12 s): processes, memory management, information protection and security, scheduling and resource management, system structure (OS design hierarchy)

2.4 Characterisctics of Modern OS (3 s): monolithic kernel, microkernel, multithreading, SMP, distributed OS, object-oriented design

3 Process Description and Control

3.1 Process States (16 s): Two-state process model, creation and termination of processes, five-state model, suspended processes (swapping),

3.2 Process Description (10 s): OS control structures, process control structures (PCB / process image)

3.3 Process Control (9 s): modes of execution, process creation, process switching, execution of OS

4 Threads, SMP and Microkernels

4.1 Processes and Threads (15 s): multithreading (examples), thread functionality (states, syncronization), user-level and kernel-level threads, combined approaches, other arrangements (many-to-many vs one-to-many relationship)

7 Memory Management

7.1 Memory Management Requirements (3 s): relocation, protection, sharing, logigal organization, physical organization

7.2 Memory Partitioning (12 s): fixed partitioning, dynamic partitioning, fragmentation and compacting, placement algorithm, replacement algorithm, buddy system, relocation

7.3 Paging (4 s): page, frame, page table

7.4 Segmentation (2 s): segment, segment table

8 Virtual Memory

8.1 Hardware and Control Structures (20 s): locality and virtual memory, characteristics of paging and segmentation, paging (page table structure, TLB, page size), segmentation (virtual memory implications, organization), combined paging and segmentation, protection and sharing

11 I/O Management and Disk Scheduling

11.1 I/O Devices (2 s): human readable, machine readable, communication

11.2 Organization of the I/O Function (4 s): techiniques (programmed I/O, interrupt driven I/O, DMA), evolution of the I/O function, DMA

11.3 OS Design Issues (3 s): design objectives, logical structure of I/O function (logical I/O, device I/O, scheduling and control, directory management, file system, physical organization)

11.4 I/O Buffering (4 s): block-oriented/stream oriented, single buffer, double buffer, circular buffer, the utility buffer, disk cache

12 File Management

12.1 Overview (5 s): files (field, record, file, database, typical operations), file management systems (file system architecture, file management functions)

12.2 File Organization and Access (5 s): pile, sequential file, indexed sequential file, indexed file, direct or hashed file

12.3 File Directories (4 s): contents, structure, naming

12.4 File Sharing (2 s): access rights, simultaneous access

12.5 Record Blocking (2 s): fixed blocking, variable-length spanned blocking, variable-length unspanned blocking

12.6 Secondary Storage Management (9 s): file allocation (preallocation vs dynamic alloction, portion size, file allocation methods, free space management (allocation table, bit tables, chained free portions, indexing), reliability

12.7 UNIX File Management (4 s): inodes, file allocation


Sivu luotu 27.4.2000, Auvo.Hakkinen@cs.Helsinki.FI
Viimeksi päivitetty 17.09.2003