Operating Systems (GAINBAN-OPERREND-1)

Basic data
Name and type of the study programme
Computer Science Engineering, undergraduate program
Curriculum
2022
Classes / consultation hours
2 + 0 + 2 (L+S+Labs)
Credits
4 credits
Theory – Practice
Theory: 50%, Practice: 50%
Recommended semester
Semester 3
Study mode
full-time
Prerequisites
Computer Architectures I
Evaluation type
Colloquium
Course category
Compulsory
Language
English
Instructors
Responsible instructor
Dr. Megyesi Zoltán
Responsible department
Department of Information Technologies
Instructor(s)
Koszna Ferenc, Dr. Megyesi Zoltán
Checked by
Kovács Márk
Course objectives

The student will learn about the main tasks of operating systems, their general structure, the main problems and their solutions. The student will acquire skills in the use and configuration of operating systems and become familiar with a command language and command language environment provided by the system.

Course content
Lectures

1. Definitions, OS history and tasks 2. Interfaces to the kernel: the shell and API 1 3. Interfaces to the kernel: the shell and API 2 4. Utilities, filters in bash languages 5. File systems: FAT, UFS, NTFS, virtual file systems 6. System administration, boot processes 7. Event management, signaling 8. Process managment tools: process, PCB, process image 9. Inter Process Communications 10. Schedules and context switches 11. Competitive situations, critical section and solvers. 12. Memory management and virtual memory 13. Deadlock situations and resolving deadlock

Labs

1. Introduction to terminal programming and usage 2. Programming in Bash language: basic instructions and file management 3. Programming in Bash language: Redirections, basics of scripting, parameter handling 4. Programming in Bash language: Scripting - loops and branching 5. Programming in Bash language: regular expressions with grep 6. Programming in Bash language: Complex tasks solving using regular expressions 7. Programming in C language: basics, compile and run 8. Programming in C language: parameter handling, loops and branching 9. Programming in C language: parallel programming - create processes 10. Programming in C language: parallel programming with shared memory 1 11. Programming in C language: parallel programming with shared memory 2 12. Programming in C language: parallel programming with message queue 1 13. Programming in C language: parallel programming with message queue 2

Acquired competences
Knowledge

- He/she knows the operations of hardware and software elements, the technology of their implementation, how to solve problems related to their operation and the possibilities of the interconnection of IT and other technical systems. - He/she has basic data security skills. - He knows the vocabulary and special terms of the engineering profession in the Hungarian and English languages at least on the basic level.

Skills

He/she can apply his/her knowledge acquired during his/her study to acquire deeper knowledge in the field of information engineering and to process special literature and solve problems related to information technology. - He/she is able to fulfill analytical, specification, planning, development and operation tasks, in addition, he/she applies the development methodology, debugging, testing and quality assurance methods in his/her field. - He/she can communicate in Hungarian and in English about professional issues, he/she uses the terms of information technology in a creative way. - He/she constantly improves his/her knowledge and keeps up with the development of the computer engineering profession.

Attitude

- He/she genuinely represents the professional principles of engineering and information technology fields. - He/she is open to acquire new methods, programming languages and develop skills to use them. - He/she is open to get to know other fields which employ information technology tools, and open to work out information technology soultions in cooperation with the experts of other areas.

Autonomy and responsibilities

- He/she feels responsible for IT systems analysis, development and operation, both individually and as part of a team. - He/she reveals the weaknesses of the technologies applied, risks of processes and initiates measures which reduce them.

Requirements, evaluation and grading
Mid-term study requirements

For the signature, two practice based tests needs to be done at an acceptable level. Each practice tests are based on 60 points and at least 30 points required for success.

Exam requirements

Written exam: 100 points, 60 minutes, mostly test based questions, 50 points required.

Generative AI usage

Nem engedélyezett

Study aids, laboratory background

Lecture and practice materials will be shared on Teams or Neptun.

Readings
Compulsory readings

Tanenbaum, Bos: Modern Operating Systems 5th Edition, Pearson, ISBN-13: 9780137618880, 2022

Recommended readings

Tanenbaum, Bos: Modern Operating Systems 5th Edition, Pearson, ISBN-13: 9780137618880, 2022