1.5 – Systems software

πŸŽ‡1.5.1 Operating systems

This section covers:

  • The purpose and functionality of operating systems:

    • User interface

    • Memory management and multitasking

    • Peripheral management and drivers

    • User management

    • File management

🏠 Click here to go back to the main page.

πŸ”—1.5.2 Utility software

Systems Software is the software that allows other software to use the computer hardware. Systems software includes operating systems such as Windows, Android, Apple IOS, Linux etc. It also includes some complex suites of programs called "app engines" of "gaming engines". These suites of software allow a games designer or app designer to create software that can be used on many different computer hardware - the app engine "interprets" the requirements of the app.

The Purpose and Functionality of Systems Software

Systems software is the connection between the computer system hardware and the applications that run on the system. It is comprised of two main functions:

  • The Operating System itself

  • "Utility" applications which perform a specific function, which might enhance the features of the operating system or perform a function such as backing up data.

Operating Systems

The operating system is a collection of programs that work together to tell the hardware what to do. They are necessary on all computer systems ranging from mobile phones right up to the most powerful supercomputers.

The Operating System:

  • Allows the user to use the hardware.

  • Provides a user interface (UI)

  • Manage the computer hardware and peripherals*

  • Provides management of memory and files by allocating, extending and restoring files and storage as and when required

  • Manage security and organising data so that it is not overwritten

* a peripheral is a hardware device that is outside the normal computer enclosure

User Interface

Graphical User Interface

This is the most common form of user interface and is often referred to as the GUI.

Many popular operating systems such as Windows, Linux, iOS, Android etc. use this form of interface. They often use a WIMP layout (Windows, Icons, Menus and Pointers). Users can move a mouse that controls the position of the Pointer on the screen. Applications display their content in Windows which may have small pictures called Icons. Clicking on the icons may open a Menu of choices.


Command Line Interface

A command line interface allows users to type commands directly into the system. The operating system may respond by displaying the results of the command.

In this example (in the image), the user has typed "dir" and the system responds by showing the files that are stored in the C drive.



Voice Control and Gesture Control

This is a relatively new user interface style. Voice control user interfaces allow you speak commands to your mobile phone and digital assistants (such as Siri, Alexa and "Hey Google"). They use artificial intelligence to try to understand what you are trying to do, and even recognize your voice to provide personalized results ("Hey Google, what was my last text message?" will play back your own text message even though other people may be able to also use the digital assistant)

Gesture Control is popular on games consoles, and uses multiple cameras to sense where your hands and arms are.

Memory Management

Computer systems load applications from secondary storage such as hard disc drives into their primary storage which is usually the computers RAM. At any one time, there will be many separate applications loaded, some of which the user may not be aware of such as anti-virus software and system management software.

The user may also load files such as word-processed documents which also have to be held in the RAM.


The available space in the primary storage is limited and the Operating System will allocate memory to each application as it needs it. The application will also hand back any RAM that it no longer needs. It is very likely that the space available will be less than is actually needed, and the operating system will use techniques such as virtual memory to temporarily use the secondary storage space to store excess data.

When a program is closed (which may be because of a "crash" where an error causes the program to suddenly stop), the operating system will try to reclaim all the allocated memory so that other programs can use it.

Occasionally, poorly written software may not hand back all the memory it has been allocated, and this situation is known as a "memory leak" which will gradually lock up the computers RAM and may cause a complete system crash. Whenever the computer is re-booted, the RAM is completely cleared.

Multi-tasking

As well as managing the amount of RAM and other system resources that each application requires, the operating system has to divide the amount of processing power that is available between all of the programs that require it. This may include each program that is loaded, but also many background tasks such as transferring files to storage, printing documents, anti-virus checks and many many more.

The operating system does this by allocating small "slices" of time, which may each last for hundredths of a second, to each program. Once the program has used its allocation, then the operating system will pass control to the next one in the queue. This will repeat continually and it will appear that the computer is doing more than one thing at once, but in reality it is switching between the applications very rapidly.

Peripheral Management and Drivers

It is possible to connect a very wide range of devices to a modern computer and we expect that the system will automatically deal with each new piece of hardware and allow us to use it without issue. This is done by using a piece of software known as a "driver". The driver will deal with the specific hardware and pass any signals to the operating system in a standard way. A good example of this is the computer mouse, you can connect many different types of mouse such as roller ball mice and even "gyro mice" which work in very different ways but all pass the same signals to the PC.

A USB memory pen is another good example - essentially they all appear in exactly the same way but use different technology depending on the manufacturer and age of the pen drive. When you plug the device in, the operating system will load and configure the driver software and the pen drive will then appear as a new drive.

Driver software may need to be updated, either to fix any bugs, or to introduce new features. This can either be done automatically or when the user asks the operating system to check for any updates.

Because the driver software works at a very machine specific level, they use a compiled machine code program to maximise the speed that they can respond.

User Management

Allocation of an Account.

Most operating systems will allow user accounts to be created. Each user can have different settings such as desktop background, default colours and fonts, and can have their own user area. Accessibility features such as using a screen reader or reversing the mouse buttons can also be set to each user.

Access Rights

The operating system is responsible for managing these users and applying the correct settings to each account. Most user accounts will be unable to access work and documents created by other users, unless they have been explicitly given permission to access them.

Security

The user accounts may be protected so that other users cannot log on as the wrong person. This may be done by using a password or PIN, but could also user a fingerprint reader or other biometric device.

File Management

Every computer system needs to be able to manage files, including programs and data files. The basic operations necessary include saving and loading files, renaming files, copying files, moving files and deleting files.

When you save a large number of files, it is very easy to lose them. Operating systems can organise the files by using "folders", or "labels" which allow you to add a contextual description to them. By using sensible, descriptive file names and folder names, it is much easier to keep track of every document.

Files can also have a "file type" associated with them, which allows a particular program or application to be used to "handle" them. One way of doing this is to use a "file extension" which is added to the file name. A document called "diary.docx" means that the document called "diary" has a file extension of ".docx" which is the default file extension for Microsoft Word.

The operating system may also encrypt the files to keep them more secure and could use compression techniques to reduce the file size without losing detail. This would allow more documents to be saved in the same sized file space.

Quick Test - will be here (Requires login)

Other Resources for this topic