diff options
| Commit | a6abd025c8cfc5ffb55c083130c33f527a857b38 (patch) | |
|---|---|---|
| Author | 2023-01-20 11:57:20 +0200 | |
| Committer | 2023-01-20 11:57:20 +0200 | |
| Files | ff4675996d2f93491413fd47ccdba39450167cfe | |
| syndamia.com-a6abd025c8cfc5ffb55c083130c33f527a857b38.tar syndamia.com-a6abd025c8cfc5ffb55c083130c33f527a857b38.tar.gz syndamia.com-a6abd025c8cfc5ffb55c083130c33f527a857b38.zip | ||
| Parent | c5186d8a11dd28dd93d7b25c6ae67be813986a0d (diff) | |
[talks/lbs] Finished brief timeline slides
1 files changed, 109 insertions, 7 deletions
| -rw-r--r-- | src/talks/linuxgraphy-by-strabo/index.md | 116 |
diff --git a/src/talks/linuxgraphy-by-strabo/index.md b/src/talks/linuxgraphy-by-strabo/index.md index f067d8f..8a24c01 100644 --- a/src/talks/linuxgraphy-by-strabo/index.md +++ b/src/talks/linuxgraphy-by-strabo/index.md @@ -32,15 +32,15 @@ Today, I'll lay out Linux as it is known to me. &&frow &&font20 -0. Brief timeline -1. Structure of UNIX-likes +1. Brief timeline +2. Structure of UNIX-likes 1. Layers 2. The shell 2. Everything is a file <!-- + file permissions --> 3. What is a VT100 anyway 4. Possibilities (live CD, ...) -2. Linux systems and layout from the inside +3. Linux systems and layout from the inside 0. Shells <!-- + Processes (bg, fg); file globbing; expansion; variables --> 1. Directories @@ -53,17 +53,17 @@ Today, I'll lay out Linux as it is known to me. 2. Regular expressions and text processing 3. Everything else 5. Networking -3. Software licensing +4. Software licensing &&/font &&font20 -4. What makes up a useful OS +5. What makes up a useful OS 0. File systems 1. Bootloader 1. Init system 2. Package (software) manager 3. Desktop manager -4. War on distros +6. War on distros 1. What is a distribution and how do we compare them 2. Comparison 1. Slackware @@ -74,8 +74,110 @@ Today, I'll lay out Linux as it is known to me. 3. Non-desktop distros 1. AOSP 2. OpenWRT -5. Full setup and demonstration with Linux Mint +7. Full setup and demonstration with Linux Mint &&/font &&/frow &&/slide + + + +&&slide + +# 1. Brief timeline + +&&font27 + +#### 1945 - 1955 + + +Computers were these big computational devices, you directly loaded instructions into memory and let it execute your "code" (processor instructions). +Nothing else ran on the machine. + +This process was labur intensive, a qualified operator had to load your program, then after completion he would have to dump the memory contents, remove any tapes, punch cards, etc., reset the machine and load the next job. + +#### 1956 - 1959 + +By the late 1950s, as computers became faster, a lot of time was spend on operators managing jobs. + +This was automated via [resident monitors](https://en.wikipedia.org/wiki/Resident_monitor): very small programs, which always *resided* in memory, and *monitored* what the state of the current job was. +If a job finished, it would automatically load and start the next program. + +Since a monitor could run the next program at any time, series (batches) of jobs would be grouped together and execute one after another by the monitor. +This process is called [batch processing](https://en.wikipedia.org/wiki/Batch_processing). + +&&/font &&/slide + + + +&&slide &&flexer &&font27 + +#### 1960s + +But by far the biggest bottle neck were peripherals, tapes and punch cards were extremely slow. +[Multiprogramming](https://en.wikipedia.org/wiki/Computer_multitasking#Multiprogramming) was born: while the current job is waiting for a peripheral, doing nothing, another job would be started. + +American Airlines (in collaboration with IBM) created a [travel reservation system](https://en.wikipedia.org/wiki/Sabre_%28travel_reservation_system%29), where travel agents would search, price and book services provided by the airline. +Such systems increased the requirements of a computer system: + +- User accounts with concurrent access +- Response time needed to be slower and ease of use had to be improved +- Storage organization, also following the rise of disks +- Data communication links (were often phone lines) + +Another important factor is the rise of minicomputers: much smaller and incredibly cheap (compared to the alternatives) computers, which lead to an increase in digital technology usage by businesses. + +&&/font &&flexer &&/slide + + + +&&font27 &&slide + +#### 1964 - 1969 + +It is important to talk about IBM's [System/360](https://en.wikipedia.org/wiki/IBM_System/360). +A line of computers, each with great expansion capabilities, redesigned hardware of unparalled speed, simulators and emulators for backwards compatibility, all under one instruction set and operating system (mostly job management). + +This is also the time when the mouse, alongside bit-mapped displays, graphical user interface concepts, teleconferencing and hypertext, [was invented](https://en.wikipedia.org/wiki/The_Mother_of_All_Demos). + +Our final stop is [Multics](https://en.wikipedia.org/wiki/Multics), an operating system that influenced all modern operating systems. +Some of it's novel ideas include, but are not limited to: + +- [Time-sharing](https://en.wikipedia.org/wiki/Time-sharing): sharing resources of a singular machine among many users (via [multiprogramming](https://en.wikipedia.org/wiki/Multiprogramming) and [multi-tasking](https://en.wikipedia.org/wiki/Computer_multitasking)) +- [Single level store](https://en.wikipedia.org/wiki/Single-level_store) (aka [virtual memory](https://en.wikipedia.org/wiki/Virtual_memory)): Processes would write into contiguous memory, but in reality it is scattered and managed by the operating system. +- [Protection rings](https://en.wikipedia.org/wiki/Protection_ring): Allowing different levels of access to different resources (programs). In general, this also often requires a [CPU protected mode](https://en.wikipedia.org/wiki/Protected_mode). +- [Hierarchial file system](https://en.wikipedia.org/wiki/Directory_%28computing%29): Arbitrary directories with subdirectories, rather than just having files next to each other or having directories which could only contain files. +- [Command processor](https://en.wikipedia.org/wiki/Shell_%28computing%29) (that is separated from the OS): More on that later + +&&/slide &&/font + + + +&&font27 &&slide + +#### 1969: Death of Multics and birth of UNIX + +Multics was very ambitous and had a lot of great ideas and minds behind it, but it ultimately grew too large and failed. +Programming was done mostly in [Bell Labs](TODO), who pulled pretty quickly from the project. + +&&flexer +&&frow + +&&font18 + +*Ken Thompson image by National Inventors Hall of Fame* + +*Ken Thompson and Dennis Ritchie in 1973* +&&/font + +&&cont +[Ken Thompson](TODO), one of the programmers that worked on it, still had some desire to work on operating systems. +After Bell Labs left Multics, he made a program for maximizing the throughput of a disk on a PDP-7. +To test it, he wrote some programs over time and eventually realised an operating system could easily be made. + +This marked the birth of UNIX, an operating system, based and expanded on many of Multic's ideas (except the "grow too large" one). +&&/cont + +&&/frow +&&flexer +&&/slide &&/font |