Hugo Tekeng
SIF1015Fall 2024Systems
← Back to university path

Operating Systems

Detailed view of the course, studied concepts, technologies used, and major academic work associated with it.

Code

SIF1015

Session

Fall 2024

Domain

Systems

Overview

Introductory course on the fundamental concepts of operating systems, with a strong focus on systems programming and experimentation under open environments such as UNIX and Linux. It helped me understand how an operating system manages processes, threads, memory, files, I/O, and network communication, while developing concrete system utilities.

Technologies used

UNIXLinuxSocketsIPCProgrammation système

Key concepts covered

  • Introduction to operating systems
  • Platform comparison: Linux, Unix, Windows, iOS, Android
  • Process management
  • Thread management
  • Scheduling and context switching
  • Coordination and synchronization
  • Inter-process communication (IPC)
  • Anonymous and named pipes
  • Message queues
  • Signals
  • Sockets
  • Network communication through sockets
  • Client/server architecture
  • Iterative and concurrent servers
  • System input/output
  • Interfaces and devices in system environments
  • File systems
  • Memory management
  • Virtualization concepts
  • Development of system utilities under UNIX/Linux

Coursework and evaluated components

  • Lab 1 on processes, threads, or synchronization
  • Lab 2 on I/O, IPC, or sockets
  • Lab 3 on network communication, files, or memory
  • Development of system utilities in a UNIX/Linux environment
  • Midterm exam
  • Final exam