Main page | Study Branches/Specializations | Groups of Courses | All Courses | Roles                Instructions

A course is the basic teaching unit, it's design as a medium for a student to acquire comprehensive knowledge and skills indispensable in the given field. A course guarantor is responsible for the factual content of the course.
For each course, there is a department responsible for the course organisation. A person responsible for timetabling for a given department sets a time schedule of teaching and for each class, s/he assigns an instructor and/or an examiner.
Expected time consumption of the course is expressed by a course attribute extent of teaching. For example, extent = 2 +2 indicates two teaching hours of lectures and two teaching hours of seminar (lab) per week.
At the end of each semester, the course instructor has to evaluate the extent to which a student has acquired the expected knowledge and skills. The type of this evaluation is indicated by the attribute completion. So, a course can be completed by just an assessment ('pouze zápočet'), by a graded assessment ('klasifikovaný zápočet'), or by just an examination ('pouze zkouška') or by an assessment and examination ('zápočet a zkouška') .
The difficulty of a given course is evaluated by the amount of ECTS credits.
The course is in session (cf. teaching is going on) during a semester. Each course is offered either in the winter ('zimní') or summer ('letní') semester of an academic year. Exceptionally, a course might be offered in both semesters.
The subject matter of a course is described in various texts.

BI-UOS.21 Unix-like Operating Systems Extent of teaching: 2P+2C
Instructor: Muzikář Z., Trdlička J. Completion: KZ
Department: 18104 Credits: 5 Semester: Z

Annotation:
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.

Lecture syllabus:
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, jobs and threads, interprocess communication.
13. Shell jobs and their scheduling.

Seminar syllabus:
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.

Literature:
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.

Requirements:
Elementary GUI interaction. The ability to learn new ways of thinking.

Informace o předmětu a výukové materiály naleznete na https://courses.fit.cvut.cz/BI-UOS/

The course is also part of the following Study plans:
Study Plan Study Branch/Specialization Role Recommended semester
BI-SPOL.21 Unspecified Branch/Specialisation of Study PP 1
BI-PI.21 Computer Engineering 2021 (in Czech) PP 1
BI-PG.21 Computer Graphics 2021 (in Czech) PP 1
BI-MI.21 Business Informatics 2021 (In Czech) PP 1
BI-IB.21 Information Security 2021 (in Czech) PP 1
BI-PS.21 Computer Networks and Internet 2021 (in Czech) PP 1
BI-PV.21 Computer Systems and Virtualization 2021 (in Czech) PP 1
BI-SI.21 Software Engineering 2021 (in Czech) PP 1
BI-TI.21 Computer Science 2021 (in Czech) PP 1
BI-UI.21 Artificial Intelligence 2021 (in Czech) PP 1
BI-WI.21 Web Engineering 2021 (in Czech) PP 1


Page updated 29. 3. 2024, semester: L/2021-2, Z,L/2023-4, Z/2021-2, Z/2020-1, Z/2019-20, L/2020-1, Z,L/2022-3, L/2019-20, Send comments to the content presented here to Administrator of study plans Design and implementation: J. Novák, I. Halaška