What is Linux
Linux, somewhat like macOS from Apple and Windows from Microsoft, is a piece of software that makes it possible to use your desktop computer or laptop in a user-friendly and productive way. For almost no person, Linux will be or was the first operating system with which they have ever started their computing experience. Since most mainstream computers that can be purchased from the local computer vendor or from an Apple Store, are pre-installed with macOS or Windows, for most people these operating systems will automatically be the most logical choice, or a choice that is a logical consequence of the direction other influencers in their social environment have maneuvered them into. In this course you will learn all about how to get Linux, how to install it, how to use it, and a lot of other useful topics. But before we start with these more practical topics, it’s good to first explain in a simple way what Linux actually is and how it originated. So that is what we are going to do in this lesson.
The choice for Linux
Linux is, just like Windows and macOS, but also like Android and iOS, a piece of software that is located as an approachable, adaptable, and influenceable layer between the hardware and the user. Where the steering wheel and the accelerator pedal are located between the driver of a car and the engine, there is Linux between the user and a desktop computer or laptop. But you will also find Linux in modern washing machines, your mobile phone, supercomputers, your drone, but also in the International Space Station.
Some people have a preference for Apple equipment and say that Apple’s operating system works much better than Windows. But the opposite is said by Windows enthusiasts. And in both camps, many people will say that Linux is a difficult operating system, but Linux users say it is simple and very user-friendly. So what is true?
Probably the most important reason why most people won’t choose Linux is not about the quality of this operating system but is mainly due to the lack of good information and the way that information is presented to them. This results in ignorance of that other world that is not yours. And since many people sail on convenience, most people do not really care to try a third alternative Linux as long as they are not convinced that it is a viable alternative. And that is a pity because Linux is a formidable platform and with the right user-centered approach Linux could get a much larger footprint.
For only a relatively small group of people, change is a goal in itself and thus an adventure and they can enjoy the fact that the world continues to develop over and over again. But a much larger group of people sees change as a necessary evil that can only be justified if there are really good reasons for it to change with it. So in this course, I will come up with some good reasons that hopefully help people out of their comfort zone and have a look at the Linux operating system in a way it deserves.
What is Linux
For most non-technical people Linux is seen as a complete operating system, similar to macOS and Windows. But based on a definition like that Linux gets a little too much credit, since it is only the core of the operating system. This core is what we call a kernel in technological terms. In addition to the kernel, some additional components are required before we can call it a complete operating system, or in Linux terms, a distribution. But without that kernel, there is nothing to control, while on the other hand not all other components, such as a graphical desktop environment, are needed to be able to control your computer.
So in a nutshell the kernel is, although other components are needed as well, probably the most important part of the operating system. The Linux kernel is the spider in the web or the traffic controller that manages and links all commands from the user, the connected devices, and all related software components. The kernel is continuously engaged in activities such as handling hardware and software signals, assigning memory to processes, managing processes, and interpreting and managing input and output signals and associated rights.
History of Linux
The reason for the start of the development of Linux was MINIX, which is a very small Unix-like operating system, which was created by a man called Andrew Stuart Tanenbaum. Tanenbaum is a professor emeritus at the Computer Systems department of the Vrije Universiteit (Free University) in Amsterdam (which is kind of special to me because I got my master’s degree in Information Technology Sciences from the same university). His sole purpose for creating this small MINIX operating system was to support his lessons on operating systems and his book Operating Systems: Design and Implementation.
In 1991 Linus Torvalds, a student from Finland specializing in computer sciences at the University of Helsinki, was very interested in the work of Tanenbaum, but was a bit upset that MINIX was licensed software. So he started a kind of a hobby project to build his own operating system kernel inspired by MINIX, but based on his own code After a relatively short period of coding on 25 August 1991 Linus announced his kernel to the newsgroup comp.os.minix with the following message:
From: torvalds@klaava.Helsinki.FI (Linus Benedict Torvalds)
Subject: What would you like to see most in minix?
Summary: small poll for my new operating system
Date: 25 Aug 91 20:57:08 GMT
Organization: University of Helsinki
Hello everybody out there using minix –
I’m doing a (free) operating system (just a hobby, won’t be big and professional like gnu) for 386(486) AT clones. This has been brewing since april, and is starting to get ready. I’d like any feedback on things people like/dislike in minix, as my OS resembles it somewhat
(same physical layout of the file-system (due to practical reasons) among other things).
I’ve currently ported bash(1.08) and gcc(1.40), and things seem to work. This implies that I’ll get something practical within a few months, and I’d like to know what features most people would want. Any suggestions are welcome, but I won’t promise I’ll implement them 🙂
PS. Yes – it’s free of any minix code, and it has a multi-threaded fs.
It is NOT protable (uses 386 task switching etc), and it probably never
will support anything other than AT-harddisks, as that’s all I have :-(.
From this message, it seems that Torvalds own limited expectations have not come true and that it has become much much bigger, both in size and importance, than initially thought by him and others. When we include all devices Linux runs on and manages nowadays, like Android phones, web servers, Internet of Things devices, and normal computers, it is the most used operating system in the world. And more than 28 million lines of code is not a small operating system as well.
What is open source
In addition to Linux, chances are that you have also heard or read about open source. Linux and open source have an important relation, so let us also briefly dwell on the backgrounds of open source.
Simply put, software based on the open source principle is a form of software creation and distribution in which the source code is freely accessible to everyone, and can be viewed, changed, and used as the basis for a new variant, without there being any copyright to be able to stop this freedom. That is why they use sometimes copyleft instead of the well-known copyright. This is a good contrast with commercial software that is mostly closed source and therefore not freely available to be viewed, copied, and adjusted. The development of open source applications is done by a huge joint partnership of both individual programmers and large companies.
Open source has its advantages, but also disadvantages. Because the source code is completely transparent, everyone can look at it and can react very quickly to, for example, risky issues and security breaches. When a problem is discovered, in principle a large community of passionate programmers can turn to the problem, and problems are often solved very quickly. This is in contrast to closed source software, where we are often dependent on a commercial party that has to weigh certain things before proceeding to take action, which can lead to delays. But on the other hand, the open nature has the disadvantage that many variants of software and distributions can be developed that can make the landscape unclear and make decisions about which software to use a bit more difficult.
So to summarize. Linux is a piece of software that makes it possible to use your desktop computer or laptop in a user-friendly way. The reason for the start of the development of Linux was MINIX. In 1991 Linus Torvalds, a student from Finland who was very interested in MINIX started a kind of hobby project to build his own operating system kernel inspired by MINIX, but based on his own code. Linux is only the core of the operating system, also called the kernel. The kernel is continuously engaged in activities such as handling hardware and software signals, assigning memory to processes, managing processes, and interpreting and managing input and output signals and associated rights. Open source software is a form of software creation and distribution in which the source code is freely accessible to everyone, and can be viewed, changed, and used as the basis for a new variant.
Now that we have laid the foundation for Linux and you know a bit about how it all started, in the following couple of lessons, we will look at some reasons why you should switch to Linux, what a distribution is, and how to make some important Linux related choices.