The hardware and software used to deliver applications to the user can be seen in a layered or hierarchical manner as shown in the following figure.
The user of those applications, the end user, generally is not concerned with the details of computer hardware. Therefore, the end user sees the computer system in terms of a set of applications. An application can be expressed in the programming language and developed by the application programmer.If one develops an application program as a set of machine instructions that is fully responsible for controlling the computer hardware, one is faced with a very complex task.To ease this chore, a set of system programs is provided. Some of these programs are referred to as utilities. These implement frequently used functions that assist in creation of program, files management, and the control of I/O devices. A programmer will make use of these facilities in developing an application, and the application, while it is running, will invoke the utilities to perform certain functions. The most important collection of system programs comprises the OS. The operating system covers the details of the hardware from the programmer and provides the programmer with a convenient interface for using system. It acts as a mediator making it easier for a programmer and for application programs to access and use those facilities and services.
In short, the operating system usually provides services in the following areas
The operating system provides services to users and programs. It provides the environment to execute programs. It provides services to users to run the programs in a convenient manner.
- I/O Operations
- Program Execution
- Communication
- File System Manipulation
- Error Detection
- Resource Allocation
- Protection
- Program Development
- System Access
- Accounting
The Input/Output subsystem includes input/output devices and their associated driver software. Drivers hide features of specific hardware device from users. The operating system maintains communication between the user and the device drivers.
I/O operation means reading or writing operation with any file or any specific input/output device. The operating system provides access to the required Input or output device when needed.
Program Execution:
Operating system perform a wide variety of functions, from user programs to printer spoolers, name servers, and file servers. Each of these activities is paired as a process. A process includes a complete implementation context(code to execute, data to manipulate, register operating system resources in use). The main activities of the operating system related to program management are:
- It loads the program into memory.
- Runs the program.
- Manages program execution.
- Provides a mechanism for process synchronization, process communication and deadlock management.
In the case of distribution systems, which are a collection of memory, peripherals or processors that do not share the clock, the operating system maintains communications between all processes. Multiple processes communicate with each other through communication lines in a network.
It handles operating system routing and connection strategies and issues of conflict and security. The main functions of the operating system in relation to communication are:
- Both processes often require data transfer between them.
- The two processes can be on one computer or on different computers, but are connected by a computer network.
- Communication can be executed in two ways through shared memory or through message passing.
A file refers to the collection of relevant information. Computers can store files on disk means secondary storage for long- term storage purposes. Examples of storage media are magnetic tape, magnetic disk and optical disk drives such as CDs and DVDs. Each of these media has it's own characteristics such as speed, capability, data transfer rate and data access methods.
The file system is usually organized as directories for easy navigation and use. These directories may contain files and other directions.
Some activities of the operating system related to file system manipulation are:
- Program needs to read a file.
- Program needs to write a file.
- Gives permissions to the program for operation on file.
- Permission varies from read only, read-write, denied and so on.
Errors can occur anytime and anywhere. An error may have occurred in the central processing unit (CPU), input or output device(I/O device), or in the memory hardware. The main activities of the operating system related to error management are as follows:
- The operating system constantly checks for possible errors.
- The operating system takes appropriate action to ensure proper and consistent computing.
In the case of multi-user or multi-tasking environment, resources such as main memory , central processing unit(cpu) cycles and file storage are allocated to each user or job. The main functions of the operating system related to resource management are :
- Manages all types of resources using operating system schedulers.
- Central processing unit scheduling algorithms are used for better use of the central processing unit(CPU).
Protection refers to the way in which programs, processes, or users control access to resources defined by computer system. The main functions of the operating system related to security management are:
- The operating system ensures that all access to system resources is controlled.
- External input or output devices are protected from invalid access attempts.
The operating system provides a variety of facilities and services , such as editors and debuggers, to assist the programmer in creating programs. Typically these services are in the form of utility programs that, while not strictly part of the core of the operating system, are supplied with the operating system and are referred to as application program development tools
System Access:
For shared or public systems, the operating system controls access to the system as a whole and to specific system resources. The access function must provide protection of resources and data from unauthorized users and must resolve conflicts for resources contention.
Accounting:
A good operating system will collect usage statistics for various resources and monitor performance parameters such as response time. On any system, this information is useful in anticipating the need for future enhancements and in tuning the system to improve performance. On a multi-user system, the information can be used for billing purposes.
Read also operating System
Comments
Post a Comment