Q1. What is an Operating System? Discuss the Role of an Operating System?Ans. An operating system(OS) is a program that acts as an interface between a user of a computer and computer hardware. In other words, it co-ordinates the flow of information from the computer to the user and vice versa.
Operating System as a Resource Manager:A computer is a collection of resources for the movement storage and processing of the data for the control of these functions. The OS is responsible for managing these resources. A computer system has many resources (hardware and software) that may be required to solve problems - CPU time, processor allocation, memory space, file storage space, I/O devices, and so on.
Role of an Operating System:The operating system provides a working environment to execute programs in a convenient and efficient manner. It is responsible for overall functioning from booting to the resource manager. It provides an important role for:
1. Managing all the devices.
2. Managing the memory allocation and de-allocation to process.
3. Provides an interface between user and system.
4. Protection of system and data,
5. Managing the files and disks.
6. Scheduling the computational process.
7. Sharing of resources in terms of time, space, and CPU to achieve optimal utilization of resources.
Resource allocation and management acts as :
(a) Process management.
(b) Memory management.
(c) I/O management.
(d) File System/Disk Management.
(e) Scheduling of services.
(f) Security and protection of the system.
(g) Services of OS in various environments.
Q2. Discuss the different Services of Operating System?Ans. An operating system provides an environment for the execution of the programs. The operating system provides certain services to programs and to the user of these programs.
The specific services provided will ofcourse differ from one operating system to another but there are some common classes of services that can be identified. These OS functions are provided for the convenience of the programmer to make the programming task easier.
The OS provides services in the following areas:
1. Program Execution:Users will want to execute programs. The system must be able to load a program into memory and run it. The program must be able to end its execution, either normally or abnormally.
2. Input/Output Operations:A running program may require input and output. This input/output may involve a file or an 1/0 device. For specific devices, special functions may be desired (such as rewind a tape drive).
3. File System Manipulation:The file system is of particular interest. It must maintain that programers want to read and write files, we also want to create and delete files by name.
4. Communication:There are many circumstances in which one process needs to exchange information with another process. There are two major ways in which such communication can occur. The first takes place between process executing on the same computer, the second takes place between processes executing on different computers system that are tied together by a computer network.
Communications may be implemented via shared or by the technique of message passing in which packets of informations are moved between processes by the operating system.
5. Error Detection:The Operating system constantly needs to be aware of possible errors. Errors may occur in the CPU and memory hardware (such as in-memory error or a power failure), in I/O devices (such as parity errors on tape, a card Jam in the card reader, or the printer out of paper).
For each type of error the operating system should take the appropriate action to ensure, the operating system does correct and consistent computing.
6. Resource Allocation:When there are multiple users or multiple jobs running at the same time, resources must be allocated to each of them. Many different types of resources are managed by the operating system. Some (such as CPU cycles, main memory, and file storage) may have special allocation code, while others (such as I/O devices) may have much more general requests and release code.
7. Accounting:We want to keep track of which user use how much and what kind of computer resources. This record-keeping may be for the purpose of paying for accumulating usage, statistics may be a valuable tool in trying to configure the system to improve computing services.
8. Protection:The owner of information stored in a particular system may want to control its use. When several disjoint jobs are being executed simultaneously in order to increase its utilization, it should not be possible for one job to interface with the others. In addition, conflicting demands for various resources need to be managed rarely and scheduled reasonably.
Q3. What is an Operating System? Discuss various Goals and Functions of an Operating System?Ans. The 1960's definition of an operating system(OS) was "the software that controls the hardware". The OS is an organized collection of programs to provide an extension for hardware. It lies under the system software category. We see an operating system as the programs that make the hardware usable. In brief; an OS is the set of programs that controls a computer.
Some examples of OS are UNIX, Mach, MS-DOS, MS-similar small instruments where memory and resources are crucial. A Real-Time Operating System (RTOS) is a multitasking operating system intended for real-time applications. Such applications include embedded systems (programmable thermostats, household appliance controllers, mobile telephones), industrial robots, spacecraft, industrial control, and scientific research equipment.
An operating system is a program that acts as an interface between a user of a computer and computer hardware, also provides an environment in which a user may execute programs. Program execution environment provides services like :
1. Memory management.
2. I/O device management.
3. File system support.
4. Job scheduling.
5. Swapping of other programs etc.
In another way we can say that the Operating System(OS) is a class of programs that manage the resources of the computer, process commands, efficiently utilizes the computer hardware, and controls program execution. The OS is important for almost every computer system. It acts as a co-ordinator for every interaction activity between the users and their computer system.
The following figure shows the abstract view of the components of a computer system. A user can communicate with the OS using any of the two basic approaches : It provides basic computing resources (CPU, memory, I/O devices).
2. Operating System: It controls and coordinates the use of the hardware among the various application programs for the various users.
3. Application Programs: It defines the ways in which the system resources are used to solve the computing problems of the users (compilers, database systems, video games, business programs).
4. Users: It includes people, machines, and other computers.
Objectives or Goals of Operating System.It is easier to define the OS by knowing the following functions :
1. Convenience: An OS makes a computer more convenient to use. The primary goal of an OS is to make a very friendly nature for every user.
2. Efficiency: In this, the objective of a computer is to execute an instruction in an efficient manner and to increase the productivity of processing resources attached with the system.
3. Ability to Evaluate: An operating system should be constructed in such a way so that it permits the effective development testing and instructions of the new system.
Functions of Operating SystemIt manages many kinds of activities ranging from the user program to system programs like printer spooler, file server, etc.
1. Process Management:There are many activities encapsulated in a process. A process includes the complete execution context (code, data, resources, etc.) The five major activities of an operating system in regard to process management are :
(a) Creation of user processes.
(b) Creation of system processes.
(c) Deletion of user processes.
(d) Deletion of system processes.
(e) Suspension of processes.
2. Memory Management:Main memory provides storage that can be accessed directly by the CPU, i.e., for the program to be executed, it must be in the main memory. The major activities of an operating system in regard to memory management are :
(a) Keep track of which part of memory are currently being used and by whom.
(b) Allocate and deallocate memory space as needed.
3. Secondary Storage Management:Secondary storage consists of tapes, disks, and other media designed to hold information that will eventually be accessed in primary storage, ordinarily divided into bytes or words consisting of a fixed number of bytes. The three major activities of an operating system in regard to secondary storage management are :
(a) Allocation of storage space when new files have to be written.
(b) Scheduling the requests for memory access.
4. File Management:A file is a collection of related information defined by its creator. The computer can store files on the disk, which provides long term storage. A file system is normally organized into directories to ease their use.
(a) The creation and deletion of files.
(b) The mapping of files into secondary storage.