ค่าย Mozilla เริ่มเดินหน้าพัฒนา Firefox ให้แยกโพรเซสการทำงานของเบราว์เซอร์แบบเดียวกับ Chrome
โครงการนี้มีชื่อว่า Electrolysis ซึ่งเราเห็นความคืบหน้าของโครงการนี้ไปบ้างแล้วใน Firefox 3.6.4 ที่แยกโพรเซสของปลั๊กอินออกไป อย่างไรก็ตาม การแยกโพรเซสของแต่ละหน้าต่าง-แท็บยังไม่เกิดขึ้น
Chris Blizzard ผู้บริหารของ Mozilla ได้เขียนอธิบายเป้าหมายของโครงการแยกโพรเซสลงในบล็อก โดยแบ่งเป็นประเด็นต่างๆ ดังนี้
ด้านประสิทธิภาพ การแยกโพรเซสจะช่วยให้ garbage collector สำหรับคืนหน่วยความจำมีขนาดเล็กลง (แต่มีจำนวนมากขึ้น) ทำให้การตอบสนองของหน้าต่างเบราว์เซอร์ดีขึ้น แต่เราก็จะยังเห็นการหยุดทำงานของเบราว์เซอร์เป็นระยะๆ อยู่ดี ("ระยะ" ในที่นี้สั้นมากเป็นหลัก ms นะครับ) ทำให้นักพัฒนาของ Mozilla ต้องปรับแต่งประสิทธิภาพเพิ่มเติมกันอีก และกำหนดว่าการหยุดทำงานจะต้องไม่เกินครั้งละ 50 ms
ด้านการใช้ประโยชน์จากซีพียูแบบมัลติคอร์ ปกติแล้วเว็บเพจหนึ่งหน้าจะถูกประมวลผลโดยมองเป็น DOM หนึ่งชุด เมื่อเบราว์เซอร์แยกโพรเซสการทำงาน ก็จะสามารถกระจาย DOM แต่ละตัวไปยังซีพียูแต่ละคอร์ได้ ทำให้ใช้ประโยชน์จากซีพียูแบบมัลติคอร์ได้มากขึ้น
ย่อหน้าข้างต้นคือ "1 DOM = 1 โพรเซส = 1 เธร็ด" แต่ Mozilla ยังคิดไปไกลถึง "1 DOM = 1 โพรเซส = หลายเธร็ด" ซึ่งจะใช้ประโยชน์จากการประมวลผลแบบขนานได้ยิ่งขึ้นไปอีก แต่ยังเป็นอนาคตอีกไกล (รายละเอียดดูในโครงการ RUST)
ด้านการจัดการหน่วยความจำ ปัญหาที่เราเรียกกันว่า memory leak เป็นปัญหาอมตะของแอพพลิเคชันทุกตัวที่เขียนด้วย C/C++ และเปิดโพรเซสค้างไว้นานๆ เพราะหน่วยความจำที่จองเอาไว้จะกระจัดกระจายอยู่ตามตำแหน่งต่างๆ (memory fragmentation) และทำให้การทำงานของแอพพลิเคชันช้าลง
Mozilla บอกว่าจะต้องหากระบวนการจัดการหน่วยความจำที่ดีกว่านี้ ให้การจองหน่วยความจำสามารถพยากรณ์ได้มากขึ้น
ด้านการป้องกันการแครช เรื่องการแครชจะคล้ายๆ กับ Chrome คือการแยกโพรเซสมีประโยชน์มากในการป้องกันการแครชเป็นแท็บ และสามารถนำข้อมูลการแครชมาวิเคราะห์ได้แม่นยำมากขึ้น
ด้านความปลอดภัย การแยกโพรเซสจะช่วยให้จำกัดบางโพรเซสไม่ให้เข้าถึงทรัพยากรบนเครื่องได้ สิ่งที่ตามมาคือความปลอดภัยที่ดีขึ้น แต่สถาปัตยกรรมนี้ยังไม่สมบูรณ์นัก เพราะโพรเซสของตัวหน้าต่างยังเข้าถึงทรัพยากรได้มากกว่า ทาง Mozilla บอกว่าจะแก้ปัญหานี้ต่อไป
ที่มา - Chris Blizzard, CNET
หมายเหตุ: บล็อกต้นฉบับลงรายละเอียดเรื่องการทำงานของโพรเซสค่อนข้างดี ใครสนใจวิชาระบบปฏิบัติการ ควรตามไปอ่านกัน
on
กว่าจะมี
TeamKiller Tue, 19/07/2011 - 22:15
กว่าจะมี
การปรับของเก่าให้มีความสามารถ
put4558350 Tue, 19/07/2011 - 22:34
In reply to กว่าจะมี by TeamKiller
การปรับของเก่าให้มีความสามารถเหมือนของใหม่ ยากกว่า การเขียนของใหม่ให้มีความสามารถตามแผน นะ
ถ้าอัพเกรดเวอร์ชันแล้ว addons
NGFar Tue, 19/07/2011 - 22:17
ถ้าอัพเกรดเวอร์ชันแล้ว addons ยังใช้ได้ ผมจะรัก Firefox มากกว่าเดิมเยอะเลย
อาจจะได้เวลาโยนซิงเกิลคอร์ทิ้
jirayu Tue, 19/07/2011 - 22:32
อาจจะได้เวลาโยนซิงเกิลคอร์ทิ้งแล้วสินะ
จากประสบการณ์ พบว่าการแยกโพรเซสแบบ Chrome มันทำให้อืดนรกแตกบน Single core
มีใครเจอแบบผมมั่งมั๊ยครับ?
ดีแล้วล่ะ เปิด flash
paween_a Tue, 19/07/2011 - 22:41
ดีแล้วล่ะ เปิด flash แล้วบางทีเปลี่ยน tab แทบไม่ได้
ผมว่ามันน่าจะแยกได้ตั้งนานแล้
mytotoe Tue, 19/07/2011 - 22:46
ผมว่ามันน่าจะแยกได้ตั้งนานแล้วนะ บางทีไปเจอเว็บไหน Java Script เดี้ยง แท็บที่เปิดไว้ไปหมดเลย -*-
ผมนึกว่ามีมานานแล้วซะอีก =
Sabrekun Tue, 19/07/2011 - 22:49
ผมนึกว่ามีมานานแล้วซะอีก = _=) !
ถึงมาช้า ก็ดีใจครับ
mednoon Tue, 19/07/2011 - 23:26
ถึงมาช้า ก็ดีใจครับ
FireFox คุณนี่มาเอาแบบอย่าง
arms_made Tue, 19/07/2011 - 23:27
FireFox คุณนี่มาเอาแบบอย่าง Chrome!!!
ใช้ chrome สิครับ อะฮิๆๆๆๆ
AMp Tue, 19/07/2011 - 23:45
ใช้ chrome สิครับ อะฮิๆๆๆๆ
แยกแบบนี้ก็ดีนะครับ
chadowe Wed, 20/07/2011 - 00:09
แยกแบบนี้ก็ดีนะครับ บางแท๊ปจะได้ไม่ค้างตามหากมัน Error เจอประจำ
แสดงว่าผมจะไม่เห็นอาการเปิด
Perl Wed, 20/07/2011 - 00:16
แสดงว่าผมจะไม่เห็นอาการเปิด FF แล้วหยุดกึ๊กราว 10 วิ(ชึ้นไป)
เพื่อโหลดสารพัดปลั๊กอินและ history ในช่วงแรกแล้วใช่ไหม
อาการนี้ ผมก็เป็น
TeamKiller Wed, 20/07/2011 - 00:58
In reply to แสดงว่าผมจะไม่เห็นอาการเปิด by Perl
อาการนี้ ผมก็เป็น ทำให้หมดอารมณ์ ใช้ FF เลย เพราะผมจะกดรัวๆๆๆๆ ใส่แล้วมันก็ crash ไป
ผมก็เบื่อ แบบว่าไม่ตอบสนอง
LEVY Wed, 20/07/2011 - 08:24
In reply to อาการนี้ ผมก็เป็น by TeamKiller
ผมก็เบื่อ แบบว่าไม่ตอบสนอง
เป็นเหมือนกัน ไปเปิด Chrome
Fzo Wed, 20/07/2011 - 09:19
In reply to อาการนี้ ผมก็เป็น by TeamKiller
เป็นเหมือนกัน ไปเปิด Chrome แม่งู เลย
+64 นึกว่าผมเป็นคนเดียวซะอีก
Fzo Wed, 20/07/2011 - 09:17
In reply to แสดงว่าผมจะไม่เห็นอาการเปิด by Perl
+64 นึกว่าผมเป็นคนเดียวซะอีก
ie9 ก็มีน้า
parnunu Wed, 20/07/2011 - 00:21
ie9 ก็มีน้า
Electrolysis
Torio Wed, 20/07/2011 - 00:24
Electrolysis นึกถึงตอนเรียนเคมีตอน ม.สี่ เลย
ก็ดีครับ แล้วอย่างที่ยังไม่เห
jp Wed, 20/07/2011 - 02:27
ก็ดีครับ
แล้วอย่างที่ยังไม่เห็น Browser ตัวไหน Cache หน้าปัจจุบันโดยไม่โหลดหนัก คล้ายภาพนิ่ง(ขั้นต่ำ Scroll ไม่ได้คล้าย Tab Groups ถ้า Scroll เหมือนหน้าเว็บปกติได้ยิ่งดี)ก็ยังดีโดยมีสัญลักษณ์บ่งบอก(Indicator)ว่าเป็นหน้าเก่าก่อนบันทึก(แบบ Save and Quit ใน Firefox)ก่อนปิดโปรแกรม Application อย่างน้อยก็ถือว่าปิด Flash ที่ไม่จำเป็นได้ โดยที่ยังสามารถดูเนื้อหาได้(แต่ก็ควรเปิดช่องให้ Cache จริงคงเหลือบ้าง หรือปรับแต่ได้ เพราะบางอย่างเป็น Script ที่ต้อง Active เพื่อทำให้เว็บแสดงผลได้สมบูรณ์ และบางอย่างก็ไม่ได้กินทรัพยากรมาก) จะมีโอกาสได้เห็นไหมหน๋อ~
อยากลองใช้เร็วๆ
nextman13 Wed, 20/07/2011 - 07:27
อยากลองใช้เร็วๆ
ล่าสุดมันกินแรมไป 1.5 GB
orpheous Wed, 20/07/2011 - 11:22
ล่าสุดมันกินแรมไป 1.5 GB ทั้งที่เปิด 2 tab เท่านั้นเอง
ไม่รู้ทำไม...