Course title

Operating Systems

Course code

ΜΚ22

Course type

Compulsory

Course level

Undergraduate (first cycle)

Year of studies

2nd

Semester

4th

ECTS Credits

5

URL

http://eclass.uowm.gr/courses/ICTE189/ & http://arch.icte.uowm.gr/courses/os/

Hours per week

4 (2 hours theory & 2 hours laboratory)

Instructor(s)

Minas Dasygenis (Lecturer)

Course content

Fundamental Issues in Operating Systems. History & Evolution of OS. Processes & Scheduling. Synchronization. Interprocess Communication. Simultaneous Processes/Threads. Mutual Exclusion. Memory Management. Paging. Virtual Memory. Filesystem Management. Resource Management. Deadlocks & Livelocks. Input/Output Management. Protection and Security Issues.

Widows & Unix Operating Systems. Laboratory assignments consist of windows & Linux shell scripts and operating system programming in POSIX.

Expected
learning outcomes and competences to be acquired

Upon successful completion of this course, students will be able to demonstrate knowledge and understanding of:

  • the historical development of operating systems,

  • the various process states and context switching,

  • the benefits of using an operating system,

  • how applications interact with the operating system and each other

  • the major operating system modules (process management, deadlock, storage management, paging, caching, virtual memory, file system, protection and security),

  • the scheduling algorithms,

  • the filesystem operations,

  • the memory paging and segmentation,

  • the input/output mechanisms,

From the laboratory assignments, students will gain the abilities to:

  • fully utilize and program the Microsoft windows and Unix shell using scripts,

  • fully utilize the UNIX operating systems as a development platform for POSIX C,

  • use all the major POSIX system calls for designing single or multithreaded, host only or interconnected processes,

  • write programs that interface to the operating system at the system-call level,

  • use a variety of user level tools to monitor the behavior of operating systems.

Prerequisites

Computer Architecture (not compulsory)

Teaching methods

Lectures, Powerpoint slides, Lecture Notes, in class quizzes, e-class, automated examination system i-exams, opencourses video lectures, laboratory exercises, semester group project.

Assessment methods

Written final theory exam 50%, final lab exam 10%, three mini exams 15%, 12 weekly laboratory exercises 10%, 1 semester team project 15% .

Language of instruction

Greek

Recommended bibliography


Lectures
Laboratories Lectures

Laboratories Exercises

Laboratory Theory Background

Sample Student Projects




We support the 10K students initiative.
10K students