Welcome
Fertile Questions for the x chapter of “How to Learn Computer Science”.
Welcome
Thank you for buying my book! This page discusses the content in the “x chapter and answers the “Fertile Questions” I asked there. There are no perfect answers, however: you may even disagree, but the point of a fertile question is to make you think.
Here are the questions, and my suggested answers. Do you agree?
Why do we need an Operating System?
To manage the hardware, so our application programs don’t have to.
When early computer programs needed input or output, processing would halt while data was read from slow disks or tapes, leaving hugely expensive CPUs idle most of the time. The IBM 704 had a rudimentary batch operating system in 1956, but it just ran the next program when the previous one had finished: the CPU still sat idle while programs were waiting for input or output.
“How to Learn Computer Science” page 155
Having software to manage the CPU, memory and storage and allocate it to applications as necessary allowed these big expensive machines to be used more efficiently. Later, OSs would add interactivity, a graphical user interface (GUI) and many more features that make it easier to use and write programs for.
Why did UNIX become so popular?
Unix was written to be very powerful, and put the programmer in charge. It therefore became really popular in academia, so when graduates went into industry they would take a copy with them. Unix was written in C so could be ported to virtually any existing system in the 1970s and 1980s.
How can I run a game, browser and calculator all at once?
Multitasking. All modern end-user OSs (like Windows, iOS, macOS and Linux) support multitasking, meaning that many programs can run at once, with the OS switching between tasks, giving them each a slice of time on the CPU in turn. So your applications look like they are running simultaneously, but are actually getting short slices of time on the CPU, maybe as little as a few microseconds each time, but that’s enough to execute thousands of instructions in each time slice.
We don’t notice anything because every program responds quickly due to interrupt handling – if you click the mouse or press the joypad, this sets a flag called an interrupt, which gets processed very quickly by the OS. The result is a system that looks like it is running many programs simultaneously!
Why was Android such a runaway success?
Open sourcing. Basically because instead of developing a closed-source competitor to iOS, Android partnered with hardware and software manufacturers to develop an open source platform. Being open source meant that anyone could contribute features and before long an OS to rival iOS was available to all.
HTC launched the first Android phone in 2008 while Sony, Samsung and Motorola followed suit soon after.
We’ve had Command-line interfaces and GUIs, what’s next?
Voice, gesture and perhaps a brain-computer interface!
With the advent of Siri, Cortana, Google Assistant and Alexa, users have a new way of interacting with the computer – the voice command. Adoption has been rapid, with half of all internet searches voice-activated in 2020. Voice user interfaces (VUIs) are accessible by disabled people who find traditional keyboard and mouse operation difficult. Gesture UIs are also here, with the Windows Kinect software development kit (SDK) allowing application developers to build gesture-activated apps. Combined with predictive technology, this means the way we interact with our computers is set to change dramatically in the coming years.
“How to Learn Computer Science” page 163
How can I keep my computer running smoothly?
A defragger, disk cleanup, antivirus and many more utilities are designed to keep your computer running smoothly. Perform software updates when advised by the manufacturer and make sure you have plenty of memory and the latest drivers!


You must be logged in to post a comment.