Course: Operating Systems

» List of faculties » FEI » KIT
Course title Operating Systems
Course code KIT/ZOSYS
Organizational form of instruction Lecture + Tutorial
Level of course unspecified
Year of study not specified
Semester Winter and summer
Number of ECTS credits 5
Language of instruction English
Status of course unspecified
Form of instruction Face-to-face
Work placements This is not an internship
Recommended optional programme components None
Course availability The course is available to visiting students
Lecturer(s)
  • Honc Daniel, Ing. Ph.D.
  • Hudec Tomáš, Mgr.
Course content
Lectures: <ul><li>Definition of the OS, history and trends, OS categories, system calls, OS concepts, OS structure.</li> <li>HW and OS, hardware resources for an OS.</li> <li>Processes and threads.</li> <li>Process scheduling.</li> <li>Process competition, race conditions and IPC.</li> <li>Deadlock and prevention.</li> <li>Memory management.</li> <li>Files and file systems.</li> <li>Multiprocessor systems, RT and embeded systems.</li> <li>OS design and security.</li></ul> Seminars:<ul><li>Basic concepts, OS Linux installation, disk partitioning, swap, MBR, boot-manager, administrator role.</li> <li>OS Linux, files, directories, shell, ssh, GUI.</li> <li>Processes, ps, /proc, pstree, PID, PPID, terminal, signals, kill, top, nice, renice, jobs, fg, bg.</li> <li>Job planning, daemons, atd, at, cron, crontab.</li> <li>Program compiling in Unix, gcc, make, Makefile, GNU (./configure, make, make install).</li> <li>Process creation, communication between processes, fork(), pipes, |, pipe(), named pipes, mknod file p.</li> <li>Handling signals, kill(), signal(), sigprocmask(), alarm().</li> <li>Threads, mutex, libpthread, critical section.</li> <li>Condition, libpthread, thread synchronization.</li> <li>Sockets, client/server over TCP/IP.</li></ul> <span id="aktivity"></span><span id="activities"></span>

Learning activities and teaching methods
Monologic (reading, lecture, briefing), Demonstration, Work-related activities
Learning outcomes
Students will acquaint themselves with basic theory of operating systems and will practice using the theory in the most common UNIX operating systems. They will gain basic practical experience with the Linux operating system.
Overview about operating system functions and its resources which are offered to programmers; ability to use these resources while programming.
Prerequisites
User knowledge of operating system, knowledge of algorithmization and the C programming language, basic and secondary school mathematics (like percents, powers, equations) and logic thinking.

Assessment methods and criteria
Oral examination, Written examination, Home assignment evaluation

Gaining the course credit depends on submitting solution to practical problems. Evaluation of submitted solutions is part of the exam grading.
Recommended literature
  • Intel 64 and IA-32 Architectures: Software Developer's Manual: Volume 3A: System Programming Guide, Part 1. [online]. Intel: 2016-09 [cit.&nbsp;2021-04-27].
  • Standard for Information Technology---Portable Operating System Interface (POSIX): Base Specifications, Issue 7. [online]. New York: IEEE Computer Society and The Open Group, 2016-09-30 [cit. 2021-04-27]. ISBN 978-1-5044-2337-3.
  • BOVET, Daniel Pierre &ndash; CESATI, Marco. Understanding the Linux Kernel. 2. vydání. USA: O'Reilly, 2005. ISBN 978-0596005658.
  • LOVE, Robert. Linux kernel development. 3. vydání. Upper Saddle River: Addison-Wesley, 2010. ISBN 978-0-672-32946-3.
  • MAUERER, Wolfgang. Professional Linux Kernel Architecture. Wrox, 2008. ISBN 978-0470343432.
  • STALLINGS, William. Operating Systems: Internals and Design Principles. 9. vydání. Pearson, 2018. ISBN 978-0-13-467095-9.
  • STONES, Richard &ndash; MATTHEW, Neil. Beginning Linux Programming. 4th Edition. USA: Wiley Publishing, 2008. ISBN 978-0-470-14762-7.
  • TANENBAUM, Andrew Stuart. Modern Operating Systems. 4. vydání. Pearson, 2014. ISBN 978-0133591620.
  • TANENBAUM, Andrew Stuart &ndash; AUSTIN, Todd. Structured Computer Organization. 6. vydání. Pearson, 2012. ISBN 978-0132916523.
  • TANENBAUM, Andrew Stuart &ndash; WOODHULL, Albert. Operating Systems Design and Implementation. 3. vydání. USA: Prentice Hall, 2006. ISBN 978-0-13-142938-3.


Study plans that include the course
Faculty Study plan (Version) Category of Branch/Specialization Recommended year of study Recommended semester