Mar 30

     หลังจากปิดเทอมใหญ่มาได้ครึ่งเดือนกว่าแล้ว รู้สึกเบื่อปิดเทอมจังเลย มันเหงาแปลกๆ ยังไงไม่รู้เนอะ ผมก็ได้นั่งไล่เรียงเหตุการณ์ต่างๆ พอประมาณมาเล่าสู่กันฟัง ว่าไดทำอะไรไปมั่ง อยากรู้ละสิ แหะๆ

     พอกลับถึงบ้านได้สองสามวันเท่านั้น หนังวัยรุ่นที่หมู่เฮารอคอย “ปิดเทอมใหญ่ หัวใจว้าวุ่น” ก็เข้าโรง ไอ้คนอย่างผมมีหรือจะมีพลาด ชวนไอ้เจี๋ยกะไอ้จุ๊ไปดูซะวันแรกที่หนังเข้าเลย ที่ภูเก็ตคนเยอะไม่แพ้กรุงเทพฯ เหมือนกัน สำหรับเรื่องนี้ถ้าจะให้วิจารณ์แล้ว โครงเรื่องมันก็ไม่มีอะไรเลยนะผมว่า ตรงไปตรงมา เป็นเรื่องสั้นของรักวัยรุ่น 4 คู่ที่ไม่เกี่ยวข้องกัน แล้วเอามายำรวมกันใส่ผักชีเสียหน่อย แต่ถ้าคุณอยู่ในช่วง In Love ละก็ มันอาจจะโดนใจคุณมากๆ เลยทีเดียว เหมือนกับที่โดนใจผมเหมือนกัน 555+  สำหรับหนังเรื่องนี้ไม่ค่อยมีเสียงฮือฮามากเหมือนรักแห่งสยาม (หรือเพราะเราอยุ่ที่บ้านหว่า เลยไม่ได้ยินเขาฮือฮากัน อิอิ) ผมดูกระทู้ในเว็บ pantip.com ก็มีกระทู้พอสมควร ถ้าถามผมว่าคู่ไหนเจ๋งที่สุด ผมคงเลือกคู่ของน้องโฟกัสอ่ะครับ ผมว่าแสดงได้ดีนะ บทบาทต่างๆ สามารถสื่ออารมณ์ได้ดีครับ แต่ถ้าถามว่า คู่ไหนน่ารักที่สุด ก็คงไม่พ้นน้องแพทอ่ะครับ ยิ้มทีนี่ คนดูเคลิมกันทั้งโรงเลย (เว่อร์ไป) ส่วนว่านนี่ ผมชอบตอนฉากที่เปิดฝักบัวแล้วนอนร้องไห้ในห้องน้ำสุดๆ มันเศร้าจับใจจริงๆ เข้าใจอารมณ์เลยอ่ะ (น้องชายนิปมันว่า: กูรู้นะว่าเมิงเข้าใจไอ้ว่านดีมากๆ เลย .. ) ครับผมไอ้น้องเวร

pattie.jpg

     กลับมาที่บ้าน พ่ออยากให้ไปฝึกภาษาอังกฤษหนะครับ ที่ใช้ๆอยู่ทุกวันนี้ก็แค่ งูๆ ปลาๆ หมาๆ แมวๆ พูดจาภาษาใบ้ซะมากกว่า เลยว่าจะให้ไปเป็น trainnee ที่ร้านอาหารตอนกลางคืน ประมาณว่าต้อนรับลูกค้าอะไรประมาณนั้น แต่ผมบอกว่า ขอเลื่อนออกไปก่อน เพิ่งกลับมาถึงบ้านหนะ เลยอยากพักผ่อนซักหน่อย (แหะๆ จริงก็คือหาเรื่องไม่ไปซะงั้น) จริงก็อยากจะไปลองดูเหมือนกันครับ แต่ว่าผมขี้อายหนะ ให้ไปต้นรับลูกค้า ชวนลูกค้าคุยด้วยมันก็เขินๆ นั่นแหละ เอาเป็นว่า ผมขอหยุดเรื่องนี้ไว้ก่อน ขอปิดเทอมพักผ่อน หายใจเอาอากาศที่บ้านเข้าให้ทั่วปอดซะก่อน ค่อยว่ากันอีกทีว่าจะเอายังไงดี

     หลังจากนั้น ผมก็ประสบปัญหาไม่มีอะไรทำ ไม่รู้จะทำงานอะไรดี ก็แน่นอนหละครับ ปิดเทอมใหญ่นี่ มันก็ต้องว่างเป็นธรรมดา ผมคุยกะไอ้เต๋าเรื่องหนังที่มันเอามาให้ผมดู ที่มันเอามาหนะมีแต่หนังสารคดีทั้งนั้นเลย เป็นหนังแนวชีวิตอะไรทำนองนั้น ผมดูไม่เป็นกะเค้าหรอก หนังแนวๆนี้อ่ะ ที่เจอมาก็มีนายทิวสนกะนายเต๋านี่แหละมั้ง ผมวางแผนปิดเทอมนี้จะพัฒนา Robocode ต่อ หวังจะเอาเงินรางวัลใน SIIT Day เทอมหน้านี้ เราก็คุยกันเรื่องชื่อ Robot ตัวใหม่ คิดกันนานมาก ไม่รู้จะตั้งชื่ออะไรดี (รู้สึกว่าจะเสียเวลาตั้งชื่อนานกว่า coding เสียอีก) จนได้ชื่อ Seramo มาซะงั้น อิอิ ที่มาของชื่อนี้ก็อยุ่ใน Blog Post ที่แล้วเองครับผม ในที่สุด ผมก็มีอะไรทำแว้ว แหะๆ

     เช้าวันรุ่งขึ้น มีเสียงโทรศัพท์มาปลุกผมแต่เช้าตรู่ “น้องโดมป่าวค่ะ” “อ่า ใช่ครับ” “พี่จากวิชาการ.คอมนะคะ พอดีอาจารย์ . . . . ” ว่ากันไป บรา บรา บรา และแล้วผมก็นึกขึ้นได้ ปิดเทอมนี้ผมจะต้องทำงานที่ค้างกับวิชาการ.คอมให้เสร็จนี่ โอ้ววว มันมาแล้ว ตายละหว่า Robocode ที่คิดไว้เมื่อคืน นู๋ Seramo กินแห้วไปก่อนนะ มีเวลาว่างๆ หลังงานเสร็จจะทำ ที่พูดมานี่เหมือนว่างานมันหนักหนาสาหัส จริงๆ แล้วมันแค่กระจึ๋งเดียวเท่านั้นเอง ลุยข้ามวันข้ามคืนจริงๆแค่สองสามสัปดาห์คงจะเสร็จ แต่ไอ้ตัวขี้เกียจมันฝังอยู่ในร่างกาย กินยาถ่ายก็ไม่ยอมออกมาซะที งานนี้ก็อาจจะเสร็จช้าลง ผมไปหลอกล่อเอานายเต๋า (idiotao) ด้วยเงินจำนวนห้าพันบาท ให้มันตกปากรับคำช่วยผมทำงานนี้ให้เสร็จ ห้าๆ มันโดนหลอกเสียแล้ว พอตอนเย็น พี่อาร์ท (bact’) โทรมาชักชวนทำงานเหมือนกัน โอ้ว ช่วงนี้ทำไมเราฮอทอย่างนี้ งานมาพรวดๆ เลย ผมก็ได้แค่บอกไปว่า ”ถ้าปิดเทอมนี้คงจะได้ไม่แน่ๆ ถ้างานพี่เริ่มเปิดเทอมผมก็อาจจะ O.K. ”

     และแล้วเวลานี้ผลสอบก็ออกครับ มันออกมาแล้วจริงๆ แต่ผมรู้สึกเฉยชายังไงไม่รู้แฮะ ไม่อยากรับรู้เกรดที่มันออกมาเลย ไม่ว่ามันจะดีหรือไม่ดี เหมือนติดอยู่ในภวังอะไรซักอย่าง จิตใจว้าวุ่นไปหมด (สงสัยติดมาจากหนัง . .  อ๊ะ ล้อเล่น) สำหรับเกรดผมนะเหรอ ก็ไม่ได้หวือหวาอะไร เท่าๆเดิมหนะแหละครับ ไม่ได้ตกต่ำ หรือพุ่งกระฉูดเหมือนของคนอื่นเขา แบบว่า พอใจในสิ่งที่ตัวเองมีอยู่ แหะๆ สำหรับเรื่องเกรดนี้ ผมอยากพูดถึงนายนิป น้องชายสุดตีนของผม ตอนนี้มันติด probation ยังเหลือเทอมหน้าให้แก้ตัวเป็นเทอมสุดท้ายแล้ว ผมเอาใจช่วยสุดๆ ก็ร่วมทุกข์ร่วมสุขกันมา ไปไหนมาไหนด้วยกันตลอด ก็อยากให้มันจบพร้อมๆกัน มันลงเรียน Summer นี้สองตัว ผมพูดกะมันด้วยน้ำเสียงเล่นๆ ว่า “เมิงเอา A มาให้กุดูทั้งสองตัวดิ“  ไม่รู้ว่ามันคิดว่าผมพูดเล่นหรือป่าว ถ้าเมิงกำลังอ่านอยุ่ อยากให้รู้ว่ากุจริงจังมาก

     ผมก็เข้าใจดีว่าคนเรามันไม่เหมือนกัน ผมพยายามช่วยไอ้นิป ทั้งฉุดกระชากลากถูมันมาติวอยู่ทุกสัปดาห์ มันก็เรียนหน้าลืมหลัง ที่สำคัญมันหนะ มันมีปัญหาหัวใจเหมือนเป๊ะๆ กับใครบางคนแถวนี้ (เห้ย ใครวะ? ไหน? ไม่มี๊) ผมไม่ขอกล่าวถึงรายละเอียด เนื่องจากมันเป็นเรื่องส่วนตัวของมัน เพียงแต่มันปล่อยให้เรื่องความรักเข้ามาบังคับตัวมันมากเกินไป ผมก็พูดอะไรกับมันมากไม่ได้ เดี๋ยวมันก็จะเข้าตัวด้วย แหะๆ ก็เตือนกันไปเตือนกันมา ช่วงหลังๆ ผมไม่ได้ติวให้มันเลย เพราะผมก็รับศึกหนักของผมเหมือนกัน แต่ก็ดีแล้วที่มันไม่ติด F ตอนผมรู้เกรดมันล่วงหน้า (แอบไปใช้เส้นสายสืบมา) ผมโล่งใจไปเยอะเลย อยากให้มันตั้งใจจริงๆซะทีสำหรับเทอมหน้านี้ เพราะว่า “คนนั้น” ของมันไปไกลแล้ว และหวังว่ามันคงไม่มีคนใหม่มาให้ว้าวุ่นอีกหละ

     โอ้ว . . ทำไมผมพิมมาเยอะจัง ปิดเทอมผมมีเรื่องเยอะขนาดนี้เลยเหรอ ยังไม่จบ เมื่อไม่กี่วันมานี้เอง ผมไปกินโออิชิมา (คุณอาเลี้ยงหนะ)  ประมาณว่าเลี้ยงที่เกรดไม่ตก? ไม่หรอกครับ คุณอาชวนตั้งแต่กลับมาวันแรกๆ แล้วก็หาฤกษ์หายามจนได้วันดีหลังวันเกรดออกนี่เอง ห้าๆ  ก็เป็นครั้งแรกที่กินที่ภูเก็ตครับ ตอนราวๆหกโมงเย็น บังเอิญว่าทัวร์ญี่ปุ่นจองไว้เวลานี้พอดี คนเยอะเบียดเสียดยัดเยียดมาก อาหารหมดแล้วหมดอีก แต่สาวญี่ปุ่นที่มากะทัวร์นี่น่ารักจริงๆ ต้องเหลียวซ้ายแลขวาเวลาไปตักอาหาร ผมมารู้ทีหลังว่า ทัวร์ลงแบบนี้แทบทุกวันครับ จนเพื่อนหลายคนบอก “อิ่มโดยไม่ต้องตัก“, “อิจฉาเมิงเจงๆเลย” ผมบอก ก็มากินที่ภูเก็ตสิ แต่ว่าออกค่าเดินทางเอาเองนะคร้าบ ห้าๆ

     สัปดาห์ที่ผ่านมา หลายคนคงได้ยินเรื่องฉาวโฉ่ในวงการเว็บไทย (ถ้าผมไม่หยิบยกมาพูดเสียหน่อย เขาจะหาว่าเชย ล้อเล่นฮะ) คือเรื่องที่ทาง กระปุก.คอม เปิด subdomain ใช้ชื่อว่า xxx.kapook.com ขึ้น ก็มีหลายคนวิจารณ์กันมาก ที่ผมทราบก็มีสองประเด็นใหญ่ๆ คือเนื้อหาของเว็บเป็นแหล่งรวบรวมข่าวเชิงล่อแหลมเสียมาก (ไม่ได้มีเนื้อหา xxx อย่างที่หลายคนเข้าใจ) ซึ่งประเด็นนี้ผมรู้สึกเฉยๆ นะ มันขึ้นกับวิจารณญาณของผู้เข้าชมด้วย ส่วนอีกประเด็นนี่ที่เขาว่ากันนี่ ผมก็ไม่ค่อยชอบเหมือนกัน เรื่องที่มีการใช้ hidden text (เรียกกันว่าทำ SEO) โดยการสร้าง keyword ที่ไม่ถูกต้องให้แก่ crawler ของ search engine ผลที่เกิดขึ้นนี่ก็คือ กระปุก.คอม มียอดผู้เข้าชมสูงปรี๊ดในช่วงสัปดาห์นั้น (อันนี้มันจะชี้ว่า “คนไทยบ้ากาม” หรือป่าวหว่า?) นั่นคือกลยุทธิ์ SEO นี้ได้ผลรวดเร็วมาก แต่มันไม่ถูกต้องเอาเสียเลย จริงไหมครับ!

Onion_zad

  แสดด..  พอแล้ว.. เมิงจะเขียนยาวถึงไหน
  d0m3z ( ยังโม้มะจบเลยหงะ.. )

Mar 25

     เรื่องสั้น (มากๆ) ข้างล่างนี้เกิดจากผมไม่มีอะไรทำ แต่ในใจกลับว้าวุ่น ก็เลยแต่งอะไรสนุกๆ ขึ้นมาคลายเหงาแค่นั้นครับ ลองอ่านและวิจารณ์กันหน่อยนะครับ ทั้งสำนวนภาษาและบทเรื่อง

     มีเรื่องเล่ากล่าวขานกันว่า บนยอดเขาไกลลิบตาโน่น มียอดนินจานาม “Seramo” (อ่านว่า เซอระโมะ) ฝึกเคล็ดวิชาขั้นสุดยอด ว่ากันว่าใครก็ตามย่างกรายเข้าไปในเขตนั้น ถึงแม้จะมีวิชานินจาสูงส่งเพียงใด ก็ไม่เคยมีใครได้กลับออกมา บ้างก็ว่าเขากินคน ต่างๆ นานา  แต่เมื่อสองเดือนก่อน ชาวบ้านลือกันว่า เขาลงจากยอดเขาเพื่อไปประลองยุทธ์อยุ่สองสามวัน ไม่รู้ว่าผลแพ้ชนะเป็นอย่างไร เขากลับขึ้นยอดเขาเก็บตัวอย่างสงบ แต่ก็ยังไม่มีใครกล้าย่างกรายเข้าเขตยอดเขานั้น
     คืนหนึ่ง มีนินทาชุดดำแอบย่องขึ้นยอดเขา ท่าทางมีวิชานินจาสูงส่ง สามารถเคลื่อนไหวอย่างรวดเร็วและเงียบยิ่งนัก ไม่กี่อึดใจก็สามารถไปถึงยอดเขาที่พำนักของเซอระโมะได้ เขาแอบซ่อนตัวในม่าน จับตามองเซอระโมะอยุ่พักใหญ่ พินิจพิจารณาอย่างถี่ถ้วน และรวบรวมความกล้าก่อนจะเดินไปหาเซอระโมะ ซึ่งกำลังดื่มน้ำชาชมแสงจันทร์อย่างสบายใจ
          เซอระโมะ: ในที่สุดวันนี้ก็มาถึง ออกมาเถิด
          นินจาที่แอบซ่อนอยุ่นั้นตอบด้วยน้ำเสียงอ่อนหวานจับใจยิ่งนัก ท่านรู้ว่าข้าจะมา
          เซอระโมะ: แน่นอน ข้ารู้
          แท้ที่จริงแล้วเธอเป็นนินจาหญิง เธอถอดผ้าคลุมสีดำออก เหลือเพียงแต่ชุดสีส้มทองตัดกับสีดำของความมืด ดูสวยงามและมีความสง่ายิ่งนัก เซอระโมะยังคงจิบชานั่งมองจันทร์ ใบหน้าเหมือนจะอมยิ้มไว้ แต่สายตาเขาบ่งบอกถึงความหดหู่ใจยิ่งนัก
          เซอระโมะ: กลิ่นหอมของท่าน ข้ามิอาจลืมได้
          นินจาหญิง: ท่านคงจะรู้ด้วยว่า ทำไมข้าถึงเดินทางมาที่นี่
          เซอระโมะ: ท่านคิดว่าข้าจะใจอ่อนไม่กล้าฆ่าท่านอย่างนั้นรึ
     ทันที่ที่พูดจบ เขาปล่อยมือจากถ้วยน้ำชา ลุกขึ้นพร้อมหยิบดาบข้างกายภายในเสี้ยววินาที ก่อนจะถ้วยน้ำชาจะตกลงสู้พื้นเสียอีก
          นินจาหญิง: คืนนี้ ไม่ข้าก็ท่าน ใครคนหนึ่งจะต้องไป ข้าขอแลกชีวิตกับท่าน
     การต่อสู้เริ่มขึ้นอย่างดุเดือด แม้ในค่ำคืนที่มืดมิด ท่ามกลางแสงจันทร์ที่ลอดผ่านหน้าต่างเท่านั้น ทั้งคู่เคลื่อนไหวราวกับใช้ใจมองคู่ต่อสู้ ช่างเป็นฉากที่น่าตื่นเต้นนัก ฝีมือของนินจาหญิงใช่ว่าจะเป็นรองเซอระโมะเสียทีเดียว การฟาดดาบของเธอดูดุดันและเปี่ยมไปด้วยความแค้นใหญ่หลวงนัก ความแค้นที่ต้องสะสางกับเซอระโมะให้จบสิ้น ในคืนนี้
    เมื่อการต่อสู้ดำเนินถึงจุดหนึ่ง ดูเหมือนว่าเธอจะเสียเปรียบด้วยร่างกายที่บอบบางกว่า การต่อสู้ยืดเยื้อ นานเข้าย่อมทำให้เธอล้า และขาดสมาธิในการระวังระไว ทันใดนั้นเอง เธอเกิดพลาดพลั้ง เท้าเหยียบขอบพื้นจนเสียหลัก  เซอระโมะเห็นดังนั้นรีบโผเข้าหา แต่เธอพยายามพลิกตัวหนีให้รอดพ้น ใช้ดาบกระแทกไปข้างหน้าเพื่อป้องกันตัว เซอระโมะกอดเธอไว้และพลิกตัวเพื่อไม่ให้ตัวเธอกระแทกพื้น ดาบของนินจาหญิงกลับปักเข้ากลางหัวใจของเขาและกระแทกพื้นอย่างแรง
          เซอระโมะ: บัดนี้ข้าแพ้ท่านแล้ว ท่านคงยินดี
          เธอรีบสบัดตัวออกห่างอย่างไม่แยแส ในใจปิติยิ่งนักที่ได้ล้างความแค้นให้คนของเธอแล้ว
          เซอระโมะ: ถึงแม้เขาจะจากไปแล้ว ท่านก็ไม่มีใจให้ข้าแม้แต้น้อย ไม่เคยเลย อยากให้ท่านรู้ว่า ตลอดเวลาที่ผ่านมา ข้าไม่เคยเปลี่ยนใจจากท่านเลย ข้ารัก …
          ไม่ทันสิ้นคำเรียกชื่อเธอ เขาก็หมดลมหายใจไปเสียแล้ว ไม่รู้ว่านินจาหญิงผู้นั้น มีสักครั้งไหมที่เธอเคยเหลียวมองเซอระโมะบ้าง

     ชื่อ Seramo หลายคนอาจฟังขัดๆหู สงสัยว่าทำไมผมไม่หาชื่ออื่นที่ฟังดูเหมาะกว่านี้ คำนี้จริงๆแล้วผมตั้งใจย่อมาจากคำว่า “Servitium Amoris” เป็นภาษาละตินครับ แปลเป็นอังกฤษว่า “Slavery of Love“  จากเรื่อง ถึงแม้ว่าเขาจะมีฝีมือเก่งกาจแค่ไหน และเขาอาจจะชนะนินจายอดฝีมือมาแล้วกี่ร้อยคนก็ตาม ขอเพียงเป็นเธอเท่านั้น เขายอมแพ้ให้ตั้งแต่แรกเห็นเสียแล้ว

Onion_sure

Seramo
(n.) ผู้พ่ายแพ้ต่อความรัก, ผู้สยบต่อความรัก

Mar 18

What is fork()?
     fork() is a command available on Unix systems (e.g. Linux, OS X). It is used to create a child process with a copy of memory contents the calling process is using. In most demonstration, C/C++ is generally used and the library <unistd.h> is needed to be included. fork() return to the caller a value of type “pid_t” which contains the process ID of the newly created one.
     Consider the following code:

     int a = 6;
     pid_t pid;
     pid = fork();
     printf(”Hello world.”);

     At first, you have only one process executing (call it “parent process”). After it reaches the command fork(), another process (call it “child process”) is created and the entire memory spaces of its parent are copied. Now, you will have seen 2 processes executing; which have “a = 6″. The parent process gets as the return value from fork() the process ID of its child, but the child process gets 0 as the return value. And then, the two processes (parent and child) continue their execution until the end. Note that the child does not execute from the beginning of the program code.

What concerns process creation?
     When the operating system fork a child, there are many possibilities to do. One probably give advantages over another in some certain points of view, but give disadvantages in other points of view.
     Consider the following questions:
     - Should the child process execute concurrently with its parent? A programmer simply wants the child to do a particular job and return a desired value to the parent. This sounds reasonable to let the child complete its task and let the parent wait for the return value. However, another programmer might not want the parent to wait for. She probably wants the child process to help its parent executing some tasks. Think of your web browser. When you click a link to a new page, you would not like to stop the caller process. In fact, web browsers uses other techniques, like threads, rather than child process creation. I just give as an exmaple.
     - A newly created process might use the same physical address, needless to copy memory contents from its parent. This would save the transfer time but the executions of the child and the parent are dependent. For example, the value of integer ‘a’ used by the parent might be changed by its child, as a result, the parent execution result gets distorted. Nonetheless, the shared spaces can be used to implement process synchronization easier (not taking into account about critical sections).
     - Process management using child-and-parent system build up a large tree of processes. On Linux, the top most process (called the root) of the tree is “init”. When a process in the tree is killed, a few issues, again, arise. All the processes in the subtree shall be terminated if each of them is executing a job for its parent, its grand parent and so for that killed process. However, some processes in the subtree might not have any concerns with their parent. Recall that “init” is the root of all the processes on Linux, containing all the process in the system. If it is killed, the subtree should not be all terminated.

How does Linux handle process management?
     With the 3 aspects that have been introduced namely: concurrent execution, address space sharing, and process termination, the example code below will answer all the questions.

#include <unistd.h>
#include <ostream.h>

int main() {
    int a = 0;
    pid_t pid = fork();
    if(pid > 0){
        cout << “—– Parent Process —–” << endl;
        cout << “    child process id = ” << pid << endl;
        for(int i = 0; i < 6; i++)
            cout << “    a = ” << a++ << “, &a = ” << &a << endl;
        cout << “—– Waiting to be killed —–” << endl;
        while(1);
    } else {
        cout << “—– Child Process —–” << endl;
        for(int i = 0; i < 6; i++)
            cout << “    a = ” << a– << “, &a = ” << &a << endl;
        cout << “—– Waiting to be killed —–” << endl;
        while(1);
    }
    return 0;
}

     This program is intended, after forked, to have the parent keep counting from 0 to 5, and the child keep counting from - to -5. And then both parent and child get into infinite loops waiting for experimenter killing the parent manually.
     The output from executing this program is:

fork_1.png

     The output from killing the parent process is:

fork_2.png

What can be concluded? (Ananlysis)
     “a = -5, &a = 0xbf9da920″ is a remarkable line. This was printed out from the child process since it is a negative number from counting down. The child process first executed and paused, the parent then executed, and the child finally executed the rest. The result obviously indicates that Linux allow concurrent execution between parent and child process.
     Looking at “&a = 0xbf9da920″, both parent and child refered to the address of “a” at the same value. This would contradict the fact that the numbers counted by the parent and child were not interfered. If it had really been the same address, the counts would have some garbage. That is, the real address of “a” in the parent process and the child process must not be the same. The printed out addresses were just logical memory address given by the operating system. The conclusion is that they do not share the memory space. The “a” in the child has the same logical address as in its parent because it is an identical copy from its parent. The entire area is mapped identically.
     Terminating the parent process using the command “kill” gives an obvious result. The child does survive. Then, where would the child be attached? Any child process which has lost its parent will be attach to the top most node (i.e. “init” process) This probably causes a great trouble if too many of processes lose its parent.

*       “cout” is used instead of “printf” because of some technical problems.
**     this program code is runnable only on Unix systems.
       if you are using Windows “CreateProcess( … )” is used instead of fork().
***   equivalent commands for “ps” and “kill” on Windows are, “tasklist” and “taskkill“.

Onion_com

  idiotao: You have made such a great tragedy during the experiment.
  d0m3z: Ah .. Why?
  idiotao: Someone dies. Some children have lost their parents.

« Previous Entries