Before you keep reading...
Runestone Academy can only continue if we get support from individuals like you. As a student you are well aware of the high cost of textbooks. Our mission is to provide great books to you for free, but we ask that you consider a $10 donation, more if you can or less if $10 is a burden.
Before you keep reading...
Making great stuff takes time and $$. If you appreciate the book you are reading now and want to keep quality materials free for other students please consider a donation to Runestone Academy. We ask that you consider a $10 donation, but if you can give more thats great, if $10 is too much for your budget we would be happy with whatever you can afford as a show of support.
9.1. Operating Systems¶
An operating system is a complex program that keeps the hardware and software components of a computer system coordinated. Usually, it is the only program that has full access to the computer hardware - its primary task is to manage that hardware and control the ways in which other programs can make use of it.
Although the simplest microprocessors (like those inside simple electronic devices) may not have an operating system, every complex modern computational device uses one. There are a wide range of operating systems, some specialized for running personal computers, others for smartphones and others for more specialized hardware. How many of the operating system logos do you recognize in the image below?
Operating systems that solve similar problems on similar hardware tend to themselves be similar. Windows, OSX, and Linux desktops all provide similar ways to view files, and interact with programs because they are used on personal computers with mice and keyboards. Phone operating systems like Android and iOS are similar because they generally operate on devices with smaller screens that are touch-sensitive.
You are probably most familiar with the kind of operating system that runs on a personal computer or smartphone to make it easier to use and program. It is however worth recognizing that there are other types of operating systems designed to run different kinds of hardware or satisfy different constraints.
An operating system that is designed to operate a particular piece of relatively simple hardware. The emphasis for this type of operating system is on simplicity and efficiency.
An operating system designed to handle situations where incoming events must be processed in a fixed amount of time. An example might be the flight controls of an airplane - when the pilot moves the throttle, the control computer cannot afford to ignore that because it is busy doing other jobs.
An operating system optimized to run programs from a list of jobs. The processing time of large scientific computers is too valuable to waste on interacting with humans searching around in folders and typing commands. Instead, programs must be added to the list of jobs the computer is working on - as soon as one job is finished, the next is immediately loaded and started.
What’s the deal with Linux?
You may or may not have tried working with a PC running Linux - it is an alternative to Windows or Mac OSX for powering personal computers. But it also is the operating system that powers many of the electrical devices in your home, the majority of web servers in the world as well as most big scientific computers.
Where did it come from? Why is it so popular? This video tells the quick version of the story of Linux and free, open-source software: