Functions of an Operating System

3) FUNCTIONS OF AN OPERATING SYSTEM:
Any kind of operating system has to carry out a variety of functions fundamentally an operating system is to:

• Transfer input from the keyboard to memory
• Display messages, be it input or output on the screen
• Store data or programs in external storage devices
• Output data on the printer from the memory
• Control the printer and other peripherals
• Load programs and packages from storage and media to the main memory
• Copy data or programs from one device to another
• Communicate, control and provide error message giving the status of peripherals and processes
• Execute user programs and commands
• Protect working storage from overwriting by another program
• Store details of data and location stored for all media and devices
• Security and protection to the user data program and files.
The functions and much more in the case of multiuser systems can be grouped and classified as:

1. Processor management and Scheduling
2. Device management
3. File and data management
4. Memory management
5. Handling Users
6. User Commands execution
7. Job accounting and log maintenance
8. Security
9. Communication
10. Fault tolerance management

Types of Operating Systems

2) KINDS OF OPERATING SYSTEMS
There are different types of operating systems in use, and they have been evolved in phases, parallel to computer generations and models. Different systems enable different types of computer operations. The type of system, depends on the way the system handles various data processing jobs. The types of operating systems are:
1. Batch Processing
2. Multitasking
3. Time Sharing
4. Real time and online
5. Operator dependent system
6. Interactive Processing
7. Distributed data processing and networking
8. Multi-user Systems
9. Multiprocessing and parallel processing
Batch Processing:
This type of operating system, was used for a long time with early computers, known as mainframes. Routine jobs like data processing were carried out in a batch, one after other. Data was punched in a punch card. Along with punch cards. Job control cards which carried the instructions were also used. This was one of the earliest forms of operating system. In this Primitive operating system, the CPU and the peripherals remained idle most of the time while the cards were being read, the printer was not in use. The throughput and utilization of the system resources was very low.
Multitasking:
In multitasking, the resources are made to work continuously. The card reader reads one job after another, and is stored in the main or auxiliary memory, depends on the volume of transactions. Similarly, the processed output of various jobs are stored in the main or auxiliary memory , and the outputted one by one to the printer. The CPU switches from one task to another for reading, processing and outputting. Thus the idle time of the peripherals are maintained drastically. The main memory is partitioned and many jobs are handled simultaneously. This enables more programs to reside in the central memory at the same time and instructions are executed by CPU. Multiprogramming and multitasking is the capability of this kind of operating system, which can executed multiple programs. This is possible because many programs can reside in the memory simultaneously, and the CPU can switch from one portion of a program to another. Many users and user terminals can also be connected and facilitated by these operating systems.
Time Sharing:
Many users are connected to the computer using an operating system called as “time sharing”. In time sharing the CPU switches from one user job to another user at a faster rate. After processing a user job, Operating system proceeds to the second, third, fourth user and so on, processing a job in a short interval of time and thus goes in a cycle continuously. If there are thousand users, the CPU can execute more than 2,50,000 instructions of every user with an average speed of 250 MHz.
Real Time/Online Operating System:
In a real time or an online operating system, all the resources are accessible 24 hours (online). The computer processes immediately, one or all the inputs, and delivers the outputs instantaneously, as for example, in process control, supermarkets or banking are some of the other examples of real time/online operating system. These operating systems are generally single application oriented; users are not permitted to prepare or modify programs, but allowed only to input data, make enquiries and get reports. These are dedicated systems meant for one specific application.
Operating Dependent System:
Earlier systems such as IBM 1620 DEC SYSTEMS and so on, required a computer operator to operate the system. His job was to stack manually, punched cards prepared by various users, along with specific job control cards, load the tapes, replace cartridge discs depending on the user’s need Operate the computer identify outputs from the line printer and provides them to the respective individuals. Debugging and obtaining correct results by each user involved lot of time, since they did not have direct access to the computer.
Interactive processing:
With the advent of PC’s, the computer is completely at the disposal of and dedicated to the user (single). The operating systems, in this case, like MS-DOS, WINDOWS, etc, enables direct interaction with the compiling process and errors are displayed on the screen minimizing the duration of getting the result.
Application packages can also be loaded through simple commands by non-programmers. Users can comfortably use the computer with ease. Interactive processing is also facilitated in multiuser systems, using dumb or intelligent terminals.
Distributed Data Processing and Networking:
In a single user system as detailed above, the peripheral resources, such as the hard disc and printers are not fully utilized. The printer remains idle, when the computer is used for data entry, and this happens most of the time. An application packages used by different users, have to be copied to various PC’s. Data updating, editing becames cumbersome with single user systems, since the data in the system is to be correct one by one. An application package on inventory . For example can be used stores accounts, purchase sections etc.
Multiuser Systems:
The principle of multiprogramming and multitasking and the need for interactive processing led to the development of multiuser systems. Mainframes, super minis and mini systems, were designed to serve the needs of multiple users incorporating the concepts of multiprogramming and time sharing. A mini system serves 10 to 15 users, a super mini serves 30 to 40 users, and a mainframe 100 to 1000 users. These systems provide each user a terminal (consisting of monitor and keyboard). The size configuration and cost of the computer is decided not noly on the software needed but also on the number of users, and the speed with which the processing is to be carried out.
With the development of communication technologies embracing microwave and satellite communication and optical fiber systems, large computers are networked across continents and a terminal connected to a computer in a particular location, can downloaded files, programs and data from a computer located thousands of kilometers away and can send mail to another user, even if he is not logged on to the system when the mail is sent. Such developments in computer and communication technologies demand standardization of operating systems communication protocols networking software and interfaces.
Multiprocessing and parallel Processing Operating Systems:
As the number of users increased the response time had to be kept up and when the volume of data to be processed increased like in the case of weather forecasting terrain mapping, nuclear research, image processing, simulation etc., just one processor or increasing the clock speed of the processor did not suffice. In the cases, the speed of the computer had to be enhanced by adding few more processors.
Two approaches evolved in this technique. Both incorporated multiple processors. One was to route different jobs to different processors and another was to route each statement in the program to different processors. This was called parallel programming. The functions of an operating system and design in such environments became more complex. Fault tolerance of processor, interfaces and peripherals had also to be built into such operating systems like disc mirroring and replication.
Current trends towards multiprocessor and parallel processing systems and these operating systems and techniques are associated with super mini and super computers.

Operating System

1) Operating System:
Operating System in an interface between the user and hardware. The operating system is a complicated set of instructions data which is required to make the computer perform to its optimum level. This software along with certain other software’s can be grouped as system software’s. The system software’s, such as editors, compilers, utilities, Operating system and application software, all forms various layers well integrated within themselves, around the hardware

Operating Systems and Software layers


System Software’s is so-called because it deals with the ‘system’ or hardware directly. Hence these software’s are powerful and efficient. Besides the Operating System software’s comprise of:




1. Assemblers: The hardware, functions only on two levels of pulses, ‘ON’ or ‘OFF’. The processor is designed to execute instructions in binary form only. Coding instructions for the CPU is difficult, because the entire coding is to be done by using a combination of ‘0’ (represents ‘OFF’) and ‘1’ (represents ‘ON’). This is also known as machine code/language. The system programmer codes instructions in assembly language, which is covered to machine code by the assembler.
2. Compilers and Interpreters: For scientific and commercial applications, programs (a set of instructions) using high level languages, such as languages/codes by the concerned compiler or interpreter, which generate executable files (in the case of compilers), or execute each statement one by one (in the case of interpreters).
3. Utilities: Specific jobs such as sorting, merging, setting up databases, crating tabular form of data, word processing etc. can be carried out straight away in the computer without any programming, with the help of certain utilities designed for specific purposes.
4. Debugging Tools: Any error or bugs in the user- prepared source programs can be debugged using debugging tools. Debuggers save time in interpreting and rectifying the errors easily.
5. Editors: Programs and data can be created by using editors. These software’s offer the advantage of storing data in the form of files in permanent storage media, such as tapes or discs. There are various editors- simple and complex, and the type of editor, depends on the Operating System.

Wednesday 29 June 2011

Functions of an Operating System

3) FUNCTIONS OF AN OPERATING SYSTEM:
Any kind of operating system has to carry out a variety of functions fundamentally an operating system is to:

• Transfer input from the keyboard to memory
• Display messages, be it input or output on the screen
• Store data or programs in external storage devices
• Output data on the printer from the memory
• Control the printer and other peripherals
• Load programs and packages from storage and media to the main memory
• Copy data or programs from one device to another
• Communicate, control and provide error message giving the status of peripherals and processes
• Execute user programs and commands
• Protect working storage from overwriting by another program
• Store details of data and location stored for all media and devices
• Security and protection to the user data program and files.
The functions and much more in the case of multiuser systems can be grouped and classified as:

1. Processor management and Scheduling
2. Device management
3. File and data management
4. Memory management
5. Handling Users
6. User Commands execution
7. Job accounting and log maintenance
8. Security
9. Communication
10. Fault tolerance management

Types of Operating Systems

2) KINDS OF OPERATING SYSTEMS
There are different types of operating systems in use, and they have been evolved in phases, parallel to computer generations and models. Different systems enable different types of computer operations. The type of system, depends on the way the system handles various data processing jobs. The types of operating systems are:
1. Batch Processing
2. Multitasking
3. Time Sharing
4. Real time and online
5. Operator dependent system
6. Interactive Processing
7. Distributed data processing and networking
8. Multi-user Systems
9. Multiprocessing and parallel processing
Batch Processing:
This type of operating system, was used for a long time with early computers, known as mainframes. Routine jobs like data processing were carried out in a batch, one after other. Data was punched in a punch card. Along with punch cards. Job control cards which carried the instructions were also used. This was one of the earliest forms of operating system. In this Primitive operating system, the CPU and the peripherals remained idle most of the time while the cards were being read, the printer was not in use. The throughput and utilization of the system resources was very low.
Multitasking:
In multitasking, the resources are made to work continuously. The card reader reads one job after another, and is stored in the main or auxiliary memory, depends on the volume of transactions. Similarly, the processed output of various jobs are stored in the main or auxiliary memory , and the outputted one by one to the printer. The CPU switches from one task to another for reading, processing and outputting. Thus the idle time of the peripherals are maintained drastically. The main memory is partitioned and many jobs are handled simultaneously. This enables more programs to reside in the central memory at the same time and instructions are executed by CPU. Multiprogramming and multitasking is the capability of this kind of operating system, which can executed multiple programs. This is possible because many programs can reside in the memory simultaneously, and the CPU can switch from one portion of a program to another. Many users and user terminals can also be connected and facilitated by these operating systems.
Time Sharing:
Many users are connected to the computer using an operating system called as “time sharing”. In time sharing the CPU switches from one user job to another user at a faster rate. After processing a user job, Operating system proceeds to the second, third, fourth user and so on, processing a job in a short interval of time and thus goes in a cycle continuously. If there are thousand users, the CPU can execute more than 2,50,000 instructions of every user with an average speed of 250 MHz.
Real Time/Online Operating System:
In a real time or an online operating system, all the resources are accessible 24 hours (online). The computer processes immediately, one or all the inputs, and delivers the outputs instantaneously, as for example, in process control, supermarkets or banking are some of the other examples of real time/online operating system. These operating systems are generally single application oriented; users are not permitted to prepare or modify programs, but allowed only to input data, make enquiries and get reports. These are dedicated systems meant for one specific application.
Operating Dependent System:
Earlier systems such as IBM 1620 DEC SYSTEMS and so on, required a computer operator to operate the system. His job was to stack manually, punched cards prepared by various users, along with specific job control cards, load the tapes, replace cartridge discs depending on the user’s need Operate the computer identify outputs from the line printer and provides them to the respective individuals. Debugging and obtaining correct results by each user involved lot of time, since they did not have direct access to the computer.
Interactive processing:
With the advent of PC’s, the computer is completely at the disposal of and dedicated to the user (single). The operating systems, in this case, like MS-DOS, WINDOWS, etc, enables direct interaction with the compiling process and errors are displayed on the screen minimizing the duration of getting the result.
Application packages can also be loaded through simple commands by non-programmers. Users can comfortably use the computer with ease. Interactive processing is also facilitated in multiuser systems, using dumb or intelligent terminals.
Distributed Data Processing and Networking:
In a single user system as detailed above, the peripheral resources, such as the hard disc and printers are not fully utilized. The printer remains idle, when the computer is used for data entry, and this happens most of the time. An application packages used by different users, have to be copied to various PC’s. Data updating, editing becames cumbersome with single user systems, since the data in the system is to be correct one by one. An application package on inventory . For example can be used stores accounts, purchase sections etc.
Multiuser Systems:
The principle of multiprogramming and multitasking and the need for interactive processing led to the development of multiuser systems. Mainframes, super minis and mini systems, were designed to serve the needs of multiple users incorporating the concepts of multiprogramming and time sharing. A mini system serves 10 to 15 users, a super mini serves 30 to 40 users, and a mainframe 100 to 1000 users. These systems provide each user a terminal (consisting of monitor and keyboard). The size configuration and cost of the computer is decided not noly on the software needed but also on the number of users, and the speed with which the processing is to be carried out.
With the development of communication technologies embracing microwave and satellite communication and optical fiber systems, large computers are networked across continents and a terminal connected to a computer in a particular location, can downloaded files, programs and data from a computer located thousands of kilometers away and can send mail to another user, even if he is not logged on to the system when the mail is sent. Such developments in computer and communication technologies demand standardization of operating systems communication protocols networking software and interfaces.
Multiprocessing and parallel Processing Operating Systems:
As the number of users increased the response time had to be kept up and when the volume of data to be processed increased like in the case of weather forecasting terrain mapping, nuclear research, image processing, simulation etc., just one processor or increasing the clock speed of the processor did not suffice. In the cases, the speed of the computer had to be enhanced by adding few more processors.
Two approaches evolved in this technique. Both incorporated multiple processors. One was to route different jobs to different processors and another was to route each statement in the program to different processors. This was called parallel programming. The functions of an operating system and design in such environments became more complex. Fault tolerance of processor, interfaces and peripherals had also to be built into such operating systems like disc mirroring and replication.
Current trends towards multiprocessor and parallel processing systems and these operating systems and techniques are associated with super mini and super computers.

Operating System

1) Operating System:
Operating System in an interface between the user and hardware. The operating system is a complicated set of instructions data which is required to make the computer perform to its optimum level. This software along with certain other software’s can be grouped as system software’s. The system software’s, such as editors, compilers, utilities, Operating system and application software, all forms various layers well integrated within themselves, around the hardware

Operating Systems and Software layers


System Software’s is so-called because it deals with the ‘system’ or hardware directly. Hence these software’s are powerful and efficient. Besides the Operating System software’s comprise of:




1. Assemblers: The hardware, functions only on two levels of pulses, ‘ON’ or ‘OFF’. The processor is designed to execute instructions in binary form only. Coding instructions for the CPU is difficult, because the entire coding is to be done by using a combination of ‘0’ (represents ‘OFF’) and ‘1’ (represents ‘ON’). This is also known as machine code/language. The system programmer codes instructions in assembly language, which is covered to machine code by the assembler.
2. Compilers and Interpreters: For scientific and commercial applications, programs (a set of instructions) using high level languages, such as languages/codes by the concerned compiler or interpreter, which generate executable files (in the case of compilers), or execute each statement one by one (in the case of interpreters).
3. Utilities: Specific jobs such as sorting, merging, setting up databases, crating tabular form of data, word processing etc. can be carried out straight away in the computer without any programming, with the help of certain utilities designed for specific purposes.
4. Debugging Tools: Any error or bugs in the user- prepared source programs can be debugged using debugging tools. Debuggers save time in interpreting and rectifying the errors easily.
5. Editors: Programs and data can be created by using editors. These software’s offer the advantage of storing data in the form of files in permanent storage media, such as tapes or discs. There are various editors- simple and complex, and the type of editor, depends on the Operating System.