Course Telegram group is tkt_kaja
It is intended for peer support for students, though course instructors may also follow the discussion. Please do not give direct answers to home works here, as that would take away good learning opportunities from your peer students.
Course schedule page (see link "Schedule" below) has all lectures, homeworks, exams and answers linked to it.
LITERATURE AND MATERIALS
Stallings, Operating Systems - Internals and Design Principles, 9th ed., Pearson 2018.
You can also use the 8th edition, as well as older editions of the text book.
REGISTERING AND ATTENDANCE
Lectures (Mon, Wed 12-14) are in Finnish.
Summary lectures (Tue 9-11) are in English. If there is no demand for them, they may be cancelled.
Practice session group 4 (Thu 12-14) is also inEnglish.
Homeworks can be done alone or with your study circle (friends).
In practice sessions all problems are first discussed in each table. In this discussion you may assume, that all students are familiar with problems and have at least tried to solve them. If you are not familiar with the problems in advance, you will not gain so much in the practice session as there is no time to cover each problem at that detail. The instructor present will consult each table as needed.
Practice sessions are in Finnish/English. In practice sessions in English (Thu 12-14), table discussions are in English or in Finnish (if everyone understands Finnish), but group discussions are in English.
About midway the practice session the instruction will give out model solutions, and there can be common discussion one some or all homework solutions. The model solutions will be collected back, but they will be available in the web the next week.
It is very helpful for your own learning to discuss and explain homework solutions to some other student, who has also worked on the same problem. Usually the student explaining the solution learns more than the student receiving help. However, please do not give other students your complete answer directly. They do not learn much from that. Good learning is achieved by alternating (a) your own studying, (b) solving practice problems, and (c) discussing problems and their various solutions with other students.
The goal of the homework is learning, not just getting points to pass the course or to get a better grade. Learning happens best when think about the problem, try to solve it your self, and then discuss your solution with other students. There are plenty of similar examples in lectures and text books. Using a homework problem solution only as readable example is a waste of good learning opportunity and a waste of a homework problem.
You will gain homework points from the practice session, but only for the problems you have done and only if you are present. You gain homework points (hwp) from solved problems. More difficult problems are worth 2 hwps. Hwps are then mapped to course points affecting your grade, so that some 5/6 (83%) of maximum hwps gives you the maximum points towards your grade.
There is no possibility to gain hwps without being present in practice sessions. You can not mail your homework answers anywhere. If you cannot attend your own practice session group, please visit some other group that week. If you are absent for 2 or more weeks for some good reason (illness etc), please see the instructor on how that could be taken into account for y our grade.
Course is done by participating actively the lectures, reading the text book, doing homework and discussing them in the practice sessions. You need to show own initiative and scheduling, so that your learning happens according to the weekly schedule. Lecture notes are in the departmental intranet, and you need departmental (TKT) user id to access them: https://www.cs.helsinki.fi/node/129#sivu.
To apply for departmental user account, you really need to start by sending that email mentioned in the instructions.
During the lectures there are four small (45 min, 12 p) mini-exams (in Finnish/English) covering topics in preceding lectures and homework. You can redo some or all mini-exams (1-4) in the replacement exam, which is with the 1st separate exam following this course (April 22, 2020). You cannot redo the mini-exams after that separate exam. So, each mini-exam can be taken twice and the best result is used for each.
Course grade is based on mini-exams (48 p), and participation in homework sessions (12 p). To pass, you need at least 24/48 points from the exams, and at least 30/60 points overall.
Course bookkeeping (Tikli) has a place for homework sessions (Exercises) and four mini exams. Exams 5-8 are for replacement exams. Please check every now and then, that your points are correctly marked.
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.
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.