FI:PV065 UNIX -- Advanced Course I - Course Information
PV065 UNIX -- Programming and System Management I
Faculty of InformaticsAutumn 2024
- 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).
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 23. 9. to Mon 16. 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
- Image Processing and Analysis (programme FI, N-VIZ)
- Bioinformatics and systems biology (programme FI, N-UIZD)
- Computer Games Development (programme FI, N-VIZ_A)
- Computer Graphics and Visualisation (programme FI, N-VIZ_A)
- Computer Networks and Communications (programme FI, N-PSKB_A)
- Cybersecurity Management (programme FI, N-RSSS_A)
- Discrete algorithms and models (programme FI, N-TEI)
- Formal analysis of computer systems (programme FI, N-TEI)
- Graphic design (programme FI, N-VIZ)
- Graphic Design (programme FI, N-VIZ_A)
- Hardware Systems (programme FI, N-PSKB_A)
- Hardware systems (programme FI, N-PSKB)
- Image Processing and Analysis (programme FI, N-VIZ_A)
- Information security (programme FI, N-PSKB)
- Informatics (programme FI, B-INF) (2)
- Informatics in education (programme FI, B-IVV) (2)
- Information Security (programme FI, N-PSKB_A)
- Quantum and Other Nonclassical Computational Models (programme FI, N-TEI)
- Deployment and operations of software systems (programme FI, N-SWE)
- Design and development of software systems (programme FI, N-SWE)
- Computer graphics and visualisation (programme FI, N-VIZ)
- Computer Networks and Communications (programme FI, N-PSKB)
- Principles of programming languages (programme FI, N-TEI)
- Programming and development (programme FI, B-PVA)
- Cybersecurity management (programme FI, N-RSSS)
- Services development management (programme FI, N-RSSS)
- Software Systems Development Management (programme FI, N-RSSS)
- Services Development Management (programme FI, N-RSSS_A)
- Software Systems Development Management (programme FI, N-RSSS_A)
- Software systems (programme FI, N-PSKB)
- Machine learning and artificial intelligence (programme FI, N-UIZD)
- Teacher of Informatics and IT administrator (programme FI, N-UCI)
- Informatics for secondary school teachers (programme FI, N-UCI) (2)
- Computer Games Development (programme FI, N-VIZ)
- Processing and analysis of large-scale data (programme FI, N-UIZD)
- Natural language processing (programme FI, N-UIZD)
- 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/
- Enrolment Statistics (recent)
- Permalink: https://is.muni.cz/course/fi/autumn2024/PV065