Tags:
Node Thumbnail

ค่าย 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

หมายเหตุ: บล็อกต้นฉบับลงรายละเอียดเรื่องการทำงานของโพรเซสค่อนข้างดี ใครสนใจวิชาระบบปฏิบัติการ ควรตามไปอ่านกัน

Get latest news from Blognone

Comments

By: TeamKiller
ContributoriPhone
on 19 July 2011 - 22:15 #312366
TeamKiller's picture

กว่าจะมี

By: put4558350
ContributorAndroidUbuntuWindows
on 19 July 2011 - 22:34 #312398 Reply to:312366
put4558350's picture

การปรับของเก่าให้มีความสามารถเหมือนของใหม่ ยากกว่า การเขียนของใหม่ให้มีความสามารถตามแผน นะ


samsung ใหญ่แค่ใหน ?
https://youtu.be/6Afpey7Eldo

By: NGFar
ContributorWindows PhoneAndroidWindows
on 19 July 2011 - 22:17 #312368
NGFar's picture

ถ้าอัพเกรดเวอร์ชันแล้ว addons ยังใช้ได้ ผมจะรัก Firefox มากกว่าเดิมเยอะเลย

By: jirayu
ContributorWindows PhoneBlackberrySymbian
on 19 July 2011 - 22:32 #312393

อาจจะได้เวลาโยนซิงเกิลคอร์ทิ้งแล้วสินะ

จากประสบการณ์ พบว่าการแยกโพรเซสแบบ Chrome มันทำให้อืดนรกแตกบน Single core

มีใครเจอแบบผมมั่งมั๊ยครับ?


By: paween_a
Android
on 19 July 2011 - 22:41 #312410
paween_a's picture

ดีแล้วล่ะ เปิด flash แล้วบางทีเปลี่ยน tab แทบไม่ได้

By: mytotoe
iPhoneWindows PhoneAndroidRed Hat
on 19 July 2011 - 22:46 #312414

ผมว่ามันน่าจะแยกได้ตั้งนานแล้วนะ บางทีไปเจอเว็บไหน Java Script เดี้ยง แท็บที่เปิดไว้ไปหมดเลย -*-

By: Sabrekun on 19 July 2011 - 22:49 #312419
Sabrekun's picture

ผมนึกว่ามีมานานแล้วซะอีก = _=) !

By: mednoon on 19 July 2011 - 23:26 #312460

ถึงมาช้า ก็ดีใจครับ

By: arms_made
SymbianWindows
on 19 July 2011 - 23:27 #312466
arms_made's picture

FireFox คุณนี่มาเอาแบบอย่าง Chrome!!!

By: AMp
In Love
on 19 July 2011 - 23:45 #312482

ใช้ chrome สิครับ อะฮิๆๆๆๆ

By: chadowe
iPhoneUbuntuWindows
on 20 July 2011 - 00:09 #312508

แยกแบบนี้ก็ดีนะครับ บางแท๊ปจะได้ไม่ค้างตามหากมัน Error เจอประจำ

By: Perl
ContributoriPhoneUbuntu
on 20 July 2011 - 00:16 #312512
Perl's picture

แสดงว่าผมจะไม่เห็นอาการเปิด FF แล้วหยุดกึ๊กราว 10 วิ(ชึ้นไป)

เพื่อโหลดสารพัดปลั๊กอินและ history ในช่วงแรกแล้วใช่ไหม

By: TeamKiller
ContributoriPhone
on 20 July 2011 - 00:58 #312559 Reply to:312512
TeamKiller's picture

อาการนี้ ผมก็เป็น ทำให้หมดอารมณ์ ใช้ FF เลย เพราะผมจะกดรัวๆๆๆๆ ใส่แล้วมันก็ crash ไป

By: LEVY
AndroidSymbianWindowsIn Love
on 20 July 2011 - 08:24 #312637 Reply to:312559
LEVY's picture

ผมก็เบื่อ แบบว่าไม่ตอบสนอง

By: Fzo
ContributorAndroid
on 20 July 2011 - 09:19 #312657 Reply to:312559
Fzo's picture

เป็นเหมือนกัน ไปเปิด Chrome แม่งู เลย


WE ARE THE 99%

By: Fzo
ContributorAndroid
on 20 July 2011 - 09:17 #312655 Reply to:312512
Fzo's picture

+64 นึกว่าผมเป็นคนเดียวซะอีก


WE ARE THE 99%

By: parnunu
iPhoneAndroidWindows
on 20 July 2011 - 00:21 #312521

ie9 ก็มีน้า

By: Torio
AndroidUbuntu
on 20 July 2011 - 00:24 #312526

Electrolysis นึกถึงตอนเรียนเคมีตอน ม.สี่ เลย

By: jp
iPhoneAndroidBlackberry
on 20 July 2011 - 02:27 #312578

ก็ดีครับ

แล้วอย่างที่ยังไม่เห็น Browser ตัวไหน Cache หน้าปัจจุบันโดยไม่โหลดหนัก คล้ายภาพนิ่ง(ขั้นต่ำ Scroll ไม่ได้คล้าย Tab Groups ถ้า Scroll เหมือนหน้าเว็บปกติได้ยิ่งดี)ก็ยังดีโดยมีสัญลักษณ์บ่งบอก(Indicator)ว่าเป็นหน้าเก่าก่อนบันทึก(แบบ Save and Quit ใน Firefox)ก่อนปิดโปรแกรม Application อย่างน้อยก็ถือว่าปิด Flash ที่ไม่จำเป็นได้ โดยที่ยังสามารถดูเนื้อหาได้(แต่ก็ควรเปิดช่องให้ Cache จริงคงเหลือบ้าง หรือปรับแต่ได้ เพราะบางอย่างเป็น Script ที่ต้อง Active เพื่อทำให้เว็บแสดงผลได้สมบูรณ์ และบางอย่างก็ไม่ได้กินทรัพยากรมาก) จะมีโอกาสได้เห็นไหมหน๋อ~

By: nextman13
AndroidBlackberryUbuntuWindows
on 20 July 2011 - 07:27 #312624

อยากลองใช้เร็วๆ

By: orpheous
AndroidWindowsIn Love
on 20 July 2011 - 11:22 #312721
orpheous's picture

ล่าสุดมันกินแรมไป 1.5 GB ทั้งที่เปิด 2 tab เท่านั้นเอง
ไม่รู้ทำไม...