Unit 5 System Software

Unit 5 Files

What is ‘systems software’?

When you use a computer you can use it without understanding all of the clever things that are going on in the background. You can take for granted operations such as saving work to memory stick, the ability to send work to a printer (FILE - PRINT) and typing in words and commands via a keyboard. You don't need to know how this happens - it just happens! The software that divorces a user who is actually using a computer from the way the computer actually does what the user asks it to is known as 'systems software'. Systems software is made up of the following four types of software: the operating system, utility programs, library programs and translators.

The operating system

According to the BCS, an operating system is "a program or suite of programs that controls the entire operation of the computer". Imagine you went out to your computer shop and bought a new computer. When you took it home and switched it on, nothing happened!! It powers up okay but you can’t actually do anything with it. The reason for this is that your computer needs an ‘operating system’ to make it work. You have probably used a computer that has DOS, RISC-OS, Windows or Linux running on them at some time. These are examples of operating systems. An operating system performs a number of very important jobs and we will go into some detail about these in future chapters. Just to give you an idea of some of the jobs that are done by operating systems, they: manage all of the components that make up a computer and ensure that they can work together. They provide users with a screen that can accept and display data and information (the user interface). They deal with and report any problems it finds with the computer. They make sure the CPU is working as hard as possible.


Utility programs

According to the BCS, a utility program is a "systems program designed to perform a commonplace task, for example, the transfer of data from one storage device to another, sorting a set of data, or a disk editor for directly editing the contents of a disk". The definition of utility programs was far clearer when operating systems were relatively basic compared to operating systems today. Some ‘utilities’ can now be considered full-blown applications, such as virus-protection software or compression software such as WinZip. There is no (or little) debate about other kinds of utility programs, such as text editors and formatting disk utilities. Utility programs, then, are programs that are available to the user via the operating system. Each utility program is designed to carry out a specific task, one that users regularly need.

Library programs

Library programs are available on most modern operating systems such as Windows and Linux. They are programs that have been written by experienced programmers. The programs carry out specific jobs that may be frequently needed by the developers of new applications. For example, a user may be developing a new application that needs to be able to:

  • write data to a storage device

  • transfer data from one storage device to another

  • open a Window with a menu on it

  • send a file to a printer

  • use a scanner.

Because these actions are so common, a library of programs are written and then made available to users. They may come as part of an operating system or they may be bought, loaded onto a computer or network and then be made available to users. All a developer has to do is ‘CALL’ a particular program when they need it from within their own program. Using library routines is a great idea! The code for any particular function in a library has already been written and therefore time and money doesn’t have to be spent ‘reinventing the wheel’ by writing the code again.

The code in a library program will have been written by experienced programmers and will have undergone thorough testing. It is therefore likely that the library program will not contain any programming errors, known as ‘bugs’. It can be relied on to work. Because the library programs are called up only when they are needed and already present on the computer, a new application being developed will be smaller in size than if it had to have its own code to do particular functions. This means that it needs less storage space on the hard drive and less RAM when it is being run.

Translators

Translators are also part of systems software! A computer, or more specifically, a Central Processing Unit (CPU), only understands instructions called ‘machine code’. Machine code is made up of a set of patterns of ones and zeros. Each pattern makes the CPU behave in a certain way; the pattern makes the CPU do things! The problem with this is that programmers and developers of new applications do not write in machine code - who wants to write programs that involve writing patterns of ones and zeros all day? Programmers use a ‘programming language’. There are hundreds of different types of programming languages, each with their own special programming words (known as ‘keywords’). When a program has been written in any programming language, it must then be converted into the equivalent patterns of ones and zeros so the CPU can understand the instructions in the program. It must be converted, or translated, into machine code. When a programmer writes a program in a programming language, it is also referred to as ‘source code’. When it is in a form that a CPU can run (the machine code), it is known as ‘object code’. Getting code from being source code to object code is known as ‘translation’.

We give a translator program some source code and it gives us back some object code, like this:

Microprocessors

You may be familiar with operating systems like Windows and Linux but you shouldn’t forget that all digital devices require an operating system in some form or other. Just because it doesn’t have a screen and a keyboard, doesn’t mean that a digital device hasn’t got an operating system. It must have one, to control the program, to manage any input and output devices to deal with errors and so on. You probably have hundreds around your house!

  • A digital watch.

  • Your calculator.

  • A computer-controlled microwave oven.

  • Your mobile phone has an operating system.

  • A computer controlled burglar alarm.

  • Your HD TV.

  • Your DVD player.

  • Your MP3 player.

  • The SatNav in the car.

  • A digital radio.

  • A games console.

  • A digital answering machine.

The list goes on. There are many different operating systems around. Some are generic and some are purpose-built. You should see how many different operating systems you can identify using the Internet. Have a look at some websites that introduce you to microprocessors. See what you can find out about the jobs they do.