Course detail

Operating Systems

FSI-VOTAcad. year: 2007/2008

Operating systems are an essential part of any computer system. Similarly, a course on operating systems is an essential part of any computer-science education. The course is intended as an introduction to operating systems at undergraduate level or postgraduate level. Students are expected to familiar with basic data structures before they begin the course, as well as computer organisation, and a high-level language, such as C. The fundamental concepts and algorithms covered in the lessons are often based on those used in the existing commercial operating systems. The aim of the course is to present these concepts and algorithms in a general setting not connected to one particular operating system only. The lessons show and explain what operating systems are, what they do, and how they are designed and constructed. Also dealt with is the development of the concept of an operating system, as well as the the common features of an operating system. The course shows, what an operating system can do for the user, and what it does for the computer-system operator. Some lessons will describe the process concept and concurrency as the heart of modern operating systems and process in main memory during execution. To improve both the utilisation of CPU and the speed of its response to its users, the computer has to keep several processes in memory. There are many different memory-management schemes. These schemes reflect various approaches to memory management, and the effectiveness of the different algorithms depends on the situation. Large number of examples will be with respect to the most popular operating systems, including Unix, Irix, Linux; Microsoft MS-DOS, Windows NT, Windows 2000 and Windows XP.

Language of instruction

Czech

Number of ECTS credits

5

Mode of study

Not applicable.

Learning outcomes of the course unit

Students will have a clear idea of concepts, structure and mechanisms of operating systems. Its purpose is to present, as cleary and completely as possible, the nature and charakteristics of modern operating systems. Students will obtain practical experiences with using of operating system Irix.

Prerequisites

Knowledge of modern computer hardware and programming in the C language is recommended.

Co-requisites

Not applicable.

Planned learning activities and teaching methods

Teaching methods depend on the type of course unit as specified in the article 7 of BUT Rules for Studies and Examinations.

Assesment methods and criteria linked to learning outcomes

Terms of the course-unit credit are active participation in seminars and successful fulfilment of test. The examination comprises written and oral parts. Written part consists of a multiple-choice test. The oral part consists of the answers to two questions. Classification is in compliance with the directives of BUT.

Course curriculum

Not applicable.

Work placements

Not applicable.

Aims

The basic goal of the course is to familiarise students with a general theory of operating systems, to explain in detail the most important subsystems, and compare the older operating systems with newer ones. The course aims to explain properties of modern 32-bits operating systems and provide students with information about programming tools, system maintenance and configuration of the kernel, user accounts and hardware devices of Unix and Linux.

Specification of controlled education, way of implementation and compensation for absences

Participation in lectures is recommended, participation at seminars is checked and recorded. Education runs according to the week schedule. The way of compensation of missed seminars is specified by the tutor.

Recommended optional programme components

Not applicable.

Prerequisites and corequisites

Not applicable.

Basic literature

Comer: Operating System Design
Madnick, Donovan: Operační systémy
Čada: Operační systémy
Gary Nutt: Operating Systems
William Stallings : Operating Systems: Internals and Design Principles
Andrew Tanenbaum: Modern Operating Systems
Mukesh Singhal, Niranjan Shivaratri: Advanced Concepts In Operating Systems

Recommended reading

Gary Nutt: Operating Systems
Madnick, Donovan: Operační systémy

Classification of course in study plans

  • Programme B2341-3 Bachelor's

    branch B2370-00 , 2. year of study, winter semester, compulsory

  • Programme M2301-5 Master's

    branch M3917-02 , 1. year of study, winter semester, elective (voluntary)

  • Programme N2301-2 Master's

    branch N2370-BS , 1. year of study, winter semester, elective (voluntary)
    branch N2370-99 , 1. year of study, winter semester, elective (voluntary)

Type of course unit

 

Lecture

26 hours, optionally

Teacher / Lecturer

Syllabus

1. Introduction, Basic Properties and Distribution of Operating Systems
2. Operating System Hardware Support
3. Operating System - Structure and Architecture
4. Operating System Services
5. Process Description
6. Multitasking Principle, Process and Time Control
7. Process Synchronizing, Job Control, Principles of Deadlock and Deadlock Prevention
8. Drivers, I/O devices
9. Input and Output Control
10. File System
11. Threads
12. Memory Management, Virtual Memory
13. Win32 Interface - Support Platforms and Kernel Objects
14. Win32 Interface - Processes

Computer-assisted exercise

26 hours, compulsory

Teacher / Lecturer

Syllabus

1. Operating System UNIX - History and Basic Properties
2. Terminal Control, Files and Directories Handling
3. Line and Page Editor
4. Shell as Command Interpreter
5. Shell as Programming Language
6. C-shell
7. Text Processing and Interuser Communication
8. System Management and Service
9. Basic Tools for Developing of Application
10. Standard Library Subroutines and System Calls
11. Auxiliary Utilities
12. System Guard and Safety
13. Communication Protocols
14. Operating System Linux - Basic Knowledges