| SCHOOL | School of Engineering | ||
| ACADEMIC UNIT | Department of Electrical and Computer Engineering | ||
| LEVEL OF STUDIES | Undergraduate | ||
| COURSE CODE | 0811.8.009.0 | SEMESTER | 2nd |
| COURSE TITLE | Operating Systems | ||
|
INDEPENDENT TEACHING ACTIVITIES if credits are awarded for separate components of the course |
WEEKLY TEACHING HOURS |
CREDITS |
| 0 | 4 | |
| Total | 0 | 4 |
| COURSE TYPE general background, special background, specialised general knowledge, skills development |
Compulsory Elective |
| PREREQUISITE COURSES | None |
| LANGUAGE OF INSTRUCTION and EXAMINATIONS | English |
| OFFERED TO ERASMUS STUDENTS | Yes (in English) |
| COURSE WEBSITE (URL) | https://eclass.hmu.gr/courses/ECE147 |
| Learning outcomes |
The knowledge which students acquire upon successful completion of the course relates to design and implementation of modern operating systems (OSes). More specifically, the students are taught concepts related to the lifecycle of processes and threads, SystemV/POSIX shared memory, and resource sharing, focusing on inter-process communication and synchronization primitives (IPC message queues, pipes, UNIX signals, and POSIX locks, semaphores, barriers, and condition variables). They are also exposed to techniques that can detect or avoid hazards, such as data race and protocol deadlock, and guided to examine cost-efficient solutions of classical OS problems, such as producer-consumer, readers-writers, dining philosophers, and sleeping barber. Students are finally introduced to complex OS kernel functions and high-level services, related to job scheduling, virtual-to-physical address translation, memory management, file system operations, and I/O device management. The skills, which students develop upon successful course completion, relate to:
The abilities, which students develop upon successful course completion, relate to:
|
| General Competences |
• Search, analysis and synthesis of data and information, using the necessary technologies • Adapt solutions to new situations (resource sharing, congestion, contention etc) • Autonomous work • Teamwork • Decision making • Promoting liberal, creative and inductive/deductive thinking\ • Work in an interdisciplinary environment |
Theoretical Lectures The theoretical part concentrates on the following topics:
Lab Students are introduced to Linux OS implementation. Hands-on activities relate to shell programming and systems programming, focusing on task management and efficient use of different IPC functions. In addition through simple demos, students are exposed to sophisticated OS topics, such as kernel scheduling policies, paging and address translation (GNU/Linux page maps, analysis), file systems (simpleFS), and I/O device management (UART-to-SPI TTY driver of an LCD). |
| DELIVERY Face-to-face, Distance learning, etc. |
Eclass for Optional Exercises. Project Presentations/Demonstration in the Lab | ||||
| USE OF INFORMATION AND COMMUNICATIONS TECHNOLOGY Use of ICT in teaching, laboratory education, communication with students |
Using Eclass |
||||
| TEACHING METHODS The manner and methods of teaching are described in detail. |
|
||||
| STUDENT PERFORMANCE EVALUATION Description of the evaluation procedure |
All announcements related to the syllabus, including complementary reading material, solved exercises, and optional homework problems, are permanently posted in the course web page (ECLASS). The course grade incorporates the following evaluation procedures: 1. Final Oral Exam on theoretical/practical problems (50%) 2. Project (50%) or Project |
Bibliography:
Other Important Sources
Relevant Scientific Journals:
|