Department of Electrical and Computer Engineering

MENUMENU
  • Department
      • Profile
      • Faculty
      • Evaluation
      • Administration
      • Staff
  • Studies
    • Subject Areas
    • Undergraduate Studies
    • Postgraduate Studies
      • MSc Studies in “Science and Technology of ECE”
      • MSc Studies in “Smart Grid Energy Systems”
      • MSc Studies in “Applied Informatics”
    • PhD Studies
    • Course List
      • Undergraduate Courses
      • Postgraduate Courses
        • Science and Technology of ECE
        • Smart Grid Energy Systems
        • Applied Informatics
      • Erasmus
    • ECTS
    • Career Opportunities
    • Practice Training
  • Research
    • Labs
    • Research Projects
    • Postdoc Research
    • Ph.D. Candidates
    • Theses – Technical Reports
    • Active Research Projects

      Hellenic Chips Competence Centre (HCCC)

      Scientific ResponsibleStamoulis GeorgiosStamoulis Georgios, Professor
      E-mail: georges@uth.gr
      TitleHellenic Chips Competence Centre (HCCC)
      Funding AgencyΤο HCCC υποστηρίζεται από το Chips JU και τα μέλη του, και συγχρηματοδοτείται από την Ευρωπαϊκή Ένωση και την Ελληνική Κυβέρνηση μέσω του προγράμματος “Ανταγωνιστικότητα”
      Budget326.350,00
      Duration01/06/2025 – 31/05/2029

      Αναλογικός Σχεδιασμός, Δοκιμές και Επαλήθευση

      Scientific ResponsiblePlessas FotiosPlessas Fotios, Professor
      E-mail: fplessas@uth.gr
      TitleΑναλογικός Σχεδιασμός, Δοκιμές και Επαλήθευση
      Funding AgencyNanoZeta Technologies ltd.
      Budget271.400,00
      Duration26/01/2021 – 25/01/2028

      DIGITAfrica: Towards a comprehensive pan-African research infrastructure in Digital Sciences

      Scientific ResponsibleKorakis AthanasiosKorakis Athanasios, Professor
      E-mail: korakis@uth.gr
      TitleDIGITAfrica: Towards a comprehensive pan-African research infrastructure in Digital Sciences
      Funding AgencyΕΥΡΩΠΑΪΚΗ ΕΝΩΣΗ
      Budget123.125,00
      Duration16/12/2024 – 31/12/2027

      List of Research Projects →

  • Alumni
    • Ph.D. Graduates
  • Service Offices
    • Secretariat
    • Technical support
  • Announcements
    • General Announcements
    • Academic News
  • Contact
    • Department of Electrical and Computer Engineering
      • Sekeri – Cheiden Str
        Pedion Areos, ECE Building
        383 34 Volos – Greece
      Tel.+30 24210 74967, +30 24210 74934
      e-mailgece ΑΤ uth.gr
      PGS Tel.+30 24210 74933
      PGS e-mailpgsec ΑΤ uth.gr
      URLhttps://www.e-ce.uth.gr/contact-info/?lang=en
  • Login

ECE318 Operating Systems

Home » Studies » Undergraduate Studies » Undergraduate Courses » ECE318 Operating Systems
Subject AreaSoftware and Information System Engineering
SemesterSemester 6 – Spring
TypeElective
Teaching Hours4
ECTS6
Prerequisites
  • ECE116 Programming II
Course Sitehttps://eclass.uth.gr/courses/E-CE_U_153/
Course Director

Christos AntonopoulosChristos Antonopoulos, Professor
E-mail: cda@uth.gr

Course Instructor
  • Christos Antonopoulos, Professor
    E-mail: cda@uth.gr
  • Description
  • Learning Outcomes
  • Introduction to operating systems, OS generations, special purpose OSs.
  • Structure and organization of OSs, mechanisms and policies.
  • Processes and threads, process/thread life cycle, context switch.
  • CPU scheduling algorithms.
  • Synchronization: necessity, algorithms and implementations, famous problems.
  • Deadlocks, deadlock conditions, deadlock avoidance, detection, recovery.
  • Memory segmentation (1 or multiple segments), implementation mechanisms, the external fragmentation problem
  • Memory paging, paging mechanisms, the internal fragmentation problems, page size selection, page tables (flat and hierarchical), the role of the Translation Lookaside Buffer (TLB).
  • Using disks as a level of the memory hierarchy (swapping), swapping mechanisms, page faults.
  • Page replacement policies, the Belady anomaly, cache performance, thrashing, the notion of the working set, CPU scheduling and memory management policies interaction.
  • User-level memory management, policies, memory usage patterns, differences in user- and kernel-level memory management, memory release, reclamation and garbage collection.
  • Disk organization, disk latencies, disk branch scheduling algorithms, SSD disks.
  • File system organization, file system caching, file system cache replacement policies, cache prefetching, failures, journaling filesystems. Unix FFS filesystem, the VFS virtual file system.
  • Encoding principles, RAID storage organization.
  • Input/Output management, polling, interrupts, DMA
  • Protection mechanisms and policies, identification, authorization, enforcement.
  • Famous attacks.
  • Encryption (secret/public key), digital signatures, checksums, key distribution, trusted servers, trusted computing base, key distribution hazards.
  • Virtualization and resource management in virtualized environments.
  • Power management at the operating system level.

The course includes a series of homeworks in which students (in groups of 2-3) have the opportunity to work on a real operating system (Linux), understand the implementation of the concepts they are taught and introduce new code and functionality to the OS (system calls / modules, CPU scheduling, memory management, disk management).

After successfully fulfilling the requirements of the course, the student is capable of:

  • Knowing the main services of operating systems and the main mechanisms and policies that implement these services.
  • Understandung the design space for each operating system mechanism / policy and the appreciating the advantages / disadvantages of each design decision.
  • Evaluating and also predicting the interaction between the operating system and application software and the effects of this interaction to system performance.
  • Identifying the implementation of policies / mechanisms taught in class in the source code of a real operating system.
  • Altering the implementation of existing policies / mechanisms and add new policies / mechanisms.
  • Working with large-scale software systems (such as the operating systems), using the appropriate tools (make, compiler, diffs, patches, kernel debugger, virtual machines).
  • Working synergistically, in small groups and managing projects concerning large-scale software systems under specific time constraints.

e-Yπηρεσίες

Contact Info

  • Sekeri – Cheiden Str, Pedion Areos, Volos
  • +30 24210 74967
  • +30 24210 74934
  • Email: gece@uth.gr

Announcements

  • Academic News

Find us

  • Facebook
  • Twitter
  • Youtube
  • Linkedin
© Copyright 2025 Department of Electrical and Computer Engineering
We use cookies to ensure that we give you the best experience on our website.OKΠληροφορίες