Siirry suoraan sisältöön

Operating System Concepts and Linux System Programming (5 op)

Toteutuksen tunnus: 5G00DM68-3006

Toteutuksen perustiedot


Ilmoittautumisaika
24.11.2024 - 12.01.2025
Ilmoittautuminen toteutukselle on päättynyt.
Ajoitus
01.01.2025 - 30.04.2025
Toteutus on päättynyt.
Laajuus
5 op
Toteutustapa
Lähiopetus
Yksikkö
Software Engineering
Toimipiste
TAMK Pääkampus
Opetuskielet
englanti
Paikat
0 - 40
Koulutus
Bachelor's Degree Programme in Software Engineering
Opettajat
Erkki Hietalahti
Vastuuhenkilö
Esa Kunnari
Ryhmät
22I260EA
Degree Programme in Software Engineering
22I260EB
Degree Programme in Software Engineering
Luokittelu
HYBRID
Opintojakso
5G00DM68

Osaamistavoitteet (Opintojakso)

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.

Sisältö (Opintojakso)

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.

Arviointikriteerit, tyydyttävä (1-2) (Opintojakso)

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.

Arviointikriteerit, hyvä (3-4) (Opintojakso)

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.

Arviointikriteerit, kiitettävä (5) (Opintojakso)

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.

Aika ja paikka

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

Tenttien ja uusintatenttien ajankohdat

There is no exam in the course.

Arviointimenetelmät ja arvioinnin perusteet

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

Arviointiasteikko

0-5

Opiskelumuodot ja opetusmenetelmät

Lectures, exercises.

Oppimateriaalit

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

Opiskelijan ajankäyttö ja kuormitus

1 cr corresponds to 27 h of student work.

Sisällön jaksotus

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
UnixAndLinuxAndAndroid

Toteutuksen valinnaiset suoritustavat

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.

Harjoittelu- ja työelämäyhteistyö

Not relevant in this course.

Kansainvälisyys

The course material is in English.

Lisätietoja opiskelijoille

You can use in this course any Linux distribution but my recommendation is that you should use quite new version and I will use in my lecturing Ubuntu so I recommend you to use that also. There are slight variations between different Linux distributions. And you can use your own or available private Linux environment offered to you (in some cloud, on internet) in the course as long as it is Linux.

But we offer to you and recommend you to use:
---------------------------------------------------------------
- Linux virtual host in our cloud environment. For that you need allocated virtual host, VPN connection and some terminal software. All this is explained in the first lecture of the course. There are ready made installations for you available.
- if you are using Windows and want a simple Linux environment (no need for VPN, terminal software and even network connection) then you can use this: https://learn.microsoft.com/en-us/windows/wsl/install . It is Linux package offered by Microsoft working upon Windows. I use Mac so I cannot support on this more but installation should work ok with above guide and usage should be simple and on internet you find instructions for that. Students have used it successfully and usage and basic working is similar than with TAMK's virtual Linux host. I recommend you to use in here again Ubuntu distribution.
- I have in my mind some additional environments but we start to use them only when having some challenges with the above ones.

TAMK is not paying for your private Linux environment use; all Linux installations needed on this course should be free of charge or offered by TAMK.

Arviointikriteerit - hylätty (0) (Ei käytössä, kts Opintojakson Arviointikriteerit ylempänä)

There is no understanding of operating systems.

Arviointikriteerit - tyydyttävä (1-2) (Ei käytössä, kts Opintojakson Arviointikriteerit ylempänä)

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

Arviointikriteerit - hyvä (3-4) (Ei käytössä, kts Opintojakson Arviointikriteerit ylempänä)

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

Arviointikriteerit - kiitettävä (5) (Ei käytössä, kts Opintojakson Arviointikriteerit ylempänä)

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.

Siirry alkuun