<< Chapter < Page
  Operating systems     Page 3 / 4
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.

It states that unix is unsuitable for real-time applications because a process executing in kernel mode may not be preempted. elaborate.

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.

Use the ps program to list all the processes running on a linux machine (including system processes and processes for all users). list oneProcess for each unique state that is listed (i.e. one per unique entry in the state column) and describe what state this process is in. see the manual pageFor help with ps. next, create five new processes in quick succession and leave them running. using ps, list their process identifiers. is there any relationBetween the identifiers they are assigned?

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.

How is a process switch different from a mode switch?

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.

Get Jobilize Job Search Mobile App in your pocket Now!

Get it on Google Play Download on the App Store Now




Source:  OpenStax, Operating systems. OpenStax CNX. Aug 13, 2009 Download for free at http://cnx.org/content/col10785/1.2
Google Play and the Google Play logo are trademarks of Google Inc.

Notification Switch

Would you like to follow the 'Operating systems' conversation and receive update notifications?

Ask