An Overview of Computer Hardware
Any study of operating systems requires a basic understanding of the components
of a computer system.
Although the variety of computer system configurations is forever changing,
as (new) component types employ different standards for their
interconnection,
it is still feasible to discuss a simple computer model,
and to discuss components' roles in operating systems.
|
Traditionally, we consider four main structural components:
- The Central Processing Unit, or CPU,
undertakes arithmetic and logical computation, and
directs most input and output services from memory and peripherals.
There may be multiple processors in a system,
each executing the (same, single) operating system or
user/application programs.
- Main Memory, or RAM (Random Access Memory)
is used to store both instructions and data.
Processors read and write items of memory both at the direction of
programs (for data), and as an artifact of running programs (for instructions).
- Secondary Storage and Peripheral Devices,
(or input/output modules)
and their I/O controllers,
move data to and from the other components
usually to provide longer-term, persistent storage of data (disks, tapes),
- A communications bus, or system bus, connects the processor(s),
main memory, and I/O devices together, providing a "highway" on which data may
travel between the components. Typically only one component may control the
bus at once,
and bus arbitration decides which that will be.
|
Excellent, albeit expensive, computer organisation texts
![](images/ph6.jpg) |
Computer
Organization and Design (MIPS Edition):
The Hardware/Software Interface,
by David A. Patterson and John L. Hennessy.
Morgan Kaufmann Publishers,
6th edition, 2021.
|
![](images/jgdl.jpg) |
Computer Organization: Basic Processor Structure,
James Gil de Lamadrid,
Chapman and Hall/CRC,
Published February 23, 2018,
372pp,
ISBN 9781498799515.
|
![](images/bryant-3e.jpg) |
Computer
Systems: A Programmer's Perspective,
Randal Bryant and David O'Hallaron,
October 2015,
1120pp,
ISBN 1292101768.
|
CITS2002 Systems Programming, Lecture 6, p1, 7th August 2024.
|