An operating system (OS) acts as an intermediary between the user and computer hardware, controlling execution of programs and managing resources like memory, processors, and devices. The document outlines the definition, functions, types, and evolution of OS, describing batch, time-sharing, distributed, network, and real-time operating systems. It discusses how OS allocate and manage resources, simplify use of hardware, and provide functions like memory, processor, device, file, and security management.
An operating system (OS) acts as an intermediary between the user and computer hardware, controlling execution of programs and managing resources like memory, processors, and devices. The document outlines the definition, functions, types, and evolution of OS, describing batch, time-sharing, distributed, network, and real-time operating systems. It discusses how OS allocate and manage resources, simplify use of hardware, and provide functions like memory, processor, device, file, and security management.
Systems 1 Definition • An OS is a program that acts as an intermediary between the user of a computer and computer hardware.
• An operating system is a program that acts as
an interface between the user and the computer hardware and controls the execution of all kinds of programs. • The OS is the one program running at all times on the computer (usually called the kernel), with all else being applications programs. • OS simplifies and manages the complexity of running application programs efficiently. 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. Other Goals of an OS • Simplify the execution of user programs and make solving user problems easier. • Use computer hardware efficiently by allowing sharing of hardware and software resources. • Make application software portable and versatile. • Provide isolation, security and protection among user programs. • Improve overall system reliability i.e error confinement, fault tolerance, reconfiguration. Functions of an OS Following are some of important functions of an operating System. • Memory Management • Processor Management • Device Management • File Management • Security • Control over system performance • Job accounting • Error detecting aids • Coordination between other software and users 1. Memory management Refers to management of Primary Memory or Main Memory OS does the following for memory management. • Keeps tracks of primary memory i.e. what part of it are in use by whom, what part are not in use. • In multiprogramming, OS decides which process will get memory when and how much. • Allocates the memory when the process requests it to do so. • De-allocates the memory when the process no longer needs it or has been terminated. 2. Processor Management OS decides which process gets the processor when and how much time. Operating System does the following activities for processor management. • Keeps tracks of processor and status of process. Program responsible for this task is known as traffic controller. • Allocates the processor (CPU) to a process. • De-allocates processor when processor is no longer required. 3. Device Management OS manages device communication via their respective drivers • Keeps tracks of all devices. Program responsible for this task is known as the I/O • controller. • Decides which process gets the device when and for how much time. • Allocates the device in the efficient way. • De-allocates devices. 4. File management A file system is normally organized into directories for easy navigation and usage. • Keeps track of information, location, uses, status etc. The collective facilities are often known as file system. • Decides who gets the resources. • Allocates the resources. • De-allocates the resources. • 5. Security -- By means of password and similar other techniques, preventing unauthorized access to programs and data. • 6. Control over system performance -- Recording delays between request for a service and response from the system. • 7. Job accounting -- Keeping track of time and resources used by various jobs and users. • 8. Error detecting aids -- Production of dumps, traces, error messages and other debugging and error detecting aids. • 9. Coordination between other software and users -- Coordination and assignment of compilers, interpreters, assemblers and other software to the various users of the computer systems. The OS must support the following tasks • 1. Provides the facilities to create, modification of program 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. Types of OS • Operating systems have been there from the very first computer generation and they keep evolving over the period of time. • Following are few of the important types of operating system which are most commonly used. 1. Batch OS • The users of batch operating system do not interact with the computer directly. • Each user prepares his job on an off-line device and submits it to the computer operator. • To speed up processing, jobs with similar needs are batched together and run as a group. • Programmers leave their programs with the operator, who then sorts programs into batches with similar requirements. The problems with Batch Systems are: • Lack of interaction between the user and job. • CPU is often idle, because the speeds of the mechanical I/O devices are slower than CPU. • Difficult to provide the desired priority. 2. Time Sharing OS • Time sharing is a technique which enables many people, located at various terminals, to use a particular computer system at the same time. • Time-sharing or multitasking is a logical extension of multiprogramming. • Processor's time which is shared among multiple users simultaneously is termed as time-sharing. Time Sharing • Multiple jobs are executed by the CPU by switching between them, but the switches occur so frequently. • Thus, the user can receive an immediate response. • For example, in a transaction processing, processor execute each user program in a short burst or quantum of computation. • That is if n users are present, each user can get time quantum. When the user submits the command, the response time is in few seconds at most. • Operating system uses CPU scheduling and multiprogramming to provide each user with a small portion of a time.
Advantages of Time Sharing OS
• Provide advantage of quick response. • Avoids duplication of software. • Reduces CPU idle time. Disadvantages of Timesharing operating systems • Problem of reliability. • Question of security and integrity of user programs and data. • Problem of data communication. 3. Distributed OS • Distributed systems use multiple central processors to serve multiple real time application and multiple users. • Data processing jobs are distributed among the processors accordingly to which one can perform each job most efficiently. • The processors communicate with one another through various communication lines (such as high-speed buses or telephone lines). • These are referred as loosely coupled systems or distributed systems. • Processors in a distributed system may vary in size and function. • These processors are referred as sites, nodes, and computers and so on. Advantages of Distributed systems • With resource sharing facility user at one site may be able to use the resources available at another. • Speeds up the exchange of data with one another via electronic mail. • If one site fails in a distributed system, the remaining sites can potentially continue operating. • Better service to the customers. • Reduction of the load on the host computer. • Reduction of delays in data processing. 4. Network OS • Network Operating System runs on a server and provides server the capability to manage data, users, groups, security, applications, & other networking functions. • The primary purpose of the network operating system is to allow shared file and printer access among multiple computers in a network, typically a local area network (LAN), a private network or to other networks. Advantages of NOS • Centralized servers are highly stable. • Security is server managed. • Upgrades to new technologies and hardware can be easily integrated into the system. • Remote access to servers is possible from different locations and types of systems. Disadvantages of NOS • High cost of buying and running a server. • Dependency on a central location for most operations. • Regular maintenance and updates are required. 5. Real Time OS • Real time system is defines as a data processing system in which the time interval required to process and respond to inputs is so small that it controls the environment. • Real time processing is always on line whereas on line system need not be real time. • The time taken by the system to respond to an input and display of required updated information is termed as response time. • Real-time systems are used when there are rigid time requirements on the operation of a processor or the flow of data and real-time systems can be used as a control device in a dedicated application. • Real-time operating system has well-defined, fixed time constraints otherwise system will fail. Evolution of OS Generatio Year Electronic Type of OS n device & Devices used First 1945 -1955 Vacuum tubes Plug Boards
Second 1955 – 1965 Transistors Batch System
Third 1965 – 1980 IC Multiprogram
ming Fourth 1980 – 1990 Large scale PC integration Revision/Model Questions • Define OS. Give the different functions of OS. • What is the distinction between Multiprogrammed Batch Systems and Time sharing systems? • Give five examples of real time OS • What is the difference between Hard real time systems and Soft real time systems? • Detail how the following are used in relation to a computers Operating System: a)Assembler b) Compiler c) Loader