Title:

Operating Systems

Code:IOS
Ac.Year:2010/2011
Term:Summer
Curriculums:
ProgrammeBranchYearDuty
IT-BC-3BIT1stCompulsory
Language:Czech
Public info:http://www.fit.vutbr.cz/study/courses/IOS/public/
Credits:5
Completion:accreditation+exam (written&verbal)
Type of
instruction:
Hour/semLecturesSem. ExercisesLab. exercisesComp. exercisesOther
Hours:3900013
 ExaminationTestsExercisesLaboratoriesOther
Points:7000030
Guarantee:Vojnar Tomáš, prof. Ing., Ph.D., DITS
Lecturer:Vojnar Tomáš, prof. Ing., Ph.D., DITS
Instructor:Dudka Kamil, Ing., DITS
Kočí Radek, Ing., Ph.D., DITS
Rogalewicz Adam, doc. Mgr., Ph.D., DITS
Smrčka Aleš, Ing., Ph.D., DITS
Faculty:Faculty of Information Technology BUT
Department:Department of Intelligent Systems FIT BUT
Prerequisites: 
Introduction to Programming Systems (IZP), DIFS
Introduction to Software Engineering (IUS), DITS
 
Learning objectives:
  The goal is to acquaint students with the principles of operating systems in general and with the basic concepts of the UNIX operating system.
Description:
  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. The kernel of UNIX, its structure, graphical and textual interfaces, command languages. Process management, context switching, scheduling, interprocess communication. Memory management, paging, virtual memory. Synchronization of processes, semaphores and other synchronizations means, deadlock, starvation.
Learning outcomes and competences:
  Students are acquainted with the basic principles of operating systems (with emphasis on the UNIX operating system) and they understand the influence of operating systems upon the operation of complex computing systems. Students are able to exploit scripts for solving various tasks in a UNIX-based environment.
Syllabus of lectures:
 
  1. 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.
  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 communicating 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.
Syllabus - others, projects and individual work of students:
 
  1. Creating scripts by means of UNIX shell and the standard utilities of UNIX.
  2. Process synchronization in UNIX.
Fundamental literature:
 
  • Silberschatz, A., Galvin, P.B., Gagne, G.: Operating System Concepts, 8th Edition, John Wiley & Sons, 2008.
  • Tanenbaum, A.: Modern Operating Systems, 2nd edition, Prentice Hall, 2001.
  • Tanenbaum, A.S., Woodhull, A.S.: Operating Systems Design and Implementation, 3rd ed., Prentice Hall, 2006.
  • Raymond, E.S.: The Art Of Unix Programming, Addison-Wesley, 2003.
  • Russinovich, M., Solomon, D.: Windows Internals, 5th edition, Microsoft Press, 2009.
Study literature:
 
  • Silberschatz, A., Galvin, P.B., Gagne, G.: Operating System Concepts, 8th Edition, John Wiley & Sons, 2008.
  • Tanenbaum, A.S., Woodhull, A.S.: Operating Systems Design and Implementation, 3rd ed., Prentice Hall, 2006.
  • Raymond, E.S.: The Art Of Unix Programming, Addison-Wesley, 2003.
  • Russinovich, M., Solomon, D.: Windows Internals, 5th edition, Microsoft Press, 2009.
  • Slides presented at the lectures and made accessible via the Internet.
  • Materials freely accessible on the Internet.
Controlled instruction:
  
  • Solving two individual home assignments.
  • The minimal number of points which must be obtained from the final exam is 32. Otherwise, no points will be assigned to a student.
Progress assessment:
  
  • Evaluation of the two home assignments individually solved by the students.