Definition & Types of Operating System:
Operating System is a group of program that controls all the operation of computer system and its components. An Operating System is an integrated set of specialized program that is used to manage the resources and overall operation of a computer. A computer can do nothing with out Operating System. Operating System must be installed on every computer. User interacts with computer through Operating System. When computer is turned on, the Operating System runs and checks that all parts of the computer are functioning properly. Operating System manages all operation the computer after loading.
Some popular Operating System is IBM, PC-DOS, MS-DOS, UNIX, XENIX, LINUS, WINDOWS-98, WINDOWS-2000, OS/2, WINDOWS-XP, WINDOWS-7 etc.
TYPES OF OPERATING SYSTEM:
Operating System is classified according to the following criteria.
- Single user Operating System
- Multi User Operating System
- SINGLE USER OPERATING SYSTEM:
Single User Operating System allows only one user to use the system. For Micro-Computer single user Operating System offer the following functions. - Initialsation of System:
Initialisation of System in which the Operating System must have initial loader program to initialise the system properly. - File Management:
An Operating System contains File Management programs that control the creation, deletion and access of files of data and program. - Memory Management:
In Operating System this Memory Management is simple, as only one application is executed at one time. IF there is another application to be run the previous is remove from the memory. - Input & Output Management:
Input & Output Management in this type of Operating System is more simpler as compare to other because Input & Output device is made active at a time. - MULTI USER OPERATING SYSTEM:
Multi User Operating System allow more the one users at a time to use the system. There are different function which are allowed by Multi User Operating System. - Initialization:
Initialization is more complex than single user Operating System because it is possible that more than one computer be initialized by server. - File Management:
The File Management is more complex in this case because a file may be access or shared by more than one user. If a user is using currently a file and another user also trying to access this file than it is duty of Operating System to lock the file for other user and also set security (Permissions) on file also share a file to available it on Network. - Memory Management:
Available memory of server is divided among different user the rest of Memory Management is same as the single Operating System. Ir also uses a technique called paying to allow your computer to run more programs than its physical memory by storing memory pages not currently in use on a mass storage device called virtual memory. - Input & Output Management:
It is also complex because more than one devices manage by Operating System. - Resource Management:
Resources (Printer, CD Drive, Floppy Drive etc are available to all user on Network) these devices can be share to access from other computer. - Process Management:
In multi user Operating System more than one application are executed at a time this capability is called multitasking. - Processor Management:
In multi user Operating system more then one one user connected to the system. Hence processing speed must be fast to manage all user requests. For this reason a system must have more the one processor, multi user system ha capability to manage all these processors. - Communication Management:
In multi user Operating System one computer is connected with more then one systems. Hence it has capability to create new user, groups and assign Passwords and Permissions. - TIME - SHARED SYSTEM:
It usually consists of a"dump" type terminal connected by data lines to a centralised Micro - Computer based system that controls.
EXPLAIN DIFFERENT FUNCTION OF OPERATING SYSTEM
An Operating System performs the following basic functions in the operation of computer system.
Booting:
Booting is a process of starting the computer. Operating System the computer to work. It checks the computer and makes it ready to work. there are two types of booting.
- Cold Boot:
When computer is turn on by on/off button it is called cold boot. - Warm Boot:
When computer is restarted, it is called warm boot.
The User Interface:
The User interface is used to interact with computer. User Interface controls how you enter data and instructions and how information is displayed on the screen. There are main Three types of User Interfaces are as follow:
- Command-Driven Interface:
In Command - Driven User Interface the user enter data and instructions by typing keyword or pressing special keys on keyboard. - Menu-Driven Interface:
In Menu-Driven Interface the user enter data and instruction by using menu. It is easier to use. - Graphical User Interface:
Graphical User Interface is a visual environment that is used by the user to communicate with computer with computer. It uses windows, icon, menu and other graphical objects to issue commands.
Resource Management:
An Operating System uses a variety of Resource Management Program to manage the hardware and networking resources of a computer system, including its CPU, Memory, Secondary Storage Devices, Telecommunications Processors and Input / Output Peripherals. For example, management programs keep track of where data and programs are stored.
Memory Management:
Memory Management is process of optimizing the use of main memory. RAM is used to store data and instructions temporarily during executing. Operating System allocates memory area to different programs. The allocated memory area is de-allocated when the program finishes.
File Management:
An Operating System contains file management programs that control the creation, deletion and access of files of data and program. File Management also keeping track of the physical location of files on magnetic disks and other secondary storage devices.
Task Management / Job Scheduling:
The Task Management programs of an Operating System manage the completion of the job of end users. They give each task a slice of CPU's time and interrupt the CPU operations to substitute other tasks. Task Management may involve a multitasking capability where several computing task can occur at the same time.
New microcomputer operating system and most minicomputer and mainframe operating system provide a multitasking capability. With multitasking, end user can do two or more operation (keyboard and printing) or use of application (e.g. MS - Word, MS - Excel) concurrently, that is at the same time.
A single CPU can run a number of programs at the same time. The numbers of program that can be run concurrently depend on the amount of memory that is available and the amount of processing each job demands. That is because a microprocessor (or CPU) can become overloaded with too many jobs and provide unacceptable slow response. Multitasking allow end user to easily switch from one application to another.
Monitoring Performance:
Operating System also monitors the performance of the computer. Performance monitor is a program that checks and reports information about different systems resources and devices. For example it monitors the processor, disk memory and network.
The Scheduler has to make decision that which process should be given CPU time when and how much.
Accessing The Web:
Operating System provides the facility to connect to the Web. It guides the user to set up a connection between computer and Internet Service Providers. Some Operating System provides the facilities of Web browser and email. program.Administering Security:
Operating System manages the security of computer system as well as data and program stored on it. Security is normally maintained by using User ID and Password.Device Controlling:
Operating System control all devices attached to the computer. The hardware devices are controlled with the help of small software called device drivers.POPULAR OPERATING SYSTEM
In the earlier age there ware many Operating System were device-dependent. A type of software that runs only on a specific type computer is called device-dependent. There are generally two categories of Operating System.STAND ALONE OPERATING SYSTEM:
An Operating System that works on desktop or notebook computer is called Stand-Alone Operating System. Some example of Stand Alone Operating Systems are Disk Operating System (DOS), Windows 95, Windows NT Workstation, Windows Me, and Windows XP Home Edition etc.- DOS:
DOS stands for Disk Operating System. It was developed by Microsoft in early 1980s for personal computers. It is single-user and as well as single-tasking operating system. - Windows 95,95,Me:
In 1995 Microsoft introduce Window 95 operating system, includes the feature of Graphical User Interface. Windows 95 is multitasking, networking, multimedia and many other capabilities operating system, Microsoft introduced an enhanced Windows 98 version during 1998, Windows Me (Millennium Edition) in 2000. - Windows XP:
Windows XP is a product of Microsoft Corporation. It was released in 2001 . XP stands for experience. It is fastest and most reliable Operating System. Three versions of Windows XP are Windows XP Home Edition, Windows XP Professional and Windows XP Server. - MAC:
MAC stands for Macintosh. Macintosh Operating System is product of Apple. It was one of the first successful GUI. It was release with Macintosh Computer in 1984. The latest version of this Operating System is called Mac Operating System X.
- Network Operating System:
An Operating System that supports network is called Network Operating System. It normally works on a server. Some example of Network Operating System are Windows NT Operating are Windows NT Server, Windows 2000 Server, Net-ware, Unix and Solaris.
- Windows NT Server:
Microsoft introduced its Windows NT (New Technology) Operating System in 1995. It is designed for client / server networks. The server in the network uses Windows NT Server. The client computer use Windows NT Workstation.
- Unix:
Unix is multitasking, Network Operating System. It was developed in the early 1970s at Bell Laboratories. Many version of this Operating System are available. It uses command driven interface. - Linux:
Linux is free, multitasking and network Operating System. It was developed in 1991. Some version of Linux use command-line interface and other GUI. - Solaris:
Solaris is version of UNIX Operating System. It was developed by Sun Micro-systems. It is network operating system designed for e-commerce application.
SCHEDULING:
The Allocation of CPU time (Resources) to different jobs to be process on the computer is called scheduling and the module of Operating System which handle this task is called scheduler. The Scheduler arrange jobs in the sequences base in the priority. In the time sharing system all the resources of computer system are share among the different user, as CPU is one of the primary computer resource so the sharing of CPU time among different user (Jobs) is term as Scheduling.The Scheduler has to make decision that which process should be given CPU time when and how much.
SCHEDULER ALGORITHM:
The following are well know Scheduler Algorithm.- Non-Preemptive Algorithm.
In this stategy when process assign to CPU will not swapped (stopped or Block) before its completion. - FIFOA (First In First Out Algorithm):
In this algorithm all the incoming jobs are placed in Queue and are proceed one by one at first come first out. - LIFOA (Last In First Out Algorithm):
In this strategy incoming jobs are placed in a stack and CPU is assigned to job which is at the top of the stack. However it is a scheduler algorithm but it is not actually applied. - SJFA (Shortest Job First Algorithm):
According to this algorithm first of all, all active process are stored according to their size and shortest job are arranged high priority it means that a job require less memory will be given high priority.
When CPU is executing some processes, at the same time a new process arrived. All the remaining processes again arranged according to the size. - Preemptive Algorithm:
In this strategy when a process is assign to CPU can be swapped (stopped) before its completion and new process is assign to CPU. - SJNA (Short Job Next Algorithm):
In this strategy all the process are arrange according to their size from the smaller to larger and highest priority is assigned to the smaller process. Suppose and process is assign to processor a new job arrived. If the remaining portion of current job less then the new. Then current process will be swapped from CPU (block state) and new process assign to processor (running state). - RR (Round Robbins Algorithm):
In this scheduling method the process are dispatched FIFO and no priority is assigned to any job, all the active job are given a limited amount of CPU time called a time slice or quantum's. If a process does not complete before it CPU give to the next waiting process. The preempted process is placed at the back of ready list.
DEAD LOCK:
A Dead Lock is a situation wherein two or more competing action are each waiting for the other to finish and thus neither ever does.
In an Operating System, a Dead Lock is situation which occurs when a process enters a waiting state because a resource requested by it is being held by another waiting process, which in turn is waiting for another resource. If a process is unable to change its state indefinitely because the resources requested by it are being used by other waiting process, then the system is said to be in a Dead Lock.
Dead Lock is a common problem in multiprocessing systems, parallel computing and distributed systems, where software and hardware locks are used to handle shared resources and implement process synchronisation.
NECESSARY CONDITION
A Dead Lock situation can arise only if all of the following conditions hold simultaneously in a system:- Mutual Exclusion:
At least one resource mus be non-shareable. Only one process can use the resource at any given instant of time. - Hold and Wait or Resource Holding:
A process is currently holding at least one resource and requesting additional resources which are being held by other processes. - No Preemption:
The Operating System must not de-allocate resources once they have been allocated; they must be released by the holding process voluntarily. - Circular Wait:
A process must be waiting for a resource which is being held by another process, which in turn is waiting for the first process to release the resource. In general, there is a set of waiting processes, P = (P1, P2, ............., PN), such that P1 is waiting for a resource held by P2, P2 is waiting for a resource held by P3 and so on till PN is waiting for a resource held by P1.
DEAD LOCK HANDLING
Most current Operating System can not prevent a Dead Lock from occurring. When a Dead Lock occurs, different Operating Systems respond to them in different non-standard manners.Major approaches are as follows.- Ignoring Dead Lock:
In this approach, it is assumed that a Dead Lock will never occur. This is also called the Ostrich Algorithm. This approach was initially used by MINIX and UNIX. This is used when the time intervals between occurrences of Dead Locks is large and the data loss incurred each time is tolerable. It is avoided in very critical system. - Detection:
Under Dead Lock detection, Dead Locks are allowed to occur. Then the state of the system is examined to detect that a Dead Lock has occurred and subsequently it is corrected. An algorithm is employed that tracks resource allocation process states, it rolls back and restarts one or more of the processes in order to remove the detected Dead Lock. Detecting a Dead Lock that has already occurred is easily possible since the resources that each process has locked and / or currently requested are known to the resource scheduler of the Operating System. - Avoidance:
Dead Lock can be avoided if certain information about processes are available to the Operating System before allocation of resources, such as which resources a process will consume in its lifetime. For every resource request, the system sees if granting the request will mean that the system will enter an unsafe state, meaning a state that could result in Dead Lock. The system then only grants requests that will lead to safe states. In order for the system to be able to determine whether the next state will be safe or unsafe, it must know in advance at any time: - Resources currently available.
- Resources currently allocate to each process.
- Resources that will be required and released and released by these processes in the future.



