Hardware and software influences

Although all computer devices share a common architecture, each device will have a unique set of hardware and software, which will impact on the type of user interface that can be designed and used. We will explore some of the major software and hardware influences now – starting with operating systems.

An operating system is software that manages computer hardware and software. It supplies an interface for the user and important utilities for managing the computer. Before operating systems, computers were a lot more difficult to manage and would require programming ability to simply open a piece of software or save a file.

The operating system performs several key functions – click on the diagram below to find out more.

Interface

The operating system provides a user interface so it is easy for the user to interact with the computer.

Managing the CPU

The operating system runs applications and executes and cancels processes.

Multi-tasking

The operating system allows multiple applications to run at the same time.

Managing memory

The operating system transfers programs into and out of memory, allocates free space between programs, and keeps track of memory usage.

Managing peripherals

The operating system opens, closes and writes to peripheral devices such as storage attached to the computer or printers.

Organising

The operating system creates a file system to organise files and directories on the device.

Security

The operating system provides security through user accounts and passwords.

Utilities

The operating system provides tools for managing and organising hardware.

When developing a user interface for an operating system, you must consider if the interface is compatible with the operating system. Different operating systems require different programming code and therefore larger companies will produce multiple versions of an interface for different operating systems.

The most common operating systems are:

  • Microsoft Windows
  • Apple iOS
  • Android
  • Linux