COMP 3150Operating Systems

Module 1 of 5

Operating System Foundations

What an operating system is, why it exists, how it evolved from batch monitors to distributed and cloud systems, and how its architecture shapes every abstraction above it. The module closes with a full tour of the Linux and UNIX environment you will use for the rest of the course.

2 units · 10 lessons Lab 1 · Linux fundamentals CLO1 · CLO6 ≈ 2 weeks at recommended pace
System call path from user mode to kernel mode An application calls a library function, which traps into kernel mode. The kernel's system-call dispatcher routes the request to the process, memory, file-system, or device subsystem, and the result returns to the application. USER MODE application writes data libc write() stub call MODE BOUNDARY trap · syscall return KERNEL MODE syscall dispatcher Processes fork · exec Memory mmap · brk Files open · read Devices ioctl · IRQ
2UnitsFoundations · Linux
10LessonsFive per unit
1LaboratoryLinux fundamentals
2CLOsCLO1 · CLO6
≈2WeeksAt recommended pace

Module overview

Why start here

An operating system is the layer of software that turns raw hardware into a usable machine. Before you can reason about schedulers, synchronization, or virtual memory, you need a precise vocabulary for what an OS actually does, where its boundary with user programs lies, and how a running system is organised.

Unit 1 builds that vocabulary — purpose, services, system calls, and architectural alternatives — while Unit 2 gives you the Linux environment in which every subsequent lab is carried out. By the end of the module you will be able to read a system-call trace, describe a kernel's structure, and navigate and configure a Linux development environment from the shell.

Module learning outcomes

What you will be able to do

Every lesson, activity, and laboratory in this module maps to one or more of these outcomes.

After Module 1 you will be able to

  • Explain the purpose, functions, and services of an operating system.
  • Describe the historical evolution of operating systems from batch to cloud.
  • Analyse system-call mechanisms and distinguish user mode from kernel mode.
  • Compare monolithic, microkernel, and hybrid kernel architectures.
  • Navigate a Linux environment and apply permissions, users, and groups.
  • Configure and use a Linux development toolchain (GCC, Make, Git, GDB).

Course outcomes addressed

  • CLO1 — Explain operating-system concepts, services, and architectures.
  • CLO6 — Apply Linux systems-programming techniques and operating-system tools.

Units

Units in this module

Work through the units in order. Each unit ends with a quiz and a discussion activity.

Laboratory & assessment

How Module 1 is assessed

Laboratory

LabTopicUnit
Lab 1Linux FundamentalsUnit 2

Lab 1 covers file-system navigation, permissions, users and groups, shell scripting, and the GCC / Make / Git / GDB workflow used throughout the course.

Quiz & discussion

  • Unit 1 quiz — purpose, evolution, services, system calls, and structures.
  • Unit 2 quiz — Linux architecture, the shell, users, groups, and permissions.
  • Unit discussions — one applied discussion prompt per unit.

Preparation for Module 2

The tooling you set up here — the Linux VM, the Git workflow, and the compiler toolchain — is assumed from Module 2 onward.

👤