Computer Operating system

The operating system is the software that enables  a user to use the computer. Without an operating system, a computer would be useless. It is the software that allows us to  give commands to the computer, such as to "start a word processor" or "to list the files you have stored on the computer's disk. For programming purposes the importance of the operating system becomes apparent when we wish to perform input and output function. The operating system controls the computers input and output operation, allowing us, to deal with keyboards and screens, without getting bogged down in the details of their hardware interfaces.

An Operating system manages both the computer's hardware and software for you. It allows you use the computer by providing a user interface which enables you give the computer commands.

Graphical user interfaces (GUIs) allows you use a computer mouse to select commands from menus usually display in windows on the screen.
MS-Windows and the Macintosh operating system interface are widely used (GUIs).

A command interpreter is a user interface program that displays a prompt on the screen and the user enters a command using the keyboard. MS-DOS and Unix provide such command interpreters.

Note: Many systems now provide both GUIs and Command interpreters.

On a Unix system, you may use the Unix command interpreter or a windows-based GUI e.g X-windows. On a personal computer you may choose to use MS-Windows or MS-DOS command interpreter.

One way to look at an operating system is to view it as being composed of two major subsystems.
1. file handling subsystem.
2. program execution subsystem.

The file handling subsystem is responsible for the management of files.
A file may be defined as a named computerized container for information.

The program execution subsystem is responsible for allowing users run or execute programs.

A running program is called a process in operating system terminology, so this subsystem is more commonly called the process subsystem. The term process must not be confused with the term program.
A program is a set of instruction and as such is a static entity i.e does not change (unless you modify it).
A process on the other hand is defined as a program in execution. This means that a process includes not only the instructions making up the program but also the values of the CPU registers and memory variable that are associated with a running program. Thus a process changes after each instruction executes i.e Each instruction causes some change in a register or memory variable. A process is therefore a dynamic entity. It may pass through different states such as executing, waiting for input and output to complete or waiting for the CPU to be allocated to it.

Computers and operating systems.
There are numerous different type of computers being manufactured by many computer companies ranging from microcomputers to supercomputers.  Each manufacturer's hardware is typically different from that of their competitors. For this reason, traditionally, each computer typer has its own operating system developed for it. This is because the operating system was totally dependent on the hardware of the computer it was to manage. The operating system could only be used on the particular machine it was designed for. This meant that if you bought a different type of computer, you had to learn how to use a new operating system.
While this may have suited manufacturers, who did not want you to buy a competitor's machine, it certainly did not suit users. For example, Digital Equipment Corporation developed by VMS operating system for their VAX range of computers and IBM developed the MVS, VM and other operating system for their mainframe of power. The VMS operating system was designed for the VAX computer series and will only run for a VAX computer, nowadays, the Compaq Alpha range.
In the 1970's  a new operating system called Unix was developed at Bell Labs. Unix was designed to be portable. This meant that it could be moved from one type of computer to another different type of computer which use different hardware, without too much difficulty. Unix has to be tailored for each machine, but it is designed to make this tailoring relatively straight forward. By the late 1980's, Unix had been implemented on every common make of computer, from the Digital VAX to IBM mainframes, from the humble microcomputer to powerful supercomputers. It is the only operating system that has been implemented on such a diverse range of hardware platforms. As a result, it (and a variant of it, Linux) is now one of the most commonly used operating system in the world, becoming a de-facto standard in operating systems.
In the microcomputer world, the MS-DOS operating system was very widely used on IBM microcomputers (PCs) and their clones. When IBM introduced their PC to the market, many of their competitors in effect copied the machine producing IBM compatible or clones. Their competitors then acquired the same operating system for the clones, from a company called Microsoft who had developed the operating system for  IBM. The IBM PC operating system was called PC-DOS while that of its clones was called MS-DOS. For practical purposes they were almost identical. MS-DOS became the most widely used operating system in the 1980/90s since there were in excess of hundreds of million PCs in use around the world using MS-DOS. Microsoft have replace MS-DOS by their Windows operating system. Several versions of Windows have been released over the years:

  1. Windows 2.0
  1. Windows 3.0
  1. Windows 95
  1. Windows 98.
  1. Windows ME
  1. Windows 2000
  1. Windows NT
  1. Windows XP
  1. Window Vista
  1. windows in 7
  1. Windows 8
  1. Windows 10

With a newer version being released every two years approximately. The new version fix bugs in older ones and also add new features such as more security features. They also allow Microsoft to continue to increase their revenue streams.

It should be noted that a microcomputer operating system is much less sophisticated than an operating system of more powerful computers. A microcomputer, typically only has to deal with a single-user at any point in time (it is a single user system). Operating system like Unix and VMS may have to cope with hundreds of users simultaneously (there are multi-user systems). This means that the operating system has to deal with the programs of a number of users, at the same time. Even a single user system may have to do this if it provides multi-tasking. A multi-tasking  system is one whereby a number of programs can be executed at the same time. Multi-user systems have to be multi-tasking and this makes them harder to design and implement than single user system which are usually single-tasking.

A major design problem in multi-user system is due to concurrent access (users accessing the machine at the same time). The problem is preventing the programs from interfering with each other. For example, we must ensure that two or more user do not use the printer at the same time, otherwise their printouts would become mixed-up. Text from different users will appear on the same page, and the printout will be useless. Thus one important thing in a multi-user operating system design is that of sharing resources. Since a number of users are accessing the computer system concurrently, the operating system was arranged to share (allocate) the resources of the computer system among the users. Hence an operating system is called resource manager. The computer system resources which must be shared are:

  • The CPU
  • Memory
  • Disk storage
  • Printers
  • Terminal

Sharing the CPU is called scheduling and the part of the operating system that carries out this function is called the scheduler. Sharing memory is called memory management and the memory manager is the operating system component that carries out this function. Scheduling and modern management of fundamental functions of the manager from mental functions of the process subsystem.

Post a Comment