5. System Software
1. Operating Systems
oftware is the programs (sequences of instructions) which run on the
S
hardware/computer system
It can be divided into system software and application software:
● System software is programs that are needed to enable the computer to function and manages
the operation of the computer - it includes utility software, the OS, libraries and translators
● Application software is programs that are user-orientated/needed to perform tasks for the user -
it includes general purpose software (can be used for a range of generic tasks) e.g. word
processor, and special purpose software (tasks for a single, specific job) e.g. accountancy software
he role of an operating system e.g. Windows, Linux, ChromeOS, iOS, is to manage the hardware
T
(resources), whilst hiding the complexities of the hardware from the user, by providing a user interface -
it forms a bridge between the physical hardware of a computer and the user or application software
User interface:
● Human-computer interface (HCI) is usually achieved with a GUI or CLI
○ Command line interface (CLI) allows user to communicate with computer directly, and is
not restricted to predetermined options, using a series of commands the user has to learn
○ Graphical user interface (GUI) allows the user to interact using pictures/icons
■ Windows, icons, menu and pointing device (WIMP) uses a mouse and cursor
■ post-WIMP uses touchscreen and allows for actions like pinching and rotating
API (Application Programming Interface):
● An API is a way for two or more computer programs to communicate with each other
● It is a type of software interface, offering a service to other pieces of software
● It hides the complexity of operations from the user
Key management tasks of an OS:
● Memory management
○ Makes efficient use of memory, dynamically allocating memory to processes
○ Prevents simultaneously running programs from occupying the same area in memory, to
prevent data loss, unusual application behaviour, and security issues
○ Keeps track of all allocated memory and free memory available
○ Manages what to put in the secondary storage if virtual memory is used
○ Memory/RAM is split into blocks
■ Single (contiguous) allocation - where all of the memory is made available to a
single application - used by MS-DOS and embedded systems
■ Partitioned allocation - memory split up into partitions (contiguous blocks of data)
of varying sizes, which are allocated to different applications
■ Paged memory - each partition is a fixed size - used by virtual memory
■ Segmented memory - memory is split up into blocks which are not contiguous -
each segment will be a logical grouping of data
, ● Security management
○ Ensures the integrity, confidentiality and availability of data
○ This can be achieved by:
■ Creates accounts/passwords and uses different levels of access rights/privileges
to ensure data privacy - validates user authenticity
■ Provision and automatic software updates of a firewall and anti-malware software
■ Offering the ability for data recovery/system restore if it is lost or corrupted
● Process management
○ A process is a program being run on a computer
○ Manages the scheduling of processes (which order to run processes) through a process
queue and scheduling routines, ensuring wait-time minimised and no process is starved
○ Allows multi-tasking/multi-processing, by ensuring fair access, handling priorities and
handling interrupts
○ Prevents interference between processes/resolution of conflicts
○ Enables processes to share data
○ Manages which resources the processes require e.g. allocating memory
● Hardware management
○ Involves managing peripherals (hardware resources), and external input/output devices
○ Functions:
■ Installs device drivers to allow communication between devices connected to
external ports and computer
■ Manages communication between devices
■ Manages hardware interrupts/signals from the device
■ Handles buffers for transfer of data to ensure smooth transfer between devices
that transmit and receive at different speeds
■ Ensuring that each hardware resource has a priority, so it can be used as required
○ Management of peripherals controls all queues and buffers e.g. for a printer
■ Locates and loads the printer driver in memory
■ Organises data in a printer queue
■ Sends data to printer buffer ready for printing
■ Sends various control commands to the printer throughout the printing process
■ Receives and handles error messages and interrupts from the printer e.g. no paper
● File management
○ Defining the file name conventions that can be used/are allowed
○ Specifies tasks that can be performed on a file (e.g. open, close, delete, copy, move)
○ Storage space is divided into file allocation units and space is allocated to particular files
○ Specifies the logical method of file storage (e.g. FAT or NTFS) depending on which type
of disk formatter is used
○ Controls access rights/password protection
○ Maintains/creates directory structures
1. Operating Systems
oftware is the programs (sequences of instructions) which run on the
S
hardware/computer system
It can be divided into system software and application software:
● System software is programs that are needed to enable the computer to function and manages
the operation of the computer - it includes utility software, the OS, libraries and translators
● Application software is programs that are user-orientated/needed to perform tasks for the user -
it includes general purpose software (can be used for a range of generic tasks) e.g. word
processor, and special purpose software (tasks for a single, specific job) e.g. accountancy software
he role of an operating system e.g. Windows, Linux, ChromeOS, iOS, is to manage the hardware
T
(resources), whilst hiding the complexities of the hardware from the user, by providing a user interface -
it forms a bridge between the physical hardware of a computer and the user or application software
User interface:
● Human-computer interface (HCI) is usually achieved with a GUI or CLI
○ Command line interface (CLI) allows user to communicate with computer directly, and is
not restricted to predetermined options, using a series of commands the user has to learn
○ Graphical user interface (GUI) allows the user to interact using pictures/icons
■ Windows, icons, menu and pointing device (WIMP) uses a mouse and cursor
■ post-WIMP uses touchscreen and allows for actions like pinching and rotating
API (Application Programming Interface):
● An API is a way for two or more computer programs to communicate with each other
● It is a type of software interface, offering a service to other pieces of software
● It hides the complexity of operations from the user
Key management tasks of an OS:
● Memory management
○ Makes efficient use of memory, dynamically allocating memory to processes
○ Prevents simultaneously running programs from occupying the same area in memory, to
prevent data loss, unusual application behaviour, and security issues
○ Keeps track of all allocated memory and free memory available
○ Manages what to put in the secondary storage if virtual memory is used
○ Memory/RAM is split into blocks
■ Single (contiguous) allocation - where all of the memory is made available to a
single application - used by MS-DOS and embedded systems
■ Partitioned allocation - memory split up into partitions (contiguous blocks of data)
of varying sizes, which are allocated to different applications
■ Paged memory - each partition is a fixed size - used by virtual memory
■ Segmented memory - memory is split up into blocks which are not contiguous -
each segment will be a logical grouping of data
, ● Security management
○ Ensures the integrity, confidentiality and availability of data
○ This can be achieved by:
■ Creates accounts/passwords and uses different levels of access rights/privileges
to ensure data privacy - validates user authenticity
■ Provision and automatic software updates of a firewall and anti-malware software
■ Offering the ability for data recovery/system restore if it is lost or corrupted
● Process management
○ A process is a program being run on a computer
○ Manages the scheduling of processes (which order to run processes) through a process
queue and scheduling routines, ensuring wait-time minimised and no process is starved
○ Allows multi-tasking/multi-processing, by ensuring fair access, handling priorities and
handling interrupts
○ Prevents interference between processes/resolution of conflicts
○ Enables processes to share data
○ Manages which resources the processes require e.g. allocating memory
● Hardware management
○ Involves managing peripherals (hardware resources), and external input/output devices
○ Functions:
■ Installs device drivers to allow communication between devices connected to
external ports and computer
■ Manages communication between devices
■ Manages hardware interrupts/signals from the device
■ Handles buffers for transfer of data to ensure smooth transfer between devices
that transmit and receive at different speeds
■ Ensuring that each hardware resource has a priority, so it can be used as required
○ Management of peripherals controls all queues and buffers e.g. for a printer
■ Locates and loads the printer driver in memory
■ Organises data in a printer queue
■ Sends data to printer buffer ready for printing
■ Sends various control commands to the printer throughout the printing process
■ Receives and handles error messages and interrupts from the printer e.g. no paper
● File management
○ Defining the file name conventions that can be used/are allowed
○ Specifies tasks that can be performed on a file (e.g. open, close, delete, copy, move)
○ Storage space is divided into file allocation units and space is allocated to particular files
○ Specifies the logical method of file storage (e.g. FAT or NTFS) depending on which type
of disk formatter is used
○ Controls access rights/password protection
○ Maintains/creates directory structures