Partially based on Chapter 1 of [Hai19]
(Usage hints for this presentation)
Computer Structures and Operating Systems 2023
Dr. Jens Lechtenbörger (License Information)
CS: How to build a computer from logic gates?
CPU (ALU), RAM, I/O
Processes and threads with scheduling and concurrency, virtual memory
“Pong in TECS VM” under GPLv2; screenshot of VM of TECS software suite
What does your OS even do?
Figure © 2016 Julia Evans, all rights reserved; from julia's drawings. Displayed here with personal permission.
“Figure 1.1 of [Hai17]” by Max Hailperin under CC BY-SA 3.0; converted from GitHub
OS services/features/functionality defined by its API
“Figure 1.1 of [Hai17]” by Max Hailperin under CC BY-SA 3.0; converted from GitHub
How to talk to your operating system
Figure © 2016 Julia Evans, all rights reserved; from julia's drawings. Displayed here with personal permission.
User space vs. kernel space
Figure © 2016 Julia Evans, all rights reserved; from julia's drawings. Displayed here with personal permission.
Monolith-, Micro- and a "hybrid" kernel
Figure under CC0 1.0; from Wikimedia Commons
This map of the Linux kernel provides a real-life monolithic example
Various technical terms for “computations”: Jobs, tasks, processes, threads, …
Threads!
Figure © 2016 Julia Evans, all rights reserved; from julia's drawings. Displayed here with personal permission.
What's in a process?
Figure © 2016 Julia Evans, all rights reserved; from julia's drawings. Displayed here with personal permission.
Classification of Processes and Threads from Anderson et al. (1997)
This task is available for self-study in Learnweb.
Sort sample OSs into the quadrants of Anderson et al.
grep
, head
, tail
)git clone https://github.com/veltman/clmystery.git
/proc
for
later presentations)
mount
to show filesystems, e.g., with Cygwin, the location
of C:
may be shown as /cygdrive/c
ls
(short for “list”) to view contents of current directoryls /cygdrive/c
to view contents of given directory (if
it exists)pwd
(short for “print working directory”) to print name of
current directorycd replace-this-with-name-of-directory-of-mystery
(short
for “change directory”) to change directory to chosen
location, e.g., location of mystery’s filesman name-of-command
shows manual page for name-of-command
man man
first, then man ls
This document is part of an Open Educational Resource (OER) course on Operating Systems. Source code and source files are available on GitLab under free licenses.
Except where otherwise noted, the work “OS01: OS Introduction”, © 2017-2023 Jens Lechtenbörger, is published under the Creative Commons license CC BY-SA 4.0.
In particular, trademark rights are not licensed under this license. Thus, rights concerning third party logos (e.g., on the title slide) and other (trade-) marks (e.g., “Creative Commons” itself) remain with their respective holders.