Operating system as a resource manager
The job of operating system is to provide an orderly and controlled allocation of the processors, memories and input output devices among the various programs completing for them. The resourse sharing includes sharing resources in two ways in time and in space. The time management includes allocation of CPU, printer and space management deals with the memory allocation to multiple programs.
Imagine what would happen if three programs running on some computer all tried to print there output simultaneously on the same printer. The first few lines of printout might be from program one, the next few from program two, then some from program three, and so forth. The result would be chaos. The operating system can bring oder to the potential chaos by buffering all the output destined for the printer on the disk. When one program is finished, the operating system can then copy its output from the disk file where it has been stored to the printer, while at the same time the other program can continue generating more output, oblivious to the fact that the output is not really going to the printer yet.
when a computer or network has multiple users, the need for managing and protecting the memory, Input output devices, and other resources is even greater, since the user might otherwise interfere with one another. In addition, user often need to share not only hardware, but information files, databases, etc. in short, the view of the operating system holds that its primary task is to keep track of who is using which resource, to grant resource requests, to account for usage, and to mediate conflicting requests from different programs and users.
Resource management includes multiplexing sharing resources in two ways:-
In time and in space:- once a resource is time multiplexed,, totally different programs or users take flip victimization it. 1st on of them gets to use the resource, then another then on.
For example:- the sole one mainframe and multiple programs that wish to run thereon, the software 1st allocates the central process unit to at least one program then when it's run long enough, another one get the utilization of central process unit, then another, so eventually the primary one once more. deciding however the recourse is time multiplexed United Nations agency goes next and for the way long is that the task of the software. Another example of your time multiplexing is sharing the printer. once multiple print jobs square measure queued up for printing on one printer, a choice needs to be created concerning that one is to be written next.
The other quite multiplexing is area multiplexing. rather than the shoppers taking turns, all gets a part of the resource. as an example, main memory is generally divided among many running programs, thus all may be resident at a similar time (for example, so as to require turns victimization the CPU). forward there's enough memory to carry multiple programs, it's additional economical to carry many programs in memory promptly instead of offer one amongst all of them of it, particularly if it solely wants atiny low fraction of the entire. Of course, this raises problems with fairness, protection, and so on, and it's up to the software to resolve them. Another resource that's area multiplexed is that the (hard) disk. In several systems one disk will hold files from several users at a similar time. Allocating space and keeping track of United Nations agency is victimization that disk blocks could be a typical software resource management task.
No comments:
Post a Comment