<

Lecture #1

Administrivia

Ground Rules for Assignments (Fit & Finish)

Your instructor generally hates arbitrary and petty things, but these points matter in your instructor's humble opinion.

README file

Build & Run Scripts

C++ Coding

Linux

Most of you are new to Linux. Not going to waste valuable class time going over basic user-level stuff. You are expected to develop your working knowledge on your own time.

Academic Conduct

Digression: About Engineering & Software Engineering

(I try to say something about this in every class I teach)

TODO: insert code

Operating Systems -- Intro

History

Key OS Concepts

  1. Device management (device drivers)
  2. Process management
  3. Filesystems
  4. Networking
  5. Security/safety
  6. Convenience: API for userland (application) programs

Working Definition

  1. Traffic cop
  2. Resource allocator (CPU, memory, disk, ...)
  3. Control program (Tron: "Master Control Program")
  4. Hardware Abstraction Layer ("virtual" machine)

  5. Goal:

  6. processes

  7. filesystems

OS: Kernel vs. Full Distro

Layered Model