Course title, code: Operating Systems, GAINBAN-OPERREND-1

Name and type of the study programme: Computer science engineering, BSc
Curriculum: 2021
Number of classes per week (lectures+seminars+labs): 2+0+2
Credits: 4
Theory: 50 %
Practice: 50 %
Recommended semester: 3
Study mode: full-time
Prerequisites: Computer Architectures 1
Evaluation type: exam
Course category: compulsory
Language: english
Responsible instructor: Dr. Megyesi Zoltán
Responsible department: Department of Information Technologies
Instructor(s): Dr. Megyesi Zoltán , Koszna Ferenc
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


Course content - 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.

Additional professional competences:


Requirements, evaluation, 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 drop-in before oral exam. Written drop-in exam: 100 points, 60 minutes, mostly test based questions. For the oral part, at least 50 points required. Oral exam items are the Final Exam - Operating Systems part.

Study aids, laboratory background:

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

Compulsory readings:

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

Recommended readings: