We have already learnt about the functionality, structure, interfaces, and types etc, operating systems. In general we have also seen and understood the general features of an operating system. Now let us look into the features of operating systems under broad categories.
Major Features of Operating Systems
Processor management, Device management, memory, management, Security management, File management
As we have already seen that the process in a program which is being executed. A process will takes its birth from a user request/program for doing a task/job requested. These processes have to be executed on order to give response to any request. These processes are handled and executed by processor, a hardware request. These processes are handled and executed by processor, a hardware device which is capable of executing sequence of instructions. The processor management is concerned with the management allocation of processes to the processors.
In multiprogramming environment, CPU switches from program to program, running each for few milliseconds. If we really look at CPU, at any given instant of time CPU is executing only one program. The processes usually when handled by the processor, they may be in any one of the following states:
1. Running: (Being in the process of execution at that given instant)
2. Ready: “(which is ready to be executed, but is stopped temporarily so that another process can run).
3. Blocked: (the process is unable to run and is waiting for some external event to occur so, that it can continue execution).
The following figure gives the process states of any process:
1. The process being picked for execution.
2. Another process being picked for running.
3. The blocked process is called for execution as the external event occurs.
4. The process being blocked for the external event.
If we look at the three states of processes, logically the first two states are quite similar as both the processes are ready to run, but the other is waiting for its turn of CPU. The process in the third state will not run, even if the CPU is idle as it is waiting for external event, like input.
The figure depicting the process states, we can see that there are four possible transitions among these three states. The transition (1) will occur when the process gets the turn to run in CPU. Transition (2) will occur when the CPU decides to switch over to other process. Both the transitions (1) and (2) will occur even without the process knowing it; this is taken care by the process scheduler program, the part of operating system. The transition (3) will occur when the external event occurs and the process which is blocked comes into execution. The transition (4) will occur when the process discovers that it cannot continue to run, till external event occurs enabling it is run.
For these transitions many algorithms are used, so that the efficiency of the system will not come down, because of the multi programming.