+251 111 559769      info@hilcoe.net
     +251 111 559769      info@hilcoe.net

 Operating Systems

Course Descriptions:

Introduction: what is an operating system, history, evolution, and philosophy of operating systems, operating system structure and services; process and process management: the process concept, threads, inter process communication and synchronization (race conditions, critical sections, semaphores, monitors, classical IPC problems), CPU scheduling (basic concepts, scheduling criteria, and scheduling algorithms); deadlocks (avoidance, prevention, and detection); memory management: basic memory management (mono programming without swapping and paging, multiprogramming with fixed partitions, fragmentation, memory binding, relocation and protection), multiprogramming with variable partitions (physical and virtual memory, memory allocation algorithms, paging, page replacement algorithms, segmentation); file systems: access methods, directory structure, file sharing and protection; input/output: overview, direct memory access, disk I/O; security: authentication, intrusion detection, encryption.


At the end of the course, students will be able to

  1. grasp operating system design concepts, define an operating system, and understand what an operating system does,
  2. understand processes, scheduling, memory and file management,
  3. know the difference between a process and a thread,
  4. understand how a file is managed by an operating system,
  5. understand how I/O devices work and are managed by an operating system, and
  6. be exposed to security issues related to operating systems.

Course Content:

  • Introduction
  • Processes Management
  • Memory Management
  • File System Management
  • Multicore OS