Lesson 2: Operating Systems

Homepage Content Slides Video

Warning

This lesson is under construction. Learn from it at your own risk. If you have any feedback, please fill out our General Feedback Survey.

Overview

What an Operating System is

The OS in relation to Hardware, Applications, and Users.

Anatomy of an OS

How the kernel fits into the OS stack.

Types of Operating Systems

Each OS is not created equal (but they're usually made to do their job well!)

GNU/Linux

Welcome to the Family
GNU+Linux Logo

Flavors of Linux

TODO: Pop Quiz

  1. What are some different types of Operating Systems?
  2. What constitutes a 'Distribution' of Linux?
  3. How is Linux different from Windows? OSX?
  4. How is Debian different from Gentoo?

Further Reading

OSU Courses:
CS 344: Operating Systems I
  • Required course for all CS Students at OSU.

  • Covers fundamentals of low-level programming concepts.
    • Multi-threaded programming
    • Read / Write operations
    • Socket programming
CS 444: Operating Systems II
  • Required course for all CS Students at OSU.

  • Covers kernel hacking and low-level OS design.
    • IO / Process scheduling
    • Building kernel modules
    • Memory management
Free Online Resources:

OSDev.org is a wiki dedicated to helping people develop their own operating systems. It's a big leap from this lesson, but great if you're interested in learning the nitty-gritty.

Operating Systems Design and Implementation by Andrew S. Tanenbaum is a classsic in the world of OS Development. It's also a big leap, but can teach you more about how Operating Systems work than you ever thought there was to know.