Operating Systems






Operating System | Introduction of Operating System – Set 1


An operating system acts as an intermediary between the user of a computer and computer hardware. The purpose of an operating system is to provide an environment in which a user can execute programs in a convenient and efficient manner.
An operating system is software that manages the computer hardware. The hardware must provide appropriate mechanisms to ensure the correct operation of the computer system and to prevent user programs from interfering with the proper operation of the system.
Operating System – Definition:
  • An operating system is a program that controls the execution of application programs and acts as an interface between the user of a computer and the computer hardware.
  • A more common definition is that the operating system is the one program running at all times on the computer (usually called the kernel), with all else being application programs.
  • An operating system is concerned with the allocation of resources and services, such as memory, processors, devices and information. The operating system correspondingly includes programs to manage these resources, such as a traffic controller, a scheduler, memory management module, I/O programs, and a file system.
Functions of Operating system – Operating system performs three functions:
  1. Convenience: An OS makes a computer more convenient to use.
  2. Efficiency: An OS allows the computer system resources to be used in an efficient manner.
  3. Ability to Evolve: An OS should be constructed in such a way as to permit the effective development, testing and introduction of new system functions without at the same time interfering with service.
Operating system as User Interface –
  1. User
  2. System and application programs
  3. Operating system
  4. Hardware
Every general purpose computer consists of the hardware, operating system, system programs, and application programs. The hardware consists of memory, CPU, ALU, and I/O devices, peripheral device and storage device. System program consists of compilers, loaders, editors, OS etc. The application program consists of business programs, database programs.

Fig1: Conceptual view of a computer system
Every computer must have an operating system to run other programs. The operating system coordinates the use of the hardware among the various system programs and application programs for a various users. It simply provides an environment within which other programs can do useful work.
The operating system is a set of special programs that run on a computer system that allows it to work properly. It performs basic tasks such as recognizing input from the keyboard, keeping track of files and directories on the disk, sending output to the display screen and controlling peripheral devices.
OS is designed to serve two basic purposes:
  1. It controls the allocation and use of the computing System’s resources among the various user and tasks.
  2. It provides an interface between the computer hardware and the programmer that simplifies and makes feasible for coding, creation, debugging of application programs.
The Operating system must support the following tasks. The task are:
  1. Provides the facilities to create, modification of programs and data files using and editor.
  2. Access to the compiler for translating the user program from high level language to machine language.
  3. Provide a loader program to move the compiled program code to the computer’s memory for execution.
  4. Provide routines that handle the details of I/O programming.
I/O System Management –
The module that keeps track of the status of devices is called the I/O traffic controller. Each I/O device has a device handler that resides in a separate process associated with that device.
The I/O subsystem consists of
  • A memory Management component that includes buffering caching and spooling.
  • A general device driver interface.
Drivers for specific hardware devices.
Assembler –
Input to an assembler is an assembly language program. Output is an object program plus information that enables the loader to prepare the object program for execution. At one time, the computer programmer had at his disposal a basic machine that interpreted, through hardware, certain fundamental instructions. He would program this computer by writing a series of ones and Zeros (Machine language), place them into the memory of the machine.
Compiler –
The High level languages- examples are FORTRAN, COBAL, ALGOL and PL/I are processed by compilers and interpreters. A compiler is a program that accepts a source program in a “high-level language “and produces a corresponding object program. An interpreter is a program that appears to execute a source program as if it was machine language. The same name (FORTRAN, COBAL etc.) is often used designate both a compiler and its associated language.
Loader –
A Loader is a routine that loads an object program and prepares it for execution. There are various loading schemes: absolute, relocating and direct-linking. In general, the loader must load, relocate and link the object program. Loader is a program that places programs into memory and prepares them for execution. In a simple loading scheme, the assembler outputs the machine language translation of a program on a secondary devices and a loader is places in core. The loader places into memory the machine language version of the user’s program and transfers control to it. Since the loader program is much smaller than the assembler, those makes more core available to user’s program.
History of Operating system –
Operating system has been evolving through the years. Following Table shows the history of OS.
GENERATIONYEARELECTRONIC DEVICE USEDTYPES OF OS DEVICE
First1945-55Vaccum TubesPlug Boards
Secondt1955-65TransistorsBatch Systems
Third1965-80Integerated Circuits(IC)Multiprogramming
FourthSince 1980Large Scale IntegrationPC
Types of Operating System –
  • Batch Operating System- Sequence of jobs in a program on a computer without manual interventions.
  • Time sharing operating System- allows many users to share the computer resources.(Max utilization of the resources).
  • Distributed operating System- Manages a group of different computers and make appear to be a single computer.
  • Network operating system- computers running in different operating system can participate in common network (It is used for security purpose).
  • Real time operating system – meant applications to fix the deadlines.
Examples of Operating System are –
  • Windows operating System (GUI based, PC)
  • Linux operating System (Personal workstations, ISP,File and print server, Three-tier client/Server)
  • MAC Operating System (Macintosh), used for personal computers and work stations.
  • Android operating System (used in mobile applications)
References –
Operating System Concepts – Book
Introduction to Operating System – NPTEL




Operating System | Types of Operating Systems


An Operating System performs all the basic tasks like managing file,process, and memory. Thus operating system acts as manager of all the resources, i.e. resource manager. Thus operating system becomes an interface between user and machine.
Types of Operating Systems: Some of the widely used operating systems are as follows-
1. Batch Operating System –
This type of operating system do not interact with the computer directly. There is an operator which takes similar jobs having same requirement and group them into batches. It is the responsibility of operator to sort the jobs with similar needs.
Advantages of Batch Operating System:
  • It is very difficult to guess or know the time required by any job to complete. Processors of the batch systems knows how long the job would be when it is in queue
  • Multiple users can share the batch systems
  • The idle time batch system is very less
  • It is easy to manage large work repeatedly in batch systems
Disadvantages of Batch Operating System:
  • The computer operators should be well known with batch systems
  • Batch systems are hard to debug
  • It is sometime costly
  • The other jobs will have to wait for an unknown time if any job fails
Examples of Batch based Operating System: Payroll System, Bank Statements etc.
2. Time-Sharing Operating Systems –
Each task has given some time to execute, so that all the tasks work smoothly. Each user gets time of CPU as they use single system. These systems are also known as Multitasking Systems. The task can be from single user or from different users also. The time that each task gets to execute is called quantum. After this time interval is over OS switches over to next task.
Advantages of Time-Sharing OS:
  • Each task gets an equal opportunity
  • Less chances of duplication of software
  • CPU idle time can be reduced
Disadvantages of Time-Sharing OS:
  • Reliability problem
  • One must have to take care of security and integrity of user programs and data
  • Data communication problem
Examples of Time-Sharing OSs are: Multics, Unix etc.
3. Distributed Operating System –
These types of operating system is a recent advancement in the world of computer technology and are being widely accepted all-over the world and, that too, with a great pace. Various autonomous interconnected computers communicate each other using a shared communication network. Independent systems possess their own memory unit and CPU. These are referred as loosely coupled systems or distributed systems. These systems processors differ in sizes and functions. The major benefit of working with these types of operating system is that it is always possible that one user can access the files or software which are not actually present on his system but on some other system connected within this network i.e., remote access is enabled within the devices connected in that network.
Advantages of Distributed Operating System:
  • Failure of one will not affect the other network communication, as all systems are independent from each other
  • Electronic mail increases the data exchange speed
  • Since resources are being shared, computation is highly fast and durable
  • Load on host computer reduces
  • These systems are easily scalable as many systems can be easily added to the network
  • Delay in data processing reduces
Disadvantages of Distributed Operating System:
  • Failure of the main network will stop the entire communication
  • To establish distributed systems the language which are used are not well defined yet
  • These types of systems are not readily available as they are very expensive. Not only that the underlying software is highly complex and not understood well yet
Examples of Distributed Operating System are- LOCUS etc.
4. Network Operating System –
These systems runs on a server and provides the capability to manage data, users, groups, security, applications, and other networking functions. These type of operating systems allows shared access of files, printers, security, applications, and other networking functions over a small private network. One more important aspect of Network Operating Systems is that all the users are well aware of the underlying configuration, of all other users within the network, their individual connections etc. and that’s why these computers are popularly known as tightly coupled systems.
Advantages of Network Operating System:
  • Highly stable centralized servers
  • Security concerns are handled through servers
  • New technologies and hardware up-gradation are easily integrated to the system
  • Server access are possible remotely from different locations and types of systems
Disadvantages of Network Operating System:
  • Servers are costly
  • User has to depend on central location for most operations
  • Maintenance and updates are required regularly
Examples of Network Operating System are: Microsoft Windows Server 2003, Microsoft Windows Server 2008, UNIX, Linux, Mac OS X, Novell NetWare, and BSD etc.
5. Real-Time Operating System –
These types of OSs serves the real-time systems. The time interval required to process and respond to inputs is very small. This time interval is called response time.
Real-time systems are used when there are time requirements are very strict like missile systems, air traffic control systems, robots etc.
Two types of Real-Time Operating System which are as follows:
  • Hard Real-Time Systems:
    These OSs are meant for the applications where time constraints are very strict and even the shortest possible delay is not acceptable. These systems are built for saving life like automatic parachutes or air bags which are required to be readily available in case of any accident. Virtual memory is almost never found in these systems.
  • Soft Real-Time Systems:
    These OSs are for applications where for time-constraint is less strict.
Advantages of RTOS:
  • Maximum Consumption: Maximum utilization of devices and system,thus more output from all the resources
  • Task Shifting: Time assigned for shifting tasks in these systems are very less. For example in older systems it takes about 10 micro seconds in shifting one task to another and in latest systems it takes 3 micro seconds.
  • Focus on Application: Focus on running applications and less importance to applications which are in queue.
  • Real time operating system in embedded system: Since size of programs are small, RTOS can also be used in embedded systems like in transport and others.
  • Error Free: These types of systems are error free.
  • Memory Allocation: Memory allocation is best managed in these type of systems.
Disadvantages of RTOS:
  • Limited Tasks: Very few task run at the same time and their concentration is very less on few applications to avoid errors.
  • Use heavy system resources: Sometimes the system resources are not so good and they are expensive as well.
  • Complex Algorithms: The algorithms are very complex and difficult for the designer to write on.
  • Device driver and interrupt signals: It needs specific device drivers and interrupt signals to response earliest to interrupts.
  • Thread Priority: It is not good to set thread priority as these systems are very less pron to switching tasks.
  • Examples of Real-Time Operating Systems are: Scientific experiments, medical imaging systems, industrial control systems, weapon systems, robots, air traffic control systems, etc.

Web hosting

No comments:

Post a Comment