PROXY  WHOIS  RQUOTE  TEXTS  SOFT  FOREX  BBOARD
 Music  Philosophy  Code  Literature  Russian

= ROOT|Technical|LinuxGazette|issue106.txt =

page 9 of 60



     that the right program gets invoked at the right time. You'll point mstmp
     to deliver to your end of the tunnel, of course.

     (!) [Thomas] So to cut the ramble down, it's YANM (Yet Another Null
     Mailer) :)

     (!)  [Rick]  One  of  my favourite places to shop is the Linuxmafia
     Knowledgebase. See: "Nullmailers" on [115]http://linuxmafia.com/kb/Mail
            ____________________________________________________

(!) Parent and Child

                   The birth and death of linux processes

   From tag 

                                  Answered By: Jim Dennis, Heather Stern 

     (!) [Heather] Jim handed me a rough sketch earlier this month, and I
     figured the resulting discussion would be worthy of our readers.

   Once again, I'm teaching a class on shell and Linux basics to a group and
   after many years of doing it I'm really getting tired of drawing the same
   old pictures on the whiteboard or flipsheets. 

   What we need is a nice drawing of this, something animated. Maybe you could
   whip something up in Flash, and tuck yet another feather in the webmastery
   cap? 

     (!) [Heather] Well, poking around for Flash on [116]Freshmeat.net finds a
     few zillion apps, (Ha, only 120. I've gotten worse from single keyword
     searches before.) Some have nothing to do with a certain media format at
     all... flash cards, flash RAM :)

     Now tossing out all the things that are apps written in Flash, libraries
     to make it work at all, and front-ends for the Flash viewer we have...
     ahhh... Generators won't do, I want this to have our images in it. Dancing
     text alone is worse than the old MARQUEE and BLINK tags. Oh, there we go.
     Some alpha quality sourceforge projects to convert various formats into
     flash.

     Package system search time. bzzzt Hmm, guess I'll have to fetch the
     sources and debug why they don't just './configure; make; make install' in
     my copious spare time.

     /me buys Wilbur the GIMP some coffee, munches on a few doughnuts, and
     jumps merrily back into the world of animated GIFs.

   (!) Ok. So here's what I envision, About 12 slides, on a roughly square
   picture, as follows. 

   1) initial process. A rectangle somewhat toward the mid-upper left, saying
   "process" 

     (!) [Heather] Well, if it's going to be a little mini movie, it needs a
     title, so let's start of with "The Process Model" and have the word
     "process" wander up there.

   (!) 2) system call. 

   The giant word fork() appears over the process. Transition: process memory
   map. 

     (!) System calls look nice in a monospace font so we'll have that pop out
     at the viewer, then fade out again as it highlights the edge of the
     process.

   (!) 3) fork results. 

   Show the child - a similar sized process - seperating from the parent and
   the two being labelled, parent and child. 

     (!) The copying process shows a thinner dark blue rectangle moving to its
     new location, then growing another process of the same size. Looks very
     spiffy.

   (!) 4) zoom! 

   Make the parent smaller and give the child most of the right hand side of
   the picture. 

     (!) Zooming's a little more work, but I can do that.

   (!) 5) details. 

   The parent just says "parent", the child shows a memory map breakdown. From
   bottom to top... environment, text (code), BSS, and sharing a space where
   each grows toward center - heap and stack. 

   6) system call. The giant word exec() floats up... 

     (!) I have a bit of fun with setting up the memory map, and this doodle
     you offered me has the exec() coming off the stack/heap area. I made it
     come out of the text (code) area and it looks better as well as not
     bumping into things.

   (!) 7) result point 1. 

   The process space is cleared entirely, except the environment. This is, of
   course, the space which bash' "export" command moves variables into so they
=9=

1|2|3|4|5|6|7|8| < PREV = PAGE 9 = NEXT > |10|11|12|13|14|15|16|17|18.60

UP TO ROOT | UP TO DIR | TO FIRST PAGE

Google
 


E-mail Facebook Google Digg del.icio.us BlinkList Fark Furl Ma.gnolia Netscape NewsVine Reddit Slashdot Spurl StumbleUpon Technorati YahooMyWeb LiveJournal Blogmarks TwitThis Live News2.ru BobrDobr.ru Memori.ru MoeMesto.ru

0.012795 wallclock secs ( 0.00 usr + 0.00 sys = 0.00 CPU)