Tietojenkäsittelytieteen cum laude approbatur-oppimäärän pakollinen kurssi.
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.
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).
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ä.
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.
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.
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.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.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.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.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.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.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.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.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
1 Computer System Overview
2 Operating System Overview
3 Process Description and Control
4 Threads, SMP and Microkernels
7 Memory Management
8 Virtual Memory
11 I/O Management and Disk Scheduling
12 File Management
Sivu luotu 27.4.2000,
Auvo.Hakkinen@cs.Helsinki.FI