Information Technology - Operating Systems
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 a 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.
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 applications 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, a memory management module, I/O programs, and a file system.
Functions Of An Operating System
The 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 A User Interface
Every general-purpose computer consists of the hardware, operating system, system programs, and application programs. The hardware consists of memory, CPU, ALU, I/O devices, peripheral devices, and storage device. The system program consists of compilers, loaders, editors, OS, etc. The application program consists of a business program, database program. The Figure shows the 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 various users. It simply provides an environment within which other programs can do useful work.
The operating system must support the following tasks. The tasks are:
1. Provides the facilities to create, modification of program and data files using an 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
|Generation||Year||Electronic Devices Used||Types Of OS and Devices|
|First||1945 - 55||Vacuum Tubes||Plug Boards|
|Second||1955 - 1965||Transistors||Batch System|
|Third||1965 - 1980||Integrated Circuit||Multiprogramming|
|Fourth||Since 1980||Large Scale Integration||PC|
Disk Operating System
Disk Operating System (specifically) and Disk Operating System (generically), most often abbreviated as DOS (not to be confused with the DOS family of disk operating systems for the IBM PC compatible platform), refers to operating system software used in most computers that provides the abstraction and management of secondary
Storage devices and the information on them (e.g. file systems for organizing files of all sorts). Such software is referred to as a disk operating system when the storage devices it manages are made of rotating platters (such as hard disks or floppy disks).
In the early days of microcomputing, memory space was often limited, so the disk operating system was an extension of the operating system. This component was only loaded if it was needed. Otherwise, disk-access would be limited to low-level operations such as reading and writing disks at the sector-level. In some cases, the disk operating system component (or even the operating system) was known as DOS. Sometimes, a disk operating system can refer to the entire operating system if it is loaded off a disk and supports the abstraction and management of disk devices. An example is DOS/360. On the PC compatible platform, an entire family of operating systems was called DOS.
Components Of MS-DOS
DOS is an Operating System. It works as an interpreter between users and computers. We give English like commands and it converts it into machine language and after the computer has processed the information, it returns the results to you in English. Ms. Dos consists of four essential programs and a set of additional utilities.
MS-DOS consists of four essentials programs and a set of additional utilities. Four main programs are:
1. Boot Record
DOS command divided into 2 parts:
1. Internal Commands or memory-resident Commands: There are also called memory-resident commands. These commands are automatically loaded into the computer’s memory during the booting process. They actually included in the Command.com file. So these commands are executable immediately after getting the dos prompt. A few internal commands are:
• COPY CON
2. External Command or Disk-Residence Commands: These are also called Disk-Resident Commands. These commands are meant for a special purpose. These are found in separate files on Hard Disk or Floppy Disk So that they don’t typically consume valuable memory space. They are loaded into memory only when called. Some External Commands are:
UNIX is one of the very oldest operating systems in the computer world and is still widely used today. However, it is not a very conspicuous operating system. Somewhat arcane in its operation and interface, it is ideally suited for the needs of large enterprise computing systems. It is also the most common operating system run by servers and
There are dozens of variants of the basic UNIX interface; the most popular one for the PC platform is Linux, which is itself available in many favors. While UNIX operating system scan is difficult to set up and requires some knowledge to operate, they are very stable and robust, are efficient with system resources and are generally free or very inexpensive to obtain.
As an operating system geared specifically for use on the PC, Linux is the UNIX variant that gets the most attention in PC circles. To improve its appeal, the programmers who are continually working to update and improve Linux have put into the operating system compatibility support for most of the other operating systems out there. Linux will read and write to FAT partitions, and with newer versions this includes FAT32.
It is a collection of DOS commands to perform a certain task or a batch file is nothing but a sequence of commands to perform a sequence of operations step by step. Look at the following commands you give step by step to perform an operation.
Suppose your job is:
First - Check the directory
Third - Delete ABC.TXT from the present disk
Fourth - Clear the screen
If you do all these steps daily after your hour, then the commands you give would be:
C:\> DIR <Enter>
C:\> DEL ABC.TXT <Enter>
C:\> CLS <Enter>
To automate these commands, all you simply have to do is:
How to create a batch file:
Note: Here Con means Console that is Keyboard, A the filename and .bat is an extension. It is compulsory that a batch file must-have an extension.BAT. You will find the cursor below ‘A’ now type
C:\> DIR <Enter>
C:\> DEL A.TXT <Enter>
C:\> CLS <Enter>
Now press the F6 or Ctrl+Z key combination. You shall find
^Z symbol below CLS, Now press Enter. You will receive the following message: 1files Copied. And you are returned to the prompt
Now to execute the Batch File simply type the name of the file.
C:\> A <Enter>
You will see all the commands in the A.Bat come right into the action. So instead of typing all those commands one after another performed the same job by just typing the filename.
Some computer systems only did one thing at a time. They had a list of the computer system may be dedicated to a single program until its completion, or they may be dynamically reassigned among a collection of active programs in different stages of execution. The batch operating system is one where programs and data are collected together in a batch before processing starts. A job is a predefined sequence of commands, programs, and data that are combined into a single unit called a job.
Multi-programmed batched systems provide an environment where the various system resources (for example, CPU, memory, peripheral devices) are utilized effectively. Time-sharing, or multitasking, is a logical extension of multiprogramming. Multiple jobs are executed by the CPU switching between them, but the switches occur so frequently that the users may interact with each program while it is running. An interactive, or hands-on, computer system provides on-line communication between the user and the system. The user gives instructions to the operating system or to a program directly and receives an immediate response. Usually, a keyboard is used to provide input, and a display screen (such as a cathode-ray tube (CRT) or monitor) is used to provide output. If users are to be able to access both data and code conveniently, the anon-line file system must be available. A file is a collection of related information defined by its creator. Batch systems are appropriate for executing large jobs that need little interaction.
A Time-shared operating system allows many users to share the computer simultaneously. Since each action or command in a time-shared system tends to be short, only a little CPU time is needed for each user. As the system switches rapidly from one user to the next, each user is given the impression that she has her own computer, whereas actually one computer is being shared among many users.
Time-sharing operating systems are even more complex than are multi-programmed operating systems. As in multiprogramming, several jobs must be kept simultaneously in memory, which requires some form of memory management and protection.
Multiprogramming Operating System is when two or more programs are in memory at the same time, sharing the usage of the processor. Multiprogramming assumes a single processor that is being shared. It increases CPU utilization by organizing jobs so that the CPU always has one to execute.
The operating system keeps several jobs in memory all at a time. This set of jobs is a subset of the jobs kept in the job pool. The operating system picks and begins to execute one of the jobs in the memory. The multi-programmed system provides an environment in which the various system resources are utilized effectively, but they do not provide for user interaction with the computer system. Jobs entering the system are kept into memory. The operating system picks the job and begins to execute one of the jobs in the memory. Having several programs in memory at the same time requires some form of memory management. The multiprogramming operating system monitors the state of all active programs and system resources. This ensures that the CPU is never idle unless there are no jobs.
Advantages Of Multiprogramming
1. High CPU utilization.
2. It appears that many programs are allotted CPU almost simultaneously.
Disadvantages Of Multiprogramming
1. CPU scheduling is required.
2. To accommodate many jobs in memory, memory management is required
Spooling is an acronym for simultaneous peripheral operations online. Spooling refers to putting jobs in a buffer, a special area in memory or on a disk where a device can access them when it is ready. Spooling is useful because of device access data that different rates. The buffer provides a waiting station where data can rest while the slower device catches up.
The computer can perform I/O in parallel with computation; it becomes possible to have the computer read a deck of cards to tape, drum or disk and to write out to a tape printer while it was computing. This process is called spooling. The most common spooling application is print spooling. In print spooling, documents are loaded into a buffer and then the printer pulls them off the buffer at its own rate. Spooling is also used for processing data at remote sites. The CPU sends the data via a communications path to a remote printer. Spooling overlaps the I/O of one job with the computation of other jobs. One difficulty with simple batch systems is that the computers till need to read the decks of cards before it can begin to execute the job. This means that the CPU is idle during these relatively slow operations. Spooling batch systems were the first and are the simplest of the multiprogramming systems.
Advantage of Spooling
1. The spooling operation uses a disk as a very large buffer.
2. Spooling is however capable of overlapping I/O operation for one job with processor operations for another Job.
Essential Properties Of The Operating System Batch
Jobs with similar needs are batched together and run through the computer as a group by an operator or automatic job sequencer. Performance is increased by attempting to keep CPU and I/O devices busy at all times through buffering, offline operation, spooling and multiprogramming. A Batch system is good for executing large jobs that need little interaction; it can be submitted and picked up the latter. These properties are:
1. Time-Sharing: It uses CPU scheduling and multiprogramming to provide economical interactive use of a system. The CPU switches rapidly from one user to another, i.e., the CPU is shared between a number of interactive users. Instead of having a job defined by spooled card images, each program reads its next control instructions from the terminal and output is normally printed immediately on the screen.
2. Interactive: User is online with the computer system and interacts with it via an interface. It is typically composed of many short transactions where the result of the next transaction may be unpredictable. Response time needs to be short since the user submits and waits for the result.
3. Real-Time System: These are usually dedicated, embedded systems. They typically read from and react to sensor data. The system must guarantee a response to events within fixed periods of time to ensure correct performance.
4. Distributed: It distributes computation among several physical processors. The processors do not share a memory or a clock. Instead, each processor has its own local memory. They communicate with each other through various communication lines.