Lecturer(s)
|
-
Kysela Jiří, Ing. Ph.D.
-
Hudec Tomáš, Mgr.
-
Brožek Josef, Ing.
|
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, data integrity.</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>
|
Learning activities and teaching methods
|
Monologic (reading, lecture, briefing), Demonstration, Work-related activities
- unspecified
- 26 hours per semester
- unspecified
- 26 hours per semester
- unspecified
- 26 hours per semester
- unspecified
- 13 hours per semester
- unspecified
- 30 hours per semester
|
Learning outcomes
|
Students will familiarize themselves with basic theory of operating systems and will practice usage of 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.
|
Assessment methods and criteria
|
Oral examination, Written examination, Home assignment evaluation
Actively attending seminars where selected topics will be practised. Students must solve some practical problems to gain points. These points will count during classification of the exam.
|
Recommended literature
|
-
Intel 64 and IA-32 Architectures: Software Developer's Manual: Volume 3A: System Programming Guide, Part 1. [online]. Intel, 2016-09 [cit. 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 – CESATI, Marco. Understanding the Linux Kernel. 2. vydání. USA: O'Reilly, 2005. ISBN 978-0596005658.
-
BRANDEJS, Michal. UNIX: Materiály k výuce. [online]. Brno: FI MU, 2008 [cit. 2021-04-27].
-
Graham, Steven – Shah, Steve. Administrace systému Linux: podrobný průvodce začínajícího administrátora. Překlad 3. vydání. Praha: Grada, 2003. ISBN 80-247-0641-5.
-
Kol. autorů. LINUX: Dokumentační projekt. 4. aktualizované vydání. Brno: Computer Press, 2008. ISBN 978-80-251-1525-1.
-
Kol. autorů. The Linux Documentation Project. [online].
-
Love, Robert. Linux kernel development. Upper Saddle River: Addison-Wesley, 2010. ISBN 978-0-672-32946-3.
-
MAUERER, Wolfgang. Professional Linux Kernel Architecture. Wrox, 2008. ISBN 978-0470343432.
-
Shah, Steve. Administrace systému Linux : překlad čtvrtého vydání. Praha: Grada, 2007. ISBN 978-80-247-1694-7.
-
Spoustová, Drahomíra. Pohádky z příkazové řádky: Učební text pro předmět Úvod do Unixu. [online]. 2007 [cit. 2008-04-01].
-
STALLINGS, William. Operating Systems: Internals and Design Principles. 9. vydání. Pearson, 2018. ISBN 978-0-13-467095-9.
-
STONES, Richard – MATTHEW, Neil. Linux: Začínáme programovat. 4. vydání. Brno: Computer Press, 2008. ISBN 978-80-251-1933-4.
-
TANENBAUM, Andrew Stuart. Modern Operating Systems. 4. vydání. Pearson, 2014. ISBN 978-0133591620.
-
TANENBAUM, Andrew Stuart – AUSTIN, Todd. Structured Computer Organization. 6. vydání. Pearson, 2012. ISBN 978-0132916523.
-
TANENBAUM, Andrew Stuart – WOODHULL, Albert. Operating Systems Design and Implementation. 3. vydání. USA: Prentice Hall, 2006. ISBN 978-0-13-142938-3.
-
Tanenbaum, Andrew Stuart. Structured Computer Organization. 5th Edition. U.S.A.: Prentice Hall, 2005. ISBN 978-0-13-148521-1.
|