The Linux distillery
Bringing the world of Linux to you, David cuts through the tech and shows you how it works and how to use it, in terms that apply to any distro. RSS
IT NEWS           RSS Mastering The Complex Sale
Technology news and Jobs arrow The Linux distillery arrow Processed Linux: from exec to exit
Processed Linux: from exec to exit PDF Print E-mail
User Rating: / 10
PoorBest 
by David M Williams   
Monday, 03 March 2008
Linux is a multitasking operating system, running many tasks – or processes – seemingly at once. Every process leaves a footprint on your system. Here are some tools to examine these, and we also work out just what that creepy /proc directory is all about.
Welcome back. Over the last weeks we looked at how the Linux scheduler prioritised the processes to run, and learned about jiffies and zombies. Now it’s time to cover the life cycle of a Linux process and just what happens when you run a program.

Linux enforces strong family values through parent/child relationships. Every single process except for one has a parent process. The one exception is init which is the granddaddy of everything else. This is process number 1, the big kahuna which fires when Linux first boots. Every other process has been spawned from it, either directly or through its offspring.

Like some types of worms and fish, Linux processes have only one parent. And, like guinea pigs and rabbits, a Linux process can have almost any number of children.

Users of a Linux system create processes when they execute command-line instructions or when they double-click on icons and menu options within the GUI environment. Behind the scenes, the applications invoked come to life because they are spawned by a parent process – whether it be a BASH shell, for instance, or the KDE or Gnome desktop.

And, if a program creates another task then it is making a child process of its own. This happens all the time. It’s what Apache does when a web page request comes in, for example. Apache spawns a new process to take care of the incoming connection so the main body of the program is freed up instantly and can listen for new incoming requests. If it didn’t spawn off a child process, the web server may become unusable by others because its time is taken up serving the first request instead of responding to newcomers.

Behind the scenes, these processes are made through one of but three system calls within the Linux kernel. Two of these have a shared UNIX heritage, fork and vfork, whereas the third one is specific to Linux and is called clone.

fork is the historically preferred way to create new processes. The fork system call splits the process in two, leaving a parent and a child process. The parent is the original process, retaining the process ID it had since it began, and receiving the process ID of the child as a return value from fork. The child process, however, is a duplicate running in a new process space with a new process ID. It receives a value of 0 as the return value from fork. It’s this return value which lets program code determine if it is the parent or child process once the split has taken place and respond in whatever manner is appropriate for that specific application.

Please read on for more cytokinesis!

CONTINUED







 
< Next story in category   Previous story in the category >
Subscribe to iTWire's Free daily e-newsletter Delivered daily - FREE
Subscribe to our Technology newsletter, get the latest and stay ahead ...example
* First name:
* Last name:
* Your email address:
* Country:
* Enter the security code shown:

* mandatory
Google
 
You don't need to login to post a comment





Lost Password?
No account yet? Register
Subscribe to our free daily newsletter.
9th Annual Business Intelligence
May 8 (8:00 am) - July 16 (11:59 pm), 2008
The drastic change of vendor landscape in 2007, which resulted by the big-time acquisition of the...

Applications open for postgraduate studies in Technical Communication at Swinburne University
May 13 (8:00 am) - September 09 (11:59 pm), 2008
Swinburne University runs two courses offering university-level qualifications to technical commu...

ISTQB Software Testing Certification Training
May 19 (9:00 am) - May 21 (11:59 pm), 2008
HEDLOC ISTQB Foundation Certification Course (3 Days, Sydney) The ISTQB Foundation Certificate i...

ISTQB Foundation Certification Public Training, Sydney, 19th May 2008
May 19 (9:00 am) - May 21 (11:59 pm), 2008
The ISTQB Foundation Certificate is an internationally recognised professional qualification in s...

ISEB/ISTQB Foundation Certificate in Software Testing - Melbourne
May 19 (9:00 am) - May 21 (11:59 pm), 2008
Disqover - Improving Software Quality offers software and systems testers the opportunity to beco...

CeBIT
May 20 (8:00 am) - May 22 (11:59 pm), 2008
CeBIT Australia is Australasia's leading Information & Communications Technology (ICT) event for ...

Free Webinar:Open Source Data Migration with Talend Open Studio
May 20, 2008 (9:00 am - 10:00 am)
This one-hour Webinar will present: - The specific constraints of data migration, including: hi...

Open Source webinar, what a Department of Homeland Security Scan Reveals about Open Source
May 21, 2008 (10:00 am - 11:59 pm)
A SD Times Webinar Wednesday, May 21, 2008, 1:00p.m. EDT / 10:00 a.m. PDT Launched as a joi...

Open Source Webinar
May 21, 2008 (10:00 am - 11:59 pm)
Open Source Uncovered, what a Department of Homeland Security Scan Reveals about Open Source A S...

HP Quality Center Dashboard Public Training, Perth 22nd May 2008
May 22, 2008 (9:00 am - 11:59 pm)
This hands-on instructor-led course covers the features of the Quality Center 9.2 Dashboard. This...
New event listings
SolidWorks Innovation Day (Brisbane and Perth)
October 15, 2008 (All Day)
Hosted by Intercad, SolidWorks’ Innovation Days will give designers, engineers and manufacturers ...

LIXI Industry Forum 2008
September 10, 2008 (All Day)
Wednesday, 10 September 2008 The Westin Sydney The second annual major industry event for the...

Last Day to apply for Mid Year study at Swinburne University
August 1, 2008 (All Day)
Applications close for Swinburne University’s online postgraduate Technical Communication courses.

Energy Logic Symposium- Melbourne
July 8, 2008 (All Day)
Emerson Network Power, Dell, IBM and Cisco show you how to slash data centre energy use without c...

Energy Logic Symposium - Sydney
July 3, 2008 (All Day)
Emerson Network Power, Dell, IBM and Cisco show you how to slash data centre energy use without c...

Energy Logic Symposium
July 1, 2008 (All Day)
Emerson Network Power, Dell, IBM and Cisco show you how to slash data centre energy use without c...

View Full Calendar
Add New Event
Contact , Register , Advertise with iTWire , Links , About iTWire , Feedback , Post your jobs , Events , iTWire site map , Start Blogging , MyBlogLog page
Industry Releases , Submit your release now