Unix-like Operating Systems

Login to KOS for course enrollment Display time-table
Code Completion Credits Range Language
BIE-UOS.21 KZ 5 2P+2C English
Garant předmětu:
Zdeněk Muzikář
Zdeněk Muzikář, Jan Trdlička
Zdeněk Muzikář, Jan Trdlička, Jakub Žitný
Department of Computer Systems

Unix-like operating systems represent a large family mostly open-source codes that kept bringing during the history of computers efficient innovative functions of multiuser operating systems for computers and their networks and clusters. The most popular OS today, Android, has a unix kernel. Students get overview of basic properties of this OS family, such as processes and threads, access rights and user identity, filters, or handling files in a file system. They learn to use practically these systems at the level of advanced users who are not only able to utilize powerful system tools that are available to users, but are also able to automatize routine agenda using the unix scripting interface, called shell.


Elementary GUI interaction.

Syllabus of lectures:

1. History and architecture of Unix-like operating systems, basic components of computer systems, secure remote access.

2. [2] Shell interface, command line processing, command executions and their parameters, special characters.

4. File systems and tools for handling files.

5. Text filters and further tools for text processing.

6. Regular expressions and their applications.

7. Text transformations, the sed and awk languages.

8. [2] Program return code, shell control constructs, arithmetic calculations, processing of script parameters.

10. Process and user identity and access rights.

11. Searching of files, compression and archiving.

12. Processes and threads, interprocess communication.

13. Shell jobs and their scheduling.

Syllabus of tutorials:

1. Introduction. GUI. Basic shell usage. Remote login.

2. Shell command line processing, basic commands, parameters, options, variables.

3. Command line processing, special characters, basic filters, arithmetics.

4. Shell variables, input and output, files and directory management.

5. Pipes, text processing, text filters.

6. Regular expressions, grep and sed commands.

7. Text transrormations, sed and awk filters.

8. Exit code, test command, conditions and loops.

9. Skripts, shell parameters, arithmetis calculations.

10. User and process identity, file permissions.

11. find command, data backup and compression.

12. Processes and jobs.

13. Practical test.

Study Objective:

Students gain basic knowledge about operating systems, fundamental concepts in this area, and hands-on experience with UNIX at the level of an advanced user.

Study materials:

1. Shotts W. : The Linux Command Line: A Complete Introduction (2nd Edition). No Starch Press, 2019. ISBN 978-1593279523.

2. Stallings W. : Operating Systems: Internals and Design Principles (9th Edition). Addison-Wesley, 1998. ISBN 978-0134670959.

3. Kochan S.G., Wood P. : Shell Programming in Unix, Linux and OS X (4th Edition). Addison-Wesley, 2016. ISBN 978-0134496009.

4. Silberschatz A., Gagne G., Galvin P.B. : Operating System Concepts (10th Edition). Wiley, 2018. ISBN 978-1119456339.

5. Cannon J. : Linux for Beginners: An Introduction to the Linux Operating System and Command Line. CreateSpace Independent Publishing Platform, 2014. ISBN 978-1496145093.

Further information:
Time-table for winter semester 2024/2025:
Time-table is not available yet
Time-table for summer semester 2024/2025:
Time-table is not available yet
The course is a part of the following study plans:
Data valid to 2024-05-25
Aktualizace výše uvedených informací naleznete na adrese https://bilakniha.cvut.cz/en/predmet6684706.html