<< Chapter < Page | Chapter >> Page > |
If the entire image must be in main memory, then the image must be small and only a limited number of processes can be active at anytime. This problem can be solved by using virtual memory, so that only a portion of the process image (the portion currently being used) needs to be in memory atany given time.
Because there are circumstances under which a process may not be preempted (i.e., it is executing in kernel mode), it is impossiblefor the operating system to respond rapidly to real-time requirements.
You can use ps ax to list all the processes on a Linux machine. Here is a list of some of the processes I found:
PID TTY STAT TIME COMMAND
1 ? S 0:04 init [3]
2 ? SN 0:00 [ksoftirqd/0]
3 ? S<0:02 [events/0]
4 ? S<0:00 [khelper]
9 ? S<0:00 [kthread]
18 ? S<0:06 [kacpid]
118 ? S<0:00 [kblockd/0]
176 ? S 0:00 [pdflush]
179 ? S<0:00 [aio/0]
178 ? S 0:01 [kswapd0]
771 ? S 0:04 [kseriod]
829 ? S<0:00 [ata/0]
843 ? S<0:00 [reiserfs/0]
983 ? Ss 0:00 /sbin/devfsd /dev
5192 ? S 0:00 [khubd]
6328 ? Ss 0:00 metalog [MASTER]
6332 ? S 0:00 metalog [KERNEL]
6366 ? Ss 0:00 /usr/sbin/acpid -c /etc/acpi/events
6991 ? Ss 0:00 /usr/sbin/cupsd
7326 ? Ss 0:00 /usr/sbin/fcron
7422 ? Ss 0:00 /usr/sbin/speedfreqd -P /var/run/speedfreq.pid -p pow
There are many more. The TTY column indicates whether the process is attached to a termanl, and STAT gives the state of the process.Most processes are sleeping (S), one has been given a low priority (N), and others have been given a high priority (<). Notice that typically important system processes have a high priority.
If you create five processes in quick succession, they will typically have sequential process identifiers.
A process switch involves the operating system having to do a lot of work, whereas a mode switch is done completely in hardware. Amode switch involves saving the state of the current process (in hardware), changing to supervisor mode, then giving control to the operating system. Theidea is that the operating system will execute a short handler, then return control to the processor. The processor will restore the state of the originalprocess and continue.
With a process switch, the operating system must give control of the CPU to a different process, rather than resuming with theprevious process that was running. Thus it must save the context of the current process in its PCB, update the PCB state and accounting information, move thePCB to a new queue, execute the scheduling algorithm to choose a new process,remove the PCB of that process from the ready queue, update its memory management structures, and restore its context into the processor.
Notification Switch
Would you like to follow the 'Operating systems' conversation and receive update notifications?