---
# System prepended metadata

title: Operating Systems

---

---
type: slide
allotedMinutes: 40
progress: true

---

# Operating Systems

### Dethe Elza

#### For West Vancouver Memorial Library

#### 13 May 2024

----

# Three Approaches

1. What is an operating system (and do we need one)?
2. Some fun examples
3. How to replace your operating system

---

## What is an operating system and do we need them?

----

Do we need an operating system?

![early computer](https://hackmd.io/_uploads/B1kZfGJXR.jpg)

Note:
    Early computers did not have operating systems (or even programming languages).

----

"An operating system is a collection of things that don't fit into a language. There shouldn't be one." --Dan Ingalls

Note:

Dan was one of the creators of the Smalltalk programming language, the original "object-oriented" language, which does in fact subsume the operating system in many ways.

----

![wordperfect](https://hackmd.io/_uploads/SJxuzzyQR.png)

Note:

WordPerfect 5.0 had support for over 450 printers. Developing and supporting these printers took up a large portion of their staff.

One of the benefits of an operating system is that apps don't have to do this anymore.

----

![doom](https://hackmd.io/_uploads/rkLofMkXC.png)

Note:

The original version of Doom came out when DOS was the major operating system. You had to reboot your computer into DOOM because it was trying to do so much with such slow hardware there was no room for an operating system too.

----

Steps Towards the Reinvention of Programming

![Steps Towards the Reinvention of Programming](https://hackmd.io/_uploads/HkRndfJmA.png)

Note:

Steps was a 5 year project led by Alan Kay to create an operating system in 10,000 lines of code (roughly a 200 page book), including graphics, audio, networking, and apps.

----

xv6: A unix-like teaching operating system

![xv6](https://hackmd.io/_uploads/H1gdaMkmR.svg)

Note:

There are many operating systems designed for teaching. This one was created by some of the same folks who originally created Unix. It is notable for actually fitting in about 10,000 lines of code, although it lacks graphics, audio, or networking.

----

![operating systems - three easy pieces](https://hackmd.io/_uploads/ByLSSz17A.jpg

----

1. Virtualization of the CPU and memory
2. Threads and concurrency
3. File and storage systems

----

NAND to Tetris in 12 steps

{%youtube IlPj5Rg1y2w%} 

[Build a modern computer from first principles](https://www.nand2tetris.org/)

----

![netscape_vs_explorer](https://hackmd.io/_uploads/BJqSMggX0.jpg)

Note:

When Netscape Navigator had 90% of the browser market and Microsoft was not paying attention to the browser at all, Marc Andreeson said that the browser made Windows obsolete. This may be the dumbest thing anyone has ever said in public.

In court testimony during Microsoft monopoly hearings, Bill Gates said that IE could not be removed from Windows because it was part of the operating system. This may be the second dumbest thing ever said in public.

----

[Picotron](https://www.lexaloffle.com/picotron.php) Fantasy Workstation

![picotron_desktop2](https://hackmd.io/_uploads/SJIGVleXR.png)

Note:

A fantasy workstation is an emulator and operating system for a computer that never actually existed.

----

Rewritable Hardware

![How-To-Choose-An-FPGA-Development-Board-1](https://hackmd.io/_uploads/Hk_oNxgXC.jpg)

Note:

FPGA (Field Programmable Gate Arrays) allow you to use software to rewrite the hardware to become a different computer at the circuit and transistor level.

----

So, what is an operating system again?

Note:

Operating systems are difficult to define because there are so many thing that are called operating systems that do different things. Generally they give ways to abstract hardware and to run programs, usually multiple programs at the same time, and to store both programs and your own files.

---

## Some fun examples

----

NeXTSTEP

![nextstep](https://hackmd.io/_uploads/SkLuEz170.png)

----

![haikuos](https://hackmd.io/_uploads/rJlBXzkmR.jpg)

Note:

HaikuOS is a continuation/recreation of BeOS, which very nearly became the next generation operating system for Apple.

----

Plan 9 from Bell Labs

![plan 9](https://hackmd.io/_uploads/H1ULvee70.jpg)

Note:

Plan 9 is an operating system that took some of the ideas of Unix to their logical conclusion by making everything appear to be a file. Network connection: file. Interprocess communication: file. It is powerful and flexible, but never caught on.

----

Oberon

![OberonScreen](https://hackmd.io/_uploads/SJ8WixxXC.png)


----

Squeak Smalltalk

![squeak](https://hackmd.io/_uploads/ryX0cxgmR.png)

----

TempleOS

![templeos](https://hackmd.io/_uploads/SJX14fk70.png)

[A constructive look at TempleOS](http://www.codersnotes.com/notes/a-constructive-look-at-templeos/)

---

## How to replace your operating system

----

![scratching the surface](https://hackmd.io/_uploads/Hk-j6Jl7C.jpg)


Note:

This is a big topic beyond what we can cover in 15-20 minutes, but I can give some pointers.

----

Why?

* Support ends for, say, Windows 10
* Keep older hardware running
* Try new things
* Special purposes (media centre, security testing, file sharing, retro gaming)
* Run specific software

----

How to Choose an Operating System

![conspiracy](https://hackmd.io/_uploads/B1DWJXgmC.jpg)

Note:

Debian, Gentoo, Ubuntu, etc. are actually flavours of Linux, not separate operating systems.

Android and ChromeOS are also flavours of Linux.

Apple's macOS, iOS, watchOS, tvOS, iPadOS, visionOS, and bridgeOS are all modified versions of Darwin, which is derived from NextStep, which is based on FreeBSD unix (primarily).

----

Installing Linux on a Windows Computer

https://www.tomsguide.com/how-to/how-to-install-linux

Note:

There are a lot of guides for installing Linux, but this one seemed pretty flexible.

You can also install the Linux Subsystem for Windows directly from the Microsoft Store.

----

Installing Linux on a Mac

https://www.macworld.com/article/672021/how-to-install-set-up-linux-on-a-mac.html

Note:

This gives a nice overview of installing in a virtual machine or replacing the original OS, including installing on older PowerPC Macs.

----

Installing an alternative OS on a Raspberry Pi

https://raspberrypilife.com/how-to-install-an-os-on-the-raspberry-pi/

---

Thank You


These slides: https://hackmd.io/@dethe/Bkq1TDVlC#/

![qr code for slides](https://hackmd.io/_uploads/HJbEoye7C.png)
