Unix-like Operating Systems
- 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.  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.  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 2022/2023:
NBFIT PC ucebnaroomT9:351
NBFIT PC ucebna
Thákurova 7 (FSv-budova A)
NBFIT PC ucebna
NBFIT PC ucebna
- Time-table for summer semester 2022/2023:
- Time-table is not available yet
- The course is a part of the following study plans:
- Bachelor specialization, Computer Engineering, 2021 (compulsory course in the program)
- Bachelor specialization, Information Security, 2021 (compulsory course in the program)
- Bachelor specialization, Software Engineering, 2021 (compulsory course in the program)
- Bachelor specialization, Computer Science, 2021 (compulsory course in the program)
- Bachelor specialization, Computer Networks and Internet, 2021 (compulsory course in the program)
- Bachelor specialization Computer Systems and Virtualization, 2021 (compulsory course in the program)