Saturday, 11 June 2016

Operating System - Module 1

OPERATING SYSTEM
An operating system (OS) can be defined as a set of computer programs that manage the hardware and software resources of a computer. An operating system maintains a proper balance between the software and hardware present in a computer system.
At the foundation of all system software, an operating system performs basic tasks such as controlling and allocating memory, prioritizing system requests, controlling input and output devices, facilitating networking and managing file systems. The operating system forms a platform for other system software and for application software. Windows, Linux, and Mac OS are some of the most popular OS's.
Goals and Functions of OS
OS can be defined by what they do i.e. by their functions, goals and objectives. Some of the goals of the OS are:
1 Convenience for the User
2 Efficiency
3 Evolutionary Capabilities
Services Provided by the OS
The services provided by the OS can be categorised into two:
1 Convenience for the Programmer/User
i. Program Creation
ii. Program Execution
iii. Access to I/O Devices
iv. Controlled Access
v. Communications
vi. Error Detection
2 Efficiency of System: Single and Multi-User:
i. System Access or Protection
ii. Resources Allocation
iii. Accounting
iv. Ease of Evolution of OS
v. New Services
vi. Fixes
Other features provided by the OS includes:
• Defining the user interface
• Sharing hardware among users
• Allowing users to share data
• Scheduling resources among users
• Facilitating I/O
• Recovering from errors
• Etc.
Types of OS
A. Types of Operating Systems Based on the Types of Computer they Control and the Sort of Applications they Support
Based on the types of computers they control and the sort of applications they support, there are generally four types within the broad family of operating systems. The broad categories are as follows:
 1 Real-Time Operating Systems (RTOS)
They are used to control machinery, scientific instruments and industrial systems. An RTOS typically has very little user-interface capability, and no end-user utilities, since the system will be a sealed box when delivered for use. A very important part of an RTOS is managing the resources of the computer so that a particular operation executes in precisely the same amount of time every time it occurs. In a complex machine, having a part move more quickly just because system resources are available may be just as catastrophic as having it not move at all because the system is busy. RTOS can be hard or soft. A hard RTOS guarantees that critical tasks are performed on time. However, soft RTOS is less restrictive. Here, a critical real-time task gets priority over other tasks and retains that priority until it completes.
2 Single-User, Single-Tasking Operating System
As the name implies, this operating system is designed to manage the computer so that one user can effectively do one thing at a time. The Palm OS for Palm handheld computers is a good example of a modern single-user, single-task operating system.
3 Single-User, Multi-Tasking Operating System
This is the type of operating system most people use on their desktop and laptop computers today. Windows 98 and the Mac O.S. are both examples of an operating system that will let a single user have several programs in operation at the same time.
4 Multi-User Operating Systems A multi-user operating system allows many different users to take advantage of the computer's resources simultaneously. The operating system must make sure that the requirements of the various users are balanced, and that each of the programs they are using has sufficient and separate resources so that a problem with one user doesn't affect the entire community of users. Unix, VMS, and mainframe operating systems, such as MVS, are examples of multi-user operating systems. It's important to differentiate here between multi-user operating systems and single-user operating systems that support networking. Windows 2000 and Novell Netware can each support hundreds or thousands of networked users, but the operating systems themselves are not true multi-user operating systems. The system administrator is the only user for Windows 2000 or Netware. The network support and the entire remote user logins the network enables are, in the overall plan of the operating system, a program being run by the administrative user.

2 Types of OS based on the Nature of Interaction that takes place between the Computer User and His/Her Program during its Processing
Modern computer operating systems may be classified into three groups, which are distinguished by the nature of interaction that takes place between the computer user and his or her program during its processing. The three groups are: called batch, time-shared and real time operating systems.
1 Batch Processing OS
In a batch processing operating system environment, users submit jobs to a central place where these jobs are collected into a batch, and subsequently placed on an input queue at the computer where they will be run. In this case, the user has no interaction with the job during its processing, and the computer’s response time is the turnaround time (i.e. results are ready for return to the person who submitted the job).
2 Time Sharing OS
 Another mode for delivering computing services is provided by time sharing operating systems. In this environment a computer provides computing services to several or many users concurrently on-line. Here, the various users are sharing the central processor, the memory, and other resources of the computer system in a manner facilitated, controlled, and monitored by the operating system. The user, in this environment, has nearly full interaction with the program during its execution, and the computer’s response time may be expected to be no more than a few second.
3 Real Time OS
 The third class of operating systems, real time operating systems, are designed to service those applications where response time is of the essence in order to prevent error, misrepresentation or even disaster. Examples of real time operating systems are those which handle airlines reservations, machine tool control, and monitoring of a nuclear power station. The systems, in this case, are designed to be interrupted by external signal that require the immediate attention of the computer system. In fact, many computer operating systems are hybrids, providing for more than one of these types of computing service simultaneously. It is especially common to have a background batch system running in conjunction with one of the other two on the same computer
Other Types of OS based on the Definition of the System/Environment
 A number of other definitions are important to gaining a better understanding and subsequently classifying operating systems:
1 Multiprogramming Operating System
A multiprogramming operating system is a system that allows more than one active user program (or part of user program) to be stored in main memory simultaneously.
Thus, it is evident that a time-sharing system is a multiprogramming system, but note that a multiprogramming system is not necessarily a time-sharing system. A batch or real time operating system could, and indeed usually does, have more than one active user program simultaneously in main storage. Another important, and all too similar, term is ‘multiprocessing’. A multiprocessing system is a computer hardware configuration that includes more than one independent processing unit. The term multiprocessing is generally used to refer to large computer hardware complexes found in major scientific or commercial applications.
2 Network Operating Systems
A networked computing system is a collection of physical interconnected computers. The operating system of each of the interconnected computers must contain, in addition to its own stand-alone functionality, provisions for handling communication and transfer of programs and data among the other computers with which it is connected. In a network operating system, the users are aware of the existence of multiple computers, and can log in to remote machines and copy files from one machine to another. Each machine runs its own local operating system and has its own user (or users). Network operating systems are designed with more complex functional capabilities. Network operating systems are not fundamentally different from single processor operating systems. They obviously need a network interface controller and some low-level software to drive it, as well as programs to achieve remote login and remote files access, but these additions do not change the essential structure of the operating systems.
3 Distributed Operating Systems
 A distributed computing system consists of a number of computers that are connected and managed so that they automatically share the job processing load among the constituent computers, or separate the job load as appropriate particularly configured processors. Such a system requires an operating system which, in addition to the typical stand-alone functionality, provides coordination of the operations and information flow among the component computers. The distributed computing environment and its operating systems, like networking environment, are designed with more complex functional capabilities. However, a distributed operating system, in contrast to a network operating system, is one that appears to its users as a traditional uniprocessor system, even though it is actually composed of multiple processors. In a true distributed system, users should not be aware of where their programs are being run or where their files are located; that should all be handled automatically and efficiently by the operating system.

No comments:

Post a Comment