| Title: | Operating Systems 1 |
|---|
| Code: | OS1 |
|---|
| Ac.Year: | ukončen 2003/2004 |
|---|
| Term: | Winter |
|---|
| Study plans: | |
|---|
| Language: | Czech |
|---|
| Public info: | http://www.fit.vutbr.cz/study/courses/OS1/public/ |
|---|
| Credits: | 5 |
|---|
| Completion: | examination (written) |
|---|
Type of instruction: | | Hour/sem | Lectures | Sem. Exercises | Lab. exercises | Comp. exercises | Other |
|---|
| Hours: | 39 | 0 | 26 | 0 | 0 |
|---|
| | Examination | Tests | Exercises | Laboratories | Other |
|---|
| Points: | 50 | 20 | 0 | 30 | 0 |
|---|
|
|---|
| Guarantee: | Peringer Petr, Dr. Ing., DITS |
|---|
| Lecturer: | Peringer Petr, Dr. Ing., DITS |
| Instructor: | Kočí Radek, Ing., Ph.D., DITS |
|---|
| Faculty: | Faculty of Information Technology BUT |
|---|
| Department: | Department of Intelligent Systems FIT BUT |
|---|
| Prerequisites: | |
|---|
| Follow-ups: | |
|---|
| | | Learning objectives: |
|---|
Introduce students to operating systems principles. Introduction to UNIX. | | Description: |
|---|
Lectures discuss underlying principles of operating systems. The course is focused on user-level understanding of these principles together with developing practical skills in laboratories. However, the course is designed for students of computer science and informatics with respect to the following courses; therefore also some theoretical background of operating systems is presented. Following topics are discussed in the course: a notion of operating system, architecture of operating system, mono/multi user operating systems, mono/multitasking operating systems, kernel of operating system and calling of system services; user interface and user-level services, shell, textual and graphical user interface; principles of the system kernel implementation, context switching; file system, networking; administration, security.
| | Learning outcomes and competences: |
|---|
Practical skills in UNIX at user level.
Knowledge of operating systems principles. | | Syllabus of lectures: |
|---|
- Introduction. Evolution of computers and operating systems (OS). Requirements laid on OS, classification of OS, standards. The basic terminology and the general structure of OS.
- 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.
| | Syllabus of laboratory exercises: |
|---|
- UNIX lab (SUN workstations, X terminals)
| | Fundamental 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.
- Bach, M.J.: Principy operačního systému UNIX, 1. vydání. Softwarové Aplikace a Systémy, Praha, 1993.
- Silberschatz A., et al: Operating System Concepts, 6th Edition, John Wiley & Sons, 2001
- Tanenbaum, A.S.: Modern Operating Systems, 2/e, Prentice Hall, 2001
| | Study literature: |
|---|
- Kerninghan, B.W., Pike, R.: Programové prostředí operačního systému UNIX, Science, Veletiny, 1996.
- Bach, M.J.: Principy operačního systému UNIX, 1. vydání. Softwarové Aplikace a Systémy, Praha, 1993.
| | |
|