Operating systems (classes) (ćwiczenia) - 2019/2020

Course description
General information
Lecturer:dr Viktor Melnyk prof. KUL
Organising unit:Faculty of Science and Health - Instytut Matematyki, Informatyki i Architektury Krajobrazu
Number of hours (week/semester): 2/30
Language of instruction:English
Course objective

C1 - to familiarize students with the basic concepts and ideas used in operating systems, both historical and contemporary.
C2 - to present specific solutions used in Unix and Windows operating systems families.

W1 - knowledge of informatics covered by the high school program.
W2 - basic knowledge of computer architecture.
W3 - knowledge of the basics of programming.
W4 - Good computer skills.
Learning outcomes

W1 - Theoretical knowledge of operating systems, used data structures and algorithms (K_W01 K_W02 K_W07 K_W09),
W2 - The student knows the functions of basic directories.
W3 - The student knows devices naming and representation of them as files.
W4 - The student has knowledge of the basic shell commands and utilities commands.
W5 - The student knows the basic configuration of DNS, SMTP, POP3, WWW.

U1 - Ability to use the developer tools on Unix/Linux.
U2 - Knowledge of the selected API system functions of the Unix/Linux operating system (K_U01 K_U02 K_U03 K_U04 K_U05 K_U19).
U3 - Basic ability to create and manage processes on Unix/Linux (K_U01 K_U03 K_U04 K_U11 K_U19).
U4 - The student is able to install the desired distribution of Unix/Linux.
U5 - The student is able to manage users and security groups, as well as read and give them permissions to the files.
U6 - The student is able to mount and unmount the device in the directory tree.
U7 - The student is able to configure basic system settings from the command line.
U8 - The student is able to test basic behavior of the network with support of the system tools.
U9 - The student is able to run basic services available in Unix/Linux.
U10 - The student is able to write simple scripts in a shell.

K1 - skillfully solve complex problems with which they can meet in life, using the known operating system principles, objectively assessing the results (K_K01 K_K03 K_K04 K_K08 K_K10).
K2 - follow ethical standards applicable in the IT industry (K_K06 K_K07).
K3 - work efficiently, in teams and individually, skillfully assessing priorities in the implementation of the project (K_K02 K_K03 K_K04 K_K05 K_K08).
Teaching method

Traditional lecture, conversational lecture with multimedia presentation, teaching methods supported by information techniques.

Practice classes in the computer lab equipped with multimedia projector and internet, dialog methods, problem methods, multimedia presentation, work in a group, individual classes with use of the computer, individual work with the student
Course content description

1. Essence, the role and tasks of the operating system. Types of operating systems. The structure of the system. Historical sketch of development of operating systems - from batch to interactive systems.
2. The evolution of operating systems. The properties and desired features of operating systems. Processes, processors, concurrent processing. Resources, processes and threads.
3. Planning the processor allocation. Planning algorithms and assessment criteria. Implementation of processes and threads planning algorithms.
4. System mechanisms for process synchronization. Communication between processes - mutual exclusion, synchronization and locking. Semaphores - principle of operation, implementation. The use of semaphores in inter-process communication.
5. Memory hierarchy. Main memory management. Main memory control and allocation.
6. Memory management - objectives. Virtual memory - implementation.
7. File systems - folders, sharing and data protection. Logical and physical organization of the file system. Methods of organization of the auxiliary memory. The integrity of the file system.
8. Input / output system and its mechanisms. Types of input-output devices. The structure of the input-output mechanism. Buffering.

1. Installation of the system.
2. Introduction and maintenance of the file system in Linux.
3. Linux - console. Operations on directories and files. User accounts. Mounting and unmounting of the devices.
4. Processes, variables, programs, files, standard output and input.
5. Filters, standard streams and stream processing.
6. Creating shell scripts for the Linux operating system.
7. Work with vi editor.
8. Work with joe editor.
9. Work with Midnight Commander.
10. Work with X Windows and its configuration.
Forms of assessment

The condition for passing the classes is the student\'s presence, executing laboratory works and obtaining grades, getting a positive assessment for the answers to the control questions in each laboratory work.

The final grade for the classes is formed as the laboratory work execution results - 70%, the presence - 30%.

The exam (for those who passed the exercises) consists in conducting a test of the knowledge provided during the lecture. The exam grade is formed on the basis of two components:
70 % - written answers to test tasks and oral answers in case of doubt,
30% - the grade obtained from the exercises.

A grading scale is given below:
Less than 50% - unsatisfactory (2.0).
Detailed assessment rules are given to students with each subject edition.

W1, U1, U2 – written exam, laboratory work, preparation for classes
K1, K2, K3 – work and activity on classes


Hours realized in the scope of the study program:
lectures 15
classes 30
Total number of hours with the participation of an academic teacher 45
Number of ECTS credits with the participation of an academic teacher 2

own work
Studying literature 20
Preparation for the laboratory work 20
Preparation for the exam 20

Total number of hours of own work 60
Number of ECTS credits 2

Total number of ECTS credits for the module 4
Required reading list

1. Andrew S. Tanenbaum: Systemy operacyjne. Wydanie III. Helion, 2010.
2. William Stallings: Systemy operacyjne. Struktura i zasady budowy. WNT, Warszawa 2006
3. Шеховцов, В. А. Операційні системи [Текст] : підруч. для студ. вищ. навч. закл. / В. А. Шеховцов. - К. : BHV, 2005.
4. Abraham Silberschatz, Peter B. Galvin, Greg Gagne: Podstawy systemów operacyjnych. WNT, Warszawa 2006

1. M.J. Bach: Budowa systemu operacyjnego Unix, WNT, Warszawa 1994
2. T.W. Ogletree: Windows XP PL. Księga eksperta, Helion, Gliwice 2002
3. U. Vahalia: Jądro systemu Unix, WNT, Warszawa 2000
4. D.A. Solomon: Inside Windows NT, Microsoft Press, 1998
5. B. Goodheart, J. Cox: Sekrety magicznego ogrodu. UNIX® System V Wersja 4 od środka. WNT, Warszawa 2001.
6. U. Vahalia: Jądro systemu UNIX®. Nowe horyzonty. WNT, W-wa, 2001.
7. D. A. Solomon, M. E. Russinovich: Microsoft Windows® 2000 od środka, Helion, 2003.
8. R. Lowe: Kernel Linux. Przewodnik programisty, Helion, 2004
Field of study: Informatics
Course listing in the Schedule of Courses:
Year/semester:Year II - Semester 4
Number of ECTS credits: 0
Form of assessment: Grade