Skip to main content

Operating System Concepts and Linux System Programming (5 cr)

Code: 5G00DM68-3003

General information


Enrolment period

15.12.2022 - 22.01.2023

Timing

09.01.2023 - 28.04.2023

Credits

5 op

Mode of delivery

Contact teaching

Unit

ICT Engineering

Campus

TAMK Main Campus

Teaching languages

  • English

Degree programmes

  • Bachelor's Degree Programme in Software Engineering

Teachers

  • Erkki Hietalahti

Person in charge

Erkki Hietalahti

Groups

  • 20I260E

Objectives (course unit)

The student knows the basic principles and tasks of operating systems including virtual memory management, device i/o, processes, inter-process communications, scheduling and concurrency and system calls.

Content (course unit)

Linux operating system concepts and system software development. File i/o, processes, inter-process communications, virtual memory management, system calls. System development on Linux by using C/C++ programming languages.

Assessment criteria, satisfactory (1-2) (course unit)

Student knows about Linux operating system concepts and system software development principles. Student is able to exploit file i/o, processes, interprocess communications, virtual memory management and system calls with guidance. Student is able to implement system development on Linux by using C/C++ programming languages with guidance.

Assessment criteria, good (3-4) (course unit)

Student knows and understands Linux operating system concepts and system software development principles. Student understands and is able to exploit file i/o, processes, interprocess communications, virtual memory management and system calls. Student is able to implement system development on Linux by using C/C++ programming languages.

Assessment criteria, excellent (5) (course unit)

Student knows and understands in depth Linux operating system concepts and system software development principles. Student understands and is able to exploit independently file i/o, processes, interprocess communications, virtual memory management and system calls. Student is able to implement diversely system development on Linux by using C/C++ programming languages.

Location and time

A block of two hours weekly at the time and place indicated in the TAMK timing schedules for students (in pakki / lukkarikone / tuudo).

Exam schedules

There is no exam in the course.

Assessment methods and criteria

The grade of the course comes from the training activity. The following scale is used:
Training activity at least Grade
---------------------------------------- ---------- -
20% 1
35% 2
50% 3
65% 4
80% 5

Assessment scale

0-5

Teaching methods

Lectures, exercises.

Learning materials

Tanenbaum & Bo: Modern Operating Systems: 4th ed. (c) 2013 Prentice-Hall, Inc.
and slides made there from.
Other materials:
William Stallings: Operating Systems Internals and Design Principles. Pearson Education Limited. 2018 Ninth edition, global edition.
Bach: Design of the UNIX Operating System. 1986 Prentice Hall

Student workload

1 cr corresponds to 27 h of student work.

Content scheduling

The content is based on the principles of the Linux operating system. This gives the student the ability to understand other types of operating systems as well.

Preliminary content sequencing for the course:
-----------------------------------------------
Introduction
Processes and Threads
Memory Management
File Systems
Input-Output
Deadlocks
Virtualization And The Cloud
Multiple Processor Systems
Security
UnixAndLinuxAndAndroid
Operating System Design

Completion alternatives

If you master the things handled in this course and would like to proof it (= ahotointi in finnish) then please contact me. This is an alternative way of getting the grade from this course.

Practical training and working life cooperation

Not relevant in this course.

International connections

The course material is in English.

Further information

Not known yet

Assessment criteria - fail (0) (Not in use, Look at the Assessment criteria above)

There is no understanding of operating systems.

Assessment criteria - satisfactory (1-2) (Not in use, Look at the Assessment criteria above)

The basics and structure of operating systems as well as it's motivation are known.

Assessment criteria - good (3-4) (Not in use, Look at the Assessment criteria above)

In addition to the above: the services provided by operating systems can be found and utilized.

Assessment criteria - excellent (5) (Not in use, Look at the Assessment criteria above)

In addition to the above: the student has the ability to independently determine the features of different operating systems and apply the services they provide. The internal structures of operating systems are understood, as well as different types of operating systems: mobile, real-time, etc. The appropriate operating system can be selected.