FI:PV065 UNIX -- Advanced Course I - Course Information
PV065 UNIX -- Programming and System Management I
Faculty of InformaticsAutumn 2024
- Extent and Intensity
- 2/0. 2 credit(s) (plus extra credits for completion). Recommended Type of Completion: zk (examination). Other types of completion: k (colloquium), z (credit).
In-person direct teaching - 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
- Mon 16. 9. to Mon 9. 12. Mon 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 39 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)
- The course is taught annually.
- Teacher's information
- http://www.fi.muni.cz/~kas/p065/
- Enrolment Statistics (recent)
- Permalink: https://is.muni.cz/course/fi/autumn2024/PV065