An operating system is a set of programs designed to run in the background on a computer system, giving an environment in which application software can be executed. Most operating systems comprise a large set of programs, only some of which are stored in the processor memory all the time. Many of the routines available in the O. S. are stored on the hard drive so that they can be accessed when required. This not only saves space in the processor memory but also means that the O. S. can be easily changed to a different one.
When a user is using an application package, he is not communicating with the computer hardware, he is communicating with the operating system. Without an operating system, no matter how many programs the user have, the computer is useless. The operating system sits between the hardware and the application program or user. The main purpose of an operating system is to allow a user to access the hardware so they can carry out useful tasks. Breaking down the operating system: Functions of the operating systems. For computers generally:
Memory Management: allocation of program space, buffers, swapping, storage protection Processor Management: scheduling of programs awaiting processing, queue handling, priority allocation, interrupt handling Resource Management: control of hardware resources e. g input and output devices, interacting with peripheral control units, handshaking Data Management : control of disc filing system, loading programs and data, spooling, error handling, maintaining directories Types of Operating System Batch Processing.
When computing was still a new science, there were not enough machines to satisfy the demand for processor time from students in universities who wanted great calculations done, firms who wanted their payroll worked out, and many others. The big problem was the ‘speed mismatch’ between the user sitting at the keyboard who was very slow, and the machine which was very fast. There are two simple solutions to this problem, one is to buy more machines and the other is to make the machines work more effectively by taking away the slowest part of the system – the human being.
Nowadays we might well opt to buy more machines, but this used not to be an option. This problem gave rise to the development of batch processing. A batch processing operating system is one that does not allow for interaction between the user and the processor during the execution of the work. Lots of programs that need to be run are collected together (to form a batch) and they are sent to the computer. The batch operating system then controls their passage through the computer.
Nowadays, batch processing tends to be used where there are large amounts of data to be processed, the data is very similar in nature and… it requires similar processing, the computer system has identifiable times when it is not being used, and so has available processor time the application does not require human intervention. Typical examples of applications which would be done using batch processing include production of bank statements from customer files, production of gas (electricity, telephone) bills from customer records, the compilation of high level language programs where a number of users want programs compiled.
An example of batch processing: Consider the example of an Internet bank. At the end of every month it might prepare everyone’s bank statements and then email all of their customers, telling them that their statements are ready: Batch processing involves many jobs, in this example, many statements that need processing The jobs are similar in nature. Each statement is processed in broadly the same way A JCL program is written, telling the computer what files to use, when to start the processing, what to do with the output and so on.
Some instructions in the JCL program tell the computer to process the statements at a time where the network’s resources are not needed for other more important things. The processing begins. The output is not immediate- the processing might take hours. There is no physical output in this particular case- the output is in the form of updated statements held in electronic form and prepared emails. Once the processing starts, it continues uninterrupted until it is finished. At a later time, when the computers are free, the file containing emails is accessed and all emails are sent.
When a customer receives an email telling them that their statement is ready, they can log in to their account. They will then be able to access and print off their statement. Batch processing is a way of improving the efficiency of a computer or network’s resources by bringing together similar work and processing them in one go at a time when resources aren’t needed. The main thing to remember is that the output from a batch processing run isn’t immediate. Real-time A real-time O. S. is one which can react quickly enough to affect the next input, or process to be carried out.
Most real-time systems are based on control of some process in the real world or on information handling. A chemical plant has a reaction vessel where the temperature is critical to the result of the process. The temperature is monitored by a computer which accepts input from a sensor and then makes a decision whether to adjust the heating elements in the vessel. In this example, it would not be sensible for the computer to be running any O. S. that is not real-time because if there was a delay in the decision making process, it might mean that the reaction is corrupted in some way.
A robot trolley is controlled by a processor which takes input from a sensor following a black line on the floor, and makes decisions concerning steering to keep the trolley on the black line. If the processor was not controlled by a real-time O. S. , the trolley would very soon leave the black line because it would not be steering quickly enough. A catalogue shop processes orders by the code for a product being input and the system then comparing the code with information in its files. When it finds the correct code it can report to the user the number of that item that there are in the store.
If there was only one left of a certain item, it would be necessary to record the fact that a shopper had bought it before the next shopper has their request dealt with otherwise the second person might be sold the same item. Because the information on the system must be processed immediately the O. S. needs to be ready to handle input as soon as it comes in. This means that it cannot be using up some of its slack time doing other tasks while it is waiting to be asked to do something. This implies that the computer will not be using its full potential as far as processing is concerned.
When this happens it is said to display a high rate of redundancy. Real-time systems tend to display a high rate of redundancy. Real time is the most important thing. Making sure that the CPU is used as efficiently as possible as with batch processing is not important. * Single User As the term implies, a single user O. S. is specifically one that is used to control a system, which has only one user, and their programs, at any one time. A perfect example of a single user system is the one that you may have at home. Only one person uses it at a time. Most single user systems are also Multi-programming:
This is a type of O. S. that allows several applications to be available simultaneously. On a simple single user system the user will probably be used to having a number of things running at the same time. Perhaps one window shows a spreadsheet while another shows a word processing application. The user may decide to copy the sheet from the spreadsheet software to the word-processed document. It appears that more than one task is running simultaneously. They aren’t, they just appear to be. The O. S. that most of us use on our own computer systems, Windows, is a multi-programming O. S. Multi-user.
A multi-access (multi-user) operating system is defined as one that allows two or more users to communicate with the computer at any one time, with each user interacting with the computer via a terminal (which must have, at the minimum, a keyboard and VDU). This is achieved by sharing the computer’s processor, main memory and file store. Each application program resident in main memory is executed a bit at a time by rotating the use of the processor between them. The trick of giving a user the impression of having sole access is achieved by choosing, for each turn, the right length of processor time.
Too long and some users will notice delays. Too short and all users will find that processing is noticeably slowed. There are two types of multi-user Operating systems: 1. A network system comprises a number of computers linked together for the purposes of communication and sharing of resources. Normally one of the machines is used to control the rest of the system, this machine is called the server. A Network Operating System (NOS) is an operating system that gives computers the ability to communicate with other computers on a network. NOS software often includes extra facilities to allow back-ups and improve security, for example.
Some widely used NOS software includes Novel and UNIX. This is a piece of software that ‘manages’ a network. A Network Operating System typically: controls communication between workstations themselves and between workstations and servers. allows and manages file sharing allows and manages printing and other resources. controls Internet access amongst stations manages user accounts manages security manages automated system back-ups manages and reports on the use of the system’s resources, such as each user’s hard disk allocation and how many prints they are allowed to do.
Provides a number of different user interfaces. This allows different categories of user to access the network, for example, an interface to allow the network administrator to set up account, an interface to allow the personnel manager to access employee details or an interface to allow secretaries to access generic applications. 2. A time-sharing system has a single (normally powerful) computer which is connected up to a number of terminals. These terminals are not computers as in the case of the network system, but have a very limited amount of processing power.
Again, such a system allows communication between users on the system and also allows sharing of hardware and software across the system. Distributed A distributed system is one that allows software and data files to be distributed around a system. An ordinary network will have a server controlling it and the access to the hard drive, which is connected to the server. A distributed system might store the word processing software on one computer’s hard drive, while the files of work are stored somewhere else, and the spreadsheet software is stored on a third disk drive.
This can speed access to files because there is no single bottle neck which all the information must pass through. User Categories Categorisation of users is very important for an interface designer and users have been categorised by many researchers on some basis. The broad sub-division of users and their characteristics are Naive: Users who have not encountered computer systems. They may show fear of using computers, will be unfamiliar with the working of the system and may not have knowledge of how to operate it. These types of users are becoming very rare because of rapid computerisation.
Novice: These users have some experience of working with computers, but may be unfamiliar with a new system. They are liable to make mistakes because of their limited experience. Most of the users of a new system will start as a novice. Skilled: Users who have considerable expertise using the system. Most of the users become skilled due to frequency of use. They will be able to operate the system efficiently, but will have limited knowledge or no knowledge about the structure of the system. They will not be able to solve unexpected errors. Expert:
Users who have thorough knowledge about the working of the system and their internal structure. They will have the ability to maintain and modify the basic system. Types of User Interface Communication between a user and a computer is two-way. A user will give data and instructions to a computer and a computer will give information back to a user. The may that a computer and a user communicate is known as the ‘interface’. Another common term is Human-Computer Interface or HCI. There are different types of interface, which are useful in different situations and for different types of user.
Form based If the majority of the input to a system is of a standard type, in other words the computer knows what sort of input to expect, then a typical interface will produce a form on the screen to be filled in. This sort of interface would be used where an operator is inputting information while asking a customer questions over the telephone. The interface prompts the operator to ask all the questions makes the operator input the information in the correct order ensures that the information is input in the correct format by having specific areas to input the data makes the checking of the information easier.
The characteristics of a form based interface are that There are field names, names next to a place where information must be entered There are places called ‘response fields’ where information is entered by the user. The cursor ‘tabs’ automatically from one response field to the next. This guides the user logically through the form, ensuring that all the information is gathered. As data is entered, it is ‘validated’. Validation attempts to ensure that only sensible data is entered into the system and data that is not sensible is rejected.
Validation helps ensure that data entered into any system maintains its ‘integrity’. Input can be changed/ cancelled if necessary. Data is finally entered into the system only when an’OK’ button, ENTER or something similar is pressed. Form-based interfaces are very suitable for any application that involves entering predictable pieces of information into the computer. For example, someone taking a telephone order for a product, someone recording responses to questions in a telephone questionnaire and someone entering in details of a person who wants to apply for a credit card might all be done with the aid of a form-based interface.
Menu based Menu-based systems are ideal for situations where the user’s IT skills cannot be guaranteed or in situations which require selections to be made from a very wide range of options or in situations which require very fast selection. The user of a system that uses a menu-based interface will be presented with a limited number of options on the screen. Once a selection has been made, the user is presented with a sub-menu. This gives them further options. They make another selection and may be presented with a further sub-menu.
This continues until the user is able to select exactly what they want from the choices finally displayed on the screen. Menu-based systems are ideal for large information systems. Using a system of selecting from menus and sub-menus, the required information can quickly be found. Imagine a computer system at a tourist information center that has got a menu-based interface. A tourist, who may not have any IT skills, could be presented with a screen with 10 buttons on it, perhaps listing theatres, cinemas, parks and libraries, for example.
They could touch the touch screen to make a selection of the general area of interest. If they selected ‘Cinemas’, for example, they might then be given details of the closest cinemas in the area. If they select one of these, they could then be presented with the films that are currently showing. Consider a factory where workers are working in a noisy, dirty environment. Workers may not want to be fiddling around with keyboards, typing in commands. They could have a menu-based interface instead. This will quickly allow them to find the option they want and to select it simply by touching a touch screen.
Consider a stockbroker. Their job may involve sitting at a computer screen and watching how many different share prices are changing. Shares may be grouped and they can select a particular group or an individual share quickly by selecting a type of share from a menu. They might then select a subset of that type from a sub-menu and so on, until they get the group of shares or the individual share they want to monitor. It is far quicker to find what they want using menus and sub-menus than it is typing in commands.