Not sure which OS is best to invest in for my computer science degree. Have had varying opinions - from your experience in education or working in the sector, what is the operating system that will treat me the best for the next three years of my degree?
Some Operating Systems that I feel are important to understand are (in no particular order):
Microsoft Research Singularity for its interesting approach of compile-time memory and process isolation, thus obviating the need for any sort of MMU, CPU privilege separation, and hardware memory protection. Also, the safety and modularity of message-passing semantics with the performance of mutable shared memory by compile-time verification of messaging protocol state machines.
Microsoft Research Midori for an interesting view into how a research operating system (Singularity) changes when you apply its ideas to a pragmatic production OS (Midori was never released, but it was run in production in Microsoft Bing).
Smalltalk – You might ask yourself, what business does a Programming Language have to be listed in a list of Operating Systems? Especially a programming language whose fundamental design principles famously include
An operating system is a collection of things that don't fit into a language. There shouldn't be one.
Well, it is precisely for that reason that I find Smalltalk to be a fascinating and important "Operating System". It shows you what a system without an operating system could look like.
ETH Zürich Barrelfish for an interesting take on an OS for heterogeneous manycore systems. For example, the laptop I am typing this on right now has eight cores, which are actually composed of two different kinds of cores in two blocks of four cores. It also has several co-processors for graphics, video, machine learning, and security. Heterogeneous multicores are already commonplace, manycores are already commonplace, it shouldn't be long until we see heterogeneous manycores. Also, even though this OS is older than the cloud hype, it would actually be a perfect cloud OS.
ETH Zürich Oberon for an interesting approach to GUIs. All modern desktop OSs are essentially descendants of Smalltalk. (While fanatic trolls on both sides of the side accuse either Bill Gates of stealing from Steve Jobs or Steve Jobs of stealing from Bill Gates, reality is that both teams visited the Smalltalk team around the same time, and that's where both got their ideas from.) Oberon is very different.
Plan 9 from Bell Labs (the successor to Unix) and its successor Inferno give great insight into Unix. If you understand Plan 9 and Inferno, you understand the ideas behind Unix, and you see all the places where those ideas were betrayed. For example, a fundamental design idea in Unix, Plan 9, and Inferno is "Everything Is A File", except in Unix, there are lots of things that aren't files, whereas in Plan 9 and Inferno, they are. Network sockets are "file-like" in Unix, but are simply files in Plan 9 and Inferno. Windows don't even exist in Unix itself, and are in-memory structures hidden behind specialized APIs in X and Wayland, but they are just files in Plan 9 and Inferno.
The Burroughs Master Control Program because "everybody knows" you cannot write an OS in a high-level language … except these guys did it. In 1961.
I'm in the final year of a 4-year engineering degree program in Electronics and Communication Engineering. I have installed and use Kubuntu for the past 3 years and I love it!
- It is lightweight and crashes very rarely (with 8 GB RAM, but 4 GB RAM is also useable with fewer applications runnning concurrently).
- Most updates can be done without restarting your computer and you are not forced to update.
- Beautiful and intuitive GUI (KDE)
- Free KDE development tools like KDevelop and Kate are awesome!
- Easily install and update software using Discover application.
- Different modes and a fully customisable desktop
- Tons of free software that can be installed.
- The PDF reader, Okular is really good!
- Learning Unix and Linux administration is a very valuable skill in the computing industry.