CITS2002 Systems Programming  
next CITS2002 CITS2002 schedule  

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

Computer Organization and Design (MIPS Edition): The Hardware/Software Interface,
by David A. Patterson and John L. Hennessy.
Morgan Kaufmann Publishers,
6th edition, 2021.
Computer
Organization: Basic Processor Structure
,
James Gil de Lamadrid,
Chapman and Hall/CRC,
Published February 23, 2018,
372pp, ISBN 9781498799515.
Computer Systems: A Programmer's Perspective,
Randal Bryant and David O'Hallaron,
October 2015,
1120pp, ISBN 1292101768.

 


CITS2002 Systems Programming, Lecture 5, p1, 7th August 2023.