Kaisa_2012_3_photo by Veikko Somerpuro

1.5.2020 at 09:00 - 31.5.2020 at 23:59


Teemu Kerola's picture

Teemu Kerola

Published, 1.6.2020 at 15:57

Tämä tentti järjestetään Moodlessa.
This exam will be in Moodle.


Teemu Kerola's picture

Teemu Kerola

Published, 8.5.2020 at 13:44

Tämä koe pidetään Moodlessa 12.6.2020 klo 10-14. Ilmoittaudu kokeeseen ajoissa.

This exam is in Moodle on 12.6.2020 at 10-14. Register for the exam in time.



Compulsory course in basic studies in Bachelor of Computer Science Program.
Compulsory course in basic studies in Computer Science Specialization Path in Bachelor of Science Program.
Open for students in all other study programs.

Contents of the course Computer Organization I in advance.

Courses Introduction to Data Communication and Distributed Systems.

After this course student can Describe the services given by operating systems, and how those services work. Describe general operating systems structures with their interfaces. Describe the position of the operating system in modern data processing environment. Describe the tasks and the structure of operating systems. Describe the control systems and tasks to manage processes and threads. Describe different methods to protect processes and the use of different processor states (user/privileged) for that purpose. Describe various ways to execute threads at different levels. Describe basic scheduling techniques for one processor systems, multiprocesor systems, and real time systems. Compare the suitability of scheduling techniques with different work loads. Select and explain the most practical way to execute threads for given software system. Explain, how shared memory and other methods are used for process and thread communication. Explain the need for concurrency in applications. Explain with examples, which factors lead to concurrent actions at hardware and software level. Explain the importance of different scenarios when examining the execution of concurrent programs. Give examples of common problems that may result in an incorrect concurrent solution. Explain the nondeterministic nature of the concurrent processes and its effects. Explain the advantages, disadvantages, implementation levels and implementation methods of concurrency. Explain the requirements for solutions to the concurrency proble (e.g., define correctness and correctness in all scenarios) and find a scenario leading to an erroneous outcome. Explain the basic concepts of concurrent execution: atomicity, critical phase (or section), synchronization, communication, deadlock. Explain the basic concurrency problems: critical section problem, turn ticket, readers-writers, producer-consumer, client server, and boom synchronization. Describe the occurrence of a deadlock, and explain the necessary and adequate conditions for deadlock to occur. Design the solution to critical section problem using the most appropriate method: interrupt disabling, busy-wait, semaphore, monitor, messages. Explain the semaphore and monitor structures, and use them correctly in problem solving. Apply basic concurrency solution models in practical problem solving. Explain, how deadlock can be detected with the DDA algorithm, how the detected deadlock can be recovered from, and how deadlock can be prevented in advance by either the banker's algorithm or other means. Describe the general principle and key concepts of virtual memory (VM) implementation (paging, page table, address translation, TLB, page faults). Describe multi-level paged VM operation. Simulate at algorithm level the address translation in (multi-level) paged VM system. Analyze, how page size affects process operation and page table size. Justify selecting certain page size. Describe the benefits and disadvantages of (multilevel) paging and segmentation methods. Describe at algorithm level the VM implementation: page fetch and replacement policies, resident set size management policies, multiprogramming level policies. Describe the basic structure of the file system and its components. Explain how communication between peripheral devices and operating system works. Explain the basic scheduling algorithms for hard disk. Explain the basic idea of ??RAID implementations. Explain different RAID implementations and compare their features. Explain various file organization types and when they are practical to use (pile, sequential, indexed sequential, indexed, hashed). Explain use of B-trees in index implementation for files. Explain basic operating system security threats and the methods to secure the operating system against them. Explain the access control mechanisms in operating systems.

1st or 2nd year of studies, after the course Computer Organization I. Normal lecture course offered in period 3 in Spring semesters.

Operating systems structure and basic operating principles Processes and threads Mutual exclusion problem, synchronization problem, deadlock and starvation Memory management, virtual memory Process and thread scheduling (one processor systems, multiprocessor systems and real time systems) I/O management, disk scheduling, RAID, file management Operating system security, access control mechanisms

William Stallings, Operating Systems - Internals and Design Principles, 9th ed, Pearson 2018. All students should have access to the text book. New editions for the text book can be taken to use immediately after publication.

Student: lectures with small group discussions, doing the homeworks independently and discussing them in (small) groups in practice sessions, exams. Instructor and teaching assistants: creating the lecture material, lectures, supervising exams, homeworks and their solutions, supervising practice sessions, making exam questions and answers for them, grading the exams, supervising teaching assistants, updating course information in web, bookkeeping for the course, student grading.

Course grading is based of performance in exams as well as doing the homeworks and discussing the solutions
for them in practice sessions. Grade is given in scale 0-5.

Due to current COVID-19 situation general examinations in lecture halls are cancelled. You can check the completion method from the course page or contact the teacher to ask about alternative completion methods. General exams last 3 hours and 30 minutes. Renewal exam (marked with "(U)") is the first general exam after the course and also a renewal exam of course exam(s). In a renewal exam the points student has earned during the course are taken into account. Exams marked with "(HT)" are allowed only to students who have completed the obligatory projects or other exercises included in those courses. Exams marked with "(HT/U)" are renewals to students who have completed the obligatory projects during the course. General exams might cover different area than the lectured course. Check the course web page and contact the responsible teacher if in doubt.

Lecture course contains lectures, practice sessions and mini exams during lectures. You must be present in practice sessions and exams. With separate (final) exam, the grade is based solely on that exam.