Operating System

Natural Language

This kind of interface requires the user to enter responses to questions asked by the computer. The questions are displayed on the VDU and the answers are entered via the keyboard. This kind of interface is called a 'natural language' interface because the computer and the user appear to be holding a conversation. For example, imagine the user has initiated a 'save file' request. The 'conversation' might go like this:

This kind of interface can be found on data entry terminals and other types of 'dumb terminals' connected to a network where non-expert users are guided by the computer through the complex tasks they need to perform.

Memory management

When you open a piece of software (or a file), the operating system goes to the hard drive, finds it and then copies it into RAM. The CPU can then access it. The operating system has to find somewhere in RAM that isn't being used by anything else when it copies it from the hard drive. If it just put the program into RAM anywhere it liked, it might overwrite existing valuable files or another program and even cause the computer to crash.

To prevent this, the operating system manages the memory. It keeps track of what software applications and files are open and where it has put them in RAM. It also keeps track of where there are free areas, areas which it can use. When you want to open a new application, it finds a suitable free area and copies it to that area. It then updates its own records to show that that area of RAM is now taken.

Peripheral management

An operating system is also responsible for managing the peripherals. A peripheral is anything that can be connected to the CPU, although you would normally connect a peripheral by plugging it in to a port, and then the port is connected inside the computer's box to the CPU. Common peripherals include mice, monitors, web cams, scanners, cameras, graphics tablets, printers and so on.

When you plug a peripheral into a computer, the computer will first of all check to see if it has the right kind of software to run that peripheral. These are known as 'drivers' because they drive the peripheral and make it work. If the operating system can detect the peripheral and the driver to run it, it will give you a message that it is ready to be used. If it can't set it up correctly, then the operating system will give you an error message and perhaps some advice about solving the problem.

Once the device is working, you can make settings in the peripheral's dedicated software or via the operating system. For example, you could change the resolution of the monitor or the speed that your mouse recognises clicks.

Multi-tasking

CPUs can only work on one instruction from one program at a time, but they can do this very quickly - billions of instructions a second. If it wants to work on 5 programs at (apparently) the same time, for example, run a chat room, have some music playing in the background whilst using a word processor program as well as running the anti-virus software and Internet connection software, how does it do it?

Actually, the answer is very simple. It spends a short time (billionths of a second) on the first program. It then stops, saves where it is up to and then gets the settings for the second program and works on that for a few billionths of a second. Then it saves where it is up to, gets the settings for the next program and so on. It gives each application a little bit of CPU time before moving on to the next application and then goes back to the first application and repeats, but it does this so quickly that we think that applications are running at the same time. This is known as 'multi-tasking'.

The operating system is responsible for organising multi-tasking. It is the operating system that decides the order that different software applications will be worked on by the CPU, which one the processor work on now and when to stop that job and give it the next one.

Security

Operating systems are responsible for the security of a computer system. This covers a number of areas.

Overview of OS Security