- operating system function
The operating system is a program that controls the application program between users and hardware with the UI display, the operating system has three objectives that is:
a. make computer comfortably used
b. allows the computer system resources to be used in an ef- ficient manner
c. should be built in such a way that it enables the development, testing, and
introduction of effective system functions by uninterrupting the service
Operating System As User / Computer
Hardware and software used in providing applications to users can be seen in layered or hierarchical mode, Users of the app, end users, generally do not care about the detailed hardware details. Thus, the end user views computer systems in terms of a set of applications. Applications. Can be done in programming languages and developed by application programmers. briefly usually the operating system provides the following services :
Program Development : operatinprovides various facilities and services, such as editors and debuggers, to help system programmers in making programs. Usually, the service is a utility program that is, Although not strictly OS core parts, it is included with the OS and is referred to as the application program development tool.
Program execution :A number of steps were taken to run the program. Instructions and data must be loaded into main memory, I / O devices and files must be initialized, and other resources must be prepared. OShandles this scheduling task for users
Access to I/O devices : Each I / O device requires special instructions or control signals for operation. the operating system provides a uniform interface that hides these details so that programmers can access the device using simplification and writing.
Controlled access to files : Controlled access to files: For file access, the operating system must reflect a detailed understanding of not only the nature of the I / O device (disk drive, tape drive) but also the data structure contained in files on the storage media. In the case of a system with many users, the operating system can also provide a protection mechanism to control access to files.
System access : For systems that are shared or public, the operating system controls access to the system as a whole and to certain system resources. The access function must provide protection of resources and data from unauthorized users and must resolve conflicts for resource conflicts.
Error detection and response : when a system runs, of course there will be many errors. including internal or external hardware errors, such as memory errors, or device failure or malfunction; and various software errors, such as division by zero, attempts to access restricted memory locations, and the inability of an operating system to execute commands from an application. In each case, the operating system must provide minimum errors on running applications. Responses can range from terminating a program that is causing an error, to retrying an operation, to only reporting an error to the application.
Accounting : collect usage statistics for various resources and performance parameters such as response time. In any system, this information is useful in anticipating the need for future improvements and uniting the system to improve performance.
- 2 Ease of Evolution of Operating Systems
starting from the first computer, from the late 1940s to the mid-1950s, programmers interacted directly with computer hardware where computers were run with no operating system. These computers are run from consoles consisting of screen lights, switch switches, some forms of input devices, and printers. Programs in machine code are loaded via an input device. if the error can stop the program, it can be known by indicating the lamp. if the program runs normally, the output appears on the printer. This initial system presents two main problems namely:
Most installations use a hardcopy registration sheet to order computer time. Usually, users can register for one block of time in a few hours or approximately one hour. A user might register for quite a long time and this will result in wasted computer processing time. On the other hand, users experience problems, do not finish within the allotted time, and are terminated before the process is complete
- Setup time
A single program, called a job, involves loading the compiler with a high-level language program (source program) into memory, storing compiled programs (program objects) and then loading and linking together object programs and common functions. Each of these steps can involve mounting or removing tapes or decking the cards. when an error occurs, hap-less users usually have to repeat the order of settings. Thus, a lot of time is wasted in preparing programs to run.
- 3 Time Sharing System
By using multiprogramming, managing batches can be very efficient. However, for many jobs it is recommended to ask the user directly with a computer. Indeed, for some jobs, such as transactions, interactive mode is very important. requirements for interactive computing facilities, and approve, use of personal computers or special workstations. That option was not available in the 1960s, due to the large and high price of computers. Just like multiprogram that allows processors to complete multiple batches, multiprogram can be used for multiple interactive graphics. In this latter case, this technique is called time sharing, because processor time is shared among many users.
In a time sharing system, many users simultaneously access the system through terminals, with the OS interleaving the implementation of each user program in a short burst or quantum calculation. Thus, if there are active users requesting services at a time, each user will only see an average of 1 / n of effective computer capacity, not including OS overhead. However, given the relatively slow reaction time of humans, the time of re-sponsorship of a properly designed system must be the same as that on a mediated computer.
OPERATINGSYSTEMSINTERNALS ANDDESIGNPRINCIPLESSIXTHEDITION, William Stallings