An operating system is a resource manager which is responsible for the allocation of various resources. Resources such as CPU and main memory are considered pre-emptible. A user program that occupies a particular range of location in main memory may be removed or pre-empted by another program. CPU is the most pre-emptible resource on a computer system. Thus, the control of CPU can be transferred from one process to another.
Certain resources are not pre-emptible. They cannot be removed from the processes to which they are assigned. Tape drives for example, are normally assigned to a particular process for several minutes or hours and as long as it is assigned to one process, it cannot be taken from that process and given to others.
Share and Non-sharable Resources.
Some resources may be shared among several processes while others are dedicated to a single process. Main memory and CPU are shared among many processes and hough CPU can belong o one process at a time, the muliplexing of CPU among many processes creates the illusion of simultaneous sharing.
While disk drives are sometimes dedicated to a single process( are non-sharable) devices such as printers and keyboard are non-sharable resources.
Buffering
A buffer is an area of memory used to hold daa during input/ouput transfer to or form a disk or tape and from the keyboard to the printer.
Spooling
Spool stands for Simultaneous Periperals Operations On Line. Spooling is a technique used to reduce the speed mismatch between high-speed CPU and slow-speed devices such as printers. For example, if a program that sends lines to the printer waits for each line to be printed before it can transmit the next line, the program will be executed slowly. to speed up program execution, output lines are routed to a faster device such as the disk drive, where they are temporarily stored until they are printed. This procedure is called spooling.
Difference between Spooling and Buffering
Spooling is usually associated with printing jobs whereas Buffering allocates memory for any kind of job. Buffering also allows the use of main memory for performing some other functions temporarily.
EmoticonEmoticon