Course detail
Operating Systems
FEKT-BOSYAcad. year: 2016/2017
The concept of an operating system (OS) as a part of software of a computer system. Architectures of operating systems, a classification of operating systems. An overview of the contemporary operating systems. UNIX: The kernel of the OS, its structure, calling services of the kernel. The user interface of the UNIX OS, graphical and text-based interfaces, command languages. Context switching, multitasking. Basic principles of the implementation of the UNIX OS. File systems. Management of processes, virtual memory. Basic principles of computer networks, Internet, TCP/IP. Administration and security of operating systems.
Language of instruction
Number of ECTS credits
Mode of study
Guarantor
Department
Learning outcomes of the course unit
Prerequisites
Co-requisites
Planned learning activities and teaching methods
Assesment methods and criteria linked to learning outcomes
Course curriculum
2. The UNIX operating system. The history and the most important development branches. The basic principles and structure of UNIX. The structure of the UNIX kernel, its interface and the different forms of communication with the kernel.
3. UNIX shell. Basic commands, programs, scripts. Special symbols. Input/output redirection, pipes, background processes, sub-shell. Variables, control structures.
4. A basic introduction to programming in UNIX. Languages, compilers, principles of linking programs, dynamically linked libraries. Principles of the X-Window graphical user interface.
5. Standard utilities of UNIX.
6. File systems. The physical and logical structure of disks. Types of files, i-nodes, storing files on a disk.
7. Access rights to files in UNIX, users and groups, the suid and sgid attributes, the typical structure of directories in a UNIX system.
8. Input and output. The corresponding kernel services. Data structures and algorithms used by the input/output subsystem of the kernel.
9. Management of processes. Loading the system, the init process. Fork, exec, exit, and wait calls. States of processes, scheduling.
10. Memory management. Address spaces, address translation, memory pages.
11. Virtual memory.
12. Mutual exclusion, semaphores and other synchronization means.
13. Typical synchronization tasks, deadlocks, starvation.
Work placements
Aims
Specification of controlled education, way of implementation and compensation for absences
Recommended optional programme components
Prerequisites and corequisites
Basic literature
Glass, G., Ables, R.K.: Unix For Programmers And Users, Second Edition. Prentice Hall, 1999.
Kerninghan, B.W., Pike, R.: Programové prostředí operačního systému UNIX, Science, Veletiny 1996.
Milenkovic, M.: Operating Systems: Concepts and Design, Second Edition. McGraw-Hill, New York, 1992.
Skočovský, L.: Principy a problémy operačního systému UNIX, 1. vydání. Science, Veletiny 1993.
Recommended reading
Classification of course in study plans
Type of course unit
Lecture
Teacher / Lecturer
Syllabus
The UNIX operating system. The history and the most important development branches. The basic principles and structure of UNIX. The structure of the UNIX kernel, its interface and the different forms of communicating with the kernel.
UNIX shell. Basic commands, programs, scripts. Special symbols. Input/output redirection, pipes, background processes, sub-shell. Variables, control structures.
A basic introduction to programming in UNIX. Languages, compilers, principles of linking programs, dynamically linked libraries. Principles of the X-Window graphical user interface.
UNIX file systems. The physical and logical structure of disks. Types of files, i-nodes, storing files on a disk.
Access rights to files in UNIX, users and groups, the suid and sgid attributes, the typical structure of directories in a UNIX system.
Input and output. The corresponding kernel services. Data structures and algorithms used by the input/output subsystem of the kernel.
Management of processes. Loading the system, the init process. Fork, exec, exit, and wait calls. States of processes, the scheduler.
Memory management. Address spaces, address translation, memory pages.
Basic theoretical background. Mutual exclusion, deadlocks, synchronization and communication of processes.
Computer networks, Internet, basic protocols and services.
An overview and comparison of various operating systems. New trends in the development of operating systems, microkernels, multimedia, etc.
Security issues and operating systems. An overview of problems arising in the given area, the fundamental principles of OS security. Security classes.