Hi Anamika,
Check out this :
The second major component of the kernel is the process management system. A 'process' is a single sequence of events utilizing memory and files. A process is 'created' by 'forking' a copy of the process being made. The two processes are only distinguished by the parent being able to wait for the child process to finish. A process may replace itself by another program to be executed.
GNU/Linux is a multitasking operating system. That is many processes can be running at one time. Control is maintained in a 'preemtive' or 'timesliced' fashion. After a certain amount of time (in milliseconds) the operating system passes operation over from process 'a' to process 'b'. This also lets it maintain control and break out of rogue processes. Some other systems use a 'cooperative' system where eachprocess relinquishes control when it wants to (but what happens when it doesn't want to).
An 'image' is a computer execution environment which includes the program, associated data, status of open files (ie. file descriptor table and system file table), and the default directory. Some image attributes such as the user-id are accessible directly but other attributes such as the list of child processes can only be accessed through system calls.
A 'process' is the execution of an image. During execution it has four parts to its execution space: program code segment(read only and sharable), program data segment (writable, non-sharable), runtime stack segment, and system segment (system data localized to process).
A 'system call' is a standardized access method or 'hook' from user scripts or programs. The process management system uses four main system calls:
fork creates two copies (parent and child) of an image.
wait allows a parent to pause until the child process completes.
exec allows overlaying of the calling program with a new one.
exit is a voluntary completion of the process.
Processes intercommunicate with each other using 'signals'.
A 'process table' maintains records for each process on the system. These processes are in a treed structure of ownership. The shell command ps -e -f (every process, full listing) reveals all the table data to the user. PID stands for process id and PPID is the parents process id.
Processes are normally but not necessarily associated with a terminal device. This is done automatically on creation.
'Daemons' are processes that are NOT associated with a terminal. An example is the print spooler. These are identified in the process table as ? in the tty column.
Processes may be run in the 'background' (often by using an ampersand (&) at the end of the shell script that initiates the process). Programs running in the 'background' do not cause the system to 'wait' for their completion. Mechanisms for identifying (returning the PID number) checking status ( the PS command) and terminating (the KILL command) are provided to maintain control of 'background' processes.
Quote:
|
Originally Posted by anamika may i know what is the use of process table in linux? |
Ashish.