PV065 UNIX -- Programming and System Management I

Faculty of Informatics
Autumn 2023
Extent and Intensity
2/0/0. 2 credit(s) (plus extra credits for completion). Recommended Type of Completion: zk (examination). Other types of completion: k (colloquium), z (credit).
Teacher(s)
RNDr. Jan Kasprzak, Ph.D. (lecturer)
Guaranteed by
RNDr. Jan Kasprzak, Ph.D.
Department of Computer Systems and Communications – Faculty of Informatics
Supplier department: Department of Computer Systems and Communications – Faculty of Informatics
Timetable
Wed 12:00–13:50 D3
Prerequisites
Prequisities: Students should go through the PV004 UNIX, should be able to write programs in C, and to have experiences with UNIX from the user's point of view (it is not recomended to attend this course for students who absloved the PV004 UNIX in last semester).
Course Enrolment Limitations
The course is also offered to the students of the fields other than those the course is directly associated with.
fields of study / plans the course is directly associated with
there are 89 fields of study the course is directly associated with, display
Course objectives
The course introduces the principles of UNIX operationg system and its application interface (system calls, library functions). Students will learn about the UNIX kernel architecture, file system, processes, etc., both from the point of view of the kernel implementation and internals, and from the point of view of the UNIX application interface.
Learning outcomes
After attending this coures, students will be able to:
Understand the interaction beween programs in C and the system kernel.
Use the POSIX.1 application interface to create programs in C.
Use files, processes, and other tools, provided by the UNIX kernel to the applications.
Have the basic understanding of the UNIX kernel, device management and memory management inside the kernel, and inner working of processes inside the kernel.
Syllabus
  • UNIX development tools: compilers, debuggers, profilers and some other tools. Libraries, their types and function.
  • C-language API standards.
  • Program in the ANSI C: limits, start and end of program, arguments, environment variables, memory management, long jumps. Dynamic linking.
  • Kernel: start of the system, architecture of the kernel, memory model of the kernel.
  • Process: attributes of the process, states of the process, memory from the process' view, access rights of the process. Program on the disk.
  • I/O operations: descriptor, operations with descriptors.
  • File system organization: i-node and its attributes, directories and manipulation with directories, special files. Implementation of the FS: FAT, S5FS, FFS/UFS, Ext2FS. Modern file systems.
  • Interprocess communication: pipes, signals, reliable signals.
  • Advanced I/O: multiplexing using select() and poll(), file locking, scatter-gather I/O, memory-mapped I/O.
Literature
  • Information technology :portable operating system interface. New York: Institute of Electrical and Electronics Engineers, 1996, xxxi, 743. ISBN 1-55937-573-6. info
  • STEVENS, W. Richard. Advanced programming in the UNIX environment. Reading, Mass.: Addison-Wesley, 1993, xviii, 744. ISBN 0-201-56317-7. info
  • BACH, Maurice J. Principy operačního systému UNIX. 1. vyd. Praha: Softwarové Aplikace a Systémy, 1993, 514 s. ISBN 80-901507-0-5. info
Teaching methods
lecture, non-compulsory homeworks
Assessment methods
Written exam or colloquium. Consists of 20 multiple-choice questions, with exactly one answer being correct. Negative points are given for wrong answers.
Language of instruction
Czech
Further comments (probably available only in Czech)
Study Materials
The course is taught annually.
Teacher's information
http://www.fi.muni.cz/~kas/p065/
The course is also listed under the following terms Autumn 2002, Autumn 2003, Autumn 2004, Autumn 2005, Autumn 2006, Autumn 2007, Autumn 2008, Autumn 2009, Autumn 2010, Autumn 2011, Autumn 2012, Autumn 2013, Autumn 2014, Autumn 2015, Autumn 2016, Autumn 2017, Autumn 2018, Autumn 2019, Autumn 2020, Autumn 2021, Autumn 2022, Autumn 2024.
  • Enrolment Statistics (Autumn 2023, recent)
  • Permalink: https://is.muni.cz/course/fi/autumn2023/PV065