Hardware and Operating Systems
Three lists that are really one idea: every part of this topic exists to work around something being scarce, or something being different, and layering is the general answer to the second.
Get the method right under pressure
Free interactive practice on the steps that lose marks under exam pressure.
Start revising freeWhat you'll cover
Two facts the whole topic works around
Look at what this one topic is asking you to learn. The processor and the cycle it runs. Three kinds of memory. Secondary storage. What an operating system does. How networks are arranged, the rules they follow, and the layers they are built in. And the internet. ⚠️ THAT IS THREE SUBJECTS BOLTED TOGETHER, AND ALMOST EVERYBODY REVISES IT AS THREE SEPARATE LISTS OF FACTS. There is a much better way to hold it, and it starts by asking a question nobody asks in revision: why does each of these things exist at all? ⭐⭐ BECAUSE EVERY SINGLE ITEM IN THIS TOPIC IS A WORKAROUND FOR ONE OF EXACTLY TWO FACTS. EITHER SOMETHING IS SCARCE, OR SOMETHING DIFFERS. Watch it work. ⭐ WHY DOES CACHE EXIST? Because main memory cannot keep up with the processor, so the processor would spend most of its time waiting. Time is scarce, so a smaller and faster store sits in between holding what is likely to be needed next. ⭐ WHY IS THERE MORE THAN ONE KIND OF MEMORY AT ALL? Because main memory forgets everything the moment the power goes. Something that survives being switched off has to hold the instructions that start the machine. ⭐ WHY DOES THE OPERATING SYSTEM DECIDE WHICH PROGRAM RUNS NEXT? Because there are more programs wanting to run than there are processors to run them. Processor time is scarce, so turns have to be handed out. ⭐ WHY DOES A PRINTER COME WITH A DRIVER? Not scarcity this time. Every device works differently, and no program could possibly know how all of them behave. So something translates one general instruction into that particular device's own. ⭐ AND WHY DO MACHINES ON A NETWORK NEED AGREED RULES? Same reason. Two computers built by different people, in different decades, have nothing in common until they agree on how to take turns and what a message looks like. ⭐⭐ NOW THE IDEA THAT TIES THE LAST TWO TOGETHER AND IS THE MOST IMPORTANT THING IN THIS MODULE. LAYERING IS THE GENERAL ANSWER TO THINGS BEING DIFFERENT. You split the job into layers, and each layer hides a difference so that the layer above it does not have to care. A program does not know what kind of network cable it is using. It does not need to, because a layer below it has made all of them look the same. ⚠️ THAT IS ALSO WHY THE INTERNET WORKS ACROSS EQUIPMENT NOBODY COORDINATED. Carry one question through everything that follows: what is scarce here, or what difference is being hidden?
Scarce, different, or both
Sort anything in this topic by what it is working around, and it stops being a list.
Tap the two that follow
Tap the TWO statements that follow from each part of this topic working around a scarcity or a difference.
- A question asking why something exists can be answered by naming what is scarce or what differs
- A layer can be replaced without the layers above it having to change, because it was hiding a difference from them
- If hardware became fast enough, operating systems would no longer be needed at all
- Networks belong to a different subject from hardware and are best learned separately
Why a cache exists at all
A student learns that a computer has cache as well as main memory, and cannot see why one machine needs two kinds of fast memory. What is the reason?
- Main memory cannot supply data as fast as the processor can use it, so a smaller and faster store holds what is likely to be needed next and the processor spends less time waiting
- It keeps a second copy in case main memory fails
- It increases the total amount of memory available to programs
- It keeps its contents when the machine is switched off
Five terms for the systems topic
Five terms, each defined by what it is. The last two are the ones that make networks make sense.
Match each part to what it works around
- A small fast store sitting between the processor and main memory
- Memory holding the instructions that run when the machine is switched on
- The operating system deciding which program gets the processor next
- Software supplied with a printer so a computer can use it
- An agreed set of rules used by two machines from different manufacturers
- Main memory cannot keep pace with the processor, so waiting time is the thing being saved
- Ordinary memory forgets everything without power, so starting up needs something that does not
- More programs want to run than there are processors, so turns have to be handed out
- Every device behaves differently, so one general instruction has to be translated into that device's own
- Two machines share nothing by default, so they must agree how to take turns and what a message looks like
Two that follow from layering
Select the TWO statements that follow from layering being a way of hiding differences.
- One layer can be changed or replaced entirely while the layers above it carry on unchanged
- A program can send data without knowing anything about the kind of connection that carries it
- Layering exists mainly to make networks faster
- A well designed system would have a single layer, since layers add complication
Answering a why does this exist question
The commonest question on this topic is not what something is. It is why it is there, or what its purpose is, or why a computer needs it at all. ⚠️ AND THE COMMONEST ANSWER IS A DEFINITION, WHICH ANSWERS A DIFFERENT QUESTION. ⭐⭐ SAY WHICH OF THE TWO FACTS IT IS WORKING AROUND, AND SAY IT FIRST. Is something scarce, or do things differ? That single sentence is usually the mark. THEN SAY WHAT WOULD HAPPEN WITHOUT IT. ⭐ THIS IS THE FASTEST WAY TO PROVE YOU UNDERSTAND SOMETHING RATHER THAN HAVING MEMORISED IT. Without cache the processor waits. Without scheduling only one program could ever run. Without drivers every program would need to know about every device ever made. THEN NAME THE THING PROPERLY, USING THE RIGHT TERM. Volatile rather than it forgets. Protocol rather than they agree. AND IF THE QUESTION IS ABOUT NETWORKS, REACH FOR LAYERING. ⭐ THE ANSWER TO WHY ANYTHING IN A NETWORK IS ARRANGED AS IT IS USUALLY INVOLVES ONE PART BEING ABLE TO IGNORE ANOTHER. ⚠️ THREE HABITS THAT COST MARKS HERE. ⚠️ THE FIRST IS DEFINING INSTEAD OF EXPLAINING. Cache is a small fast memory. True, and it answers what rather than why, and why is what was asked. ⚠️ THE SECOND IS THE CIRCULAR ANSWER. The operating system manages memory because it is in charge of memory management. It sounds like an explanation and contains no information at all. Name the scarcity instead. ⚠️ AND THE THIRD IS REACHING FOR A NUMBER OR A BRAND. ⭐ A CACHE SIZE, A CONNECTION SPEED, THE NAME OF A PARTICULAR PIECE OF SOFTWARE. THESE DATE FAST AND EARN NOTHING, AND THE STRUCTURAL ANSWER IS BOTH SAFER AND WORTH MORE. One last thing that is worth knowing. If a question asks about something you have half forgotten, you can often rebuild the answer from the two facts. Ask what would be scarce or what would differ if this thing did not exist, and the purpose usually reappears.
One program starting, five workarounds
Somebody double-clicks an icon. Here is what happens, and every single stage is one of the two facts being worked around. ⭐ THE PROGRAM IS SITTING ON SECONDARY STORAGE, WHICH IS WHERE IT HAS BEEN SINCE THE MACHINE WAS LAST SWITCHED OFF. It is there rather than in main memory for a reason that has nothing to do with speed. Main memory is wiped clean every time the power goes. Something had to keep the program in the meantime. ⭐ IT HAS TO BE COPIED INTO MAIN MEMORY BEFORE THE PROCESSOR CAN RUN IT, AND THERE MAY NOT BE ROOM. Other programs are already there. So something has to decide what moves, what stays and what is pushed out. That is a scarce resource being rationed, and nothing else. ⭐ THE PROCESSOR THEN BEGINS WORKING THROUGH THE INSTRUCTIONS, AND IMMEDIATELY RUNS INTO THE SPEED GAP. It can work faster than main memory can feed it. So a smaller, quicker store sits in between, holding the instructions and data most likely to be wanted next. When the guess is right the processor does not have to wait. ⭐ MEANWHILE THE OTHER PROGRAMS HAVE NOT STOPPED, AND THERE IS ONLY SO MUCH PROCESSOR TO GO ROUND. So turns are handed out, fast enough that a person sees several things happening at once. Nothing is actually happening at once. Time is being divided because there is not enough of it. ⚠️⚠️ FOUR STAGES, FOUR SCARCITIES: PERSISTENCE, ROOM, SPEED, AND TIME. ⭐ NOW THE PROGRAM WANTS TO PRINT SOMETHING, AND THE SECOND FACT ARRIVES. The program has no idea what printer is attached, and it must not have to. There are thousands of models and it was written before most of them existed. So it issues one general instruction, and a piece of software supplied with that particular printer turns it into whatever that model actually expects. ⭐⭐ NOTHING WAS SCARCE IN THAT LAST STAGE. THE PROBLEM WAS THAT NO TWO PRINTERS BEHAVE THE SAME, AND THE ANSWER WAS TO PUT SOMETHING IN BETWEEN THAT HIDES THE DIFFERENCE. ⚠️ AND THAT IS EXACTLY WHAT A LAYER IS. THE SAME MOVE, MADE AGAIN AND AGAIN, IS WHAT LETS A NETWORK WORK ACROSS EQUIPMENT BUILT BY PEOPLE WHO NEVER MET. One double-click, five workarounds, and two facts underneath all of them.
Order what happens when a program is opened
Put these six stages into the order they happen in when somebody opens a program.
- The program sits on secondary storage, where it survived the machine being switched off
- Room is made in main memory, moving or removing something else if necessary
- The program is copied into main memory so the processor can reach it
- Instructions and data likely to be needed next are held in the faster store nearer the processor
- The processor divides its time between this program and the others already running
- When the program uses a device, its general instruction is translated into what that model expects
Build the sentence that explains a layer
This is the shape a why-does-it-exist answer takes. Assemble it.
The systems run
Five questions on what each part is working around. Three lives.
Complete the systems facts
Memory that loses its contents when the power is removed is described as _____. A small, fast store holding data the processor is likely to need next is the _____. The software that manages a computer's hardware and provides services to other programs is the _____. An agreed set of rules for how data is exchanged between devices is a _____.
Which scarcity is this solving
A machine with plenty of free memory still slows down when many programs are open at once. Which of the two facts explains that?
- Processor time is scarce, so the turns each program gets are shorter and everything appears to slow down, even though memory is not the limit
- Memory is scarce, which is always the cause of slowing down
- Things differ, since the programs were written by different people
- Secondary storage is full
Three explanations to deepen
Three student answers on this topic. Each contains something correct, and each stops before the part that earns the mark.
- Asked why a computer has cache, a student writes that cache is a small, very fast type of memory close to the processor. What is missing?
- Asked why an operating system is needed, a student writes that it is needed because a computer cannot work without an operating system to run it. How would you improve it?
- Asked why network communication is split into layers, a student answers that it makes the network faster. What has gone wrong?
Explain why the layers exist
Explain why a computer needs an operating system at all, and why network communication is split into layers. Use the idea that each part of this topic works around something being scarce or something being different.
- Open by naming the two facts everything in this topic works around
- Give at least two operating system jobs that exist because a resource is scarce, naming the resource each time
- Give at least one that exists because things differ, and say what would have to happen without it
- Explain what a layer does, in terms of the difference it hides from the layer above
- Say what layering makes possible that a single undivided system could not manage
- Finish by explaining why answering a why-does-it-exist question with a definition scores poorly, and what to write instead