A computer system is hardware running software. This topic covers the processor, memory and storage, the software that manages them, and the logic from which circuits are built.
Hardware is the physical parts of a computer. Software is the programs it runs. Neither is useful without the other.
A logic gate takes one or more binary inputs and gives one binary output.
A truth table lists every possible combination of inputs and the output each produces. Two inputs give four rows, three inputs give eight.
Gates are combined into circuits, where the output of one gate becomes an input to the next. To work out the result, complete the truth table one gate at a time, left to right.
System software manages the computer and provides a platform for other programs. Application software performs tasks for the user, such as writing a document or editing an image.
The operating system manages the machine on behalf of everything else. Its jobs include:
Utility programs maintain the system rather than doing the user’s work. Examples are backup, file compression, disk defragmentation and anti-malware software.
A high-level language is close to human language, portable between machines, and easier to write and maintain.
A low-level language is close to the processor. Machine code is the binary the processor executes directly; assembly language is a readable form of it.
A compiler translates the whole program at once and produces a file that runs on its own. Translation happens before the program is used.
An interpreter translates and runs one line at a time. It reports the first error when it reaches it, which suits development, but runs more slowly.
An integrated development environment gathers the tools for writing code in one place: an editor with syntax highlighting, error messages, a run-time environment, and debugging tools such as breakpoints and variable watches.
In the von Neumann design, both the instructions and the data are held in main memory. The processor fetches instructions from memory in turn.
The processor repeats three stages: fetch the next instruction from memory, decode it to find out what is required, and execute it.
Clock speed is the number of cycles per second, measured in gigahertz, so a higher speed means more instructions each second.
More cores allow more instructions to be processed at the same time. A larger cache means the processor waits less often for data from main memory.
RAM holds the programs and data in use. It is volatile, so its contents are lost when power is removed.
ROM is non-volatile and holds the instructions the computer needs to start up.
When RAM is full, part of secondary storage can be used as though it were extra RAM. This is virtual memory. It allows more programs to stay open, but secondary storage is far slower than RAM, so the machine slows down.
Secondary storage keeps data when the power is off. Without it nothing would survive a shutdown.
An embedded system is a computer built into a larger device to perform one dedicated task, such as the controller in a washing machine. It runs fixed software and needs little memory or power.
Back to Computer Systems practice · View all Computer Systems questions