Operating Systems

Course ID
4ΚΠ03
Επίπεδο
Undergraduate
Είδος
Compulsory
Εξάμηνο
4
Περίοδος
Spring Semeter
ECTS
6
Ώρες Θεωρίας
3
Ώρες Εργαστηρίου
1

Assistant

Panagiotis Papadopoulos
Georgios Spathoulas

Description

 Elements of computer architecture. Historical background. Operating system functionality and components. Processes. Process communication. Sockets. CPU scheduling. Threads. Synchronization. Semaphores and monitors. Deadlocks. Memory management. Buddies system. Paging and virtual memory. Caching. File management. Hard disk scheduling.

Course objectives

After the successful course attendance a student will:

  • Acquire the theoretical background on OS design principles.
  • Acquire the theoretical background related to the management of: processes, memory and files.
  • Acquire basic knowledge on algorithms for solving problems related to: CPU scheduling, deadlocks, critical section, disk scheduling.
  • Be able to develop scripts in UNIX shell.
  • Be able to create and manage processes in UNIX.
  • Be able to use basic synchronization primitives such as: semaphores and monitors in the JAVA API.
  • Be able to create and manage threads in the JAVA API.
  • Be able to create client-server applications using JAVA sockets.

Textbooks/Bibliography

  • Λειτουργικά Συστήματα, Silberschatz Abraham,Galvin Peter B. ,Gagne Greg, ΣΤΕΛΛΑ ΠΑΡΙΚΟΥ & ΣΙΑ ΟΕ, 2η έκδ./2009, ΑΘΗΝΑ, 14841
  • Λειτουργικά Συστήματα, 9η Έκδοση, Stallings William, “ΕΚΔΟΣΕΙΣ Α. ΤΖΙΟΛΑ & ΥΙΟΙ Α.Ε.”, 9η/2017, ΘΕΣ/ΝΙΚΗ, 68374433