หลังจาก Windows XP เป็นต้นมา เราแทบไม่เห็นอาการ "จอฟ้า" หรือ Blue Screen of the Dead อันเลื่องชื่อของวินโดวส์สักเท่าไรนัก (ส่วนใหญ่ที่เจอเกิดจากฮาร์ดแวร์มีปัญหาเสียมาก) เว็บไซต์ ZDNet มีบทความเล่าว่าไมโครซอฟท์แก้ปัญหานี้ได้อย่างไรครับ
Byron Cook หัวหน้านักวิจัยของ Microsoft Research ในเคมบริดจ์ อธิบายวิธีแก้ปัญหาของไมโครซอฟท์ว่าเริ่มจากการวิเคราะห์สถิติการแครชของระบบ ซึ่งไมโครซอฟท์พบว่า 85% มาจากปัญหาไดรเวอร์ที่ไม่ได้เขียนโดยไมโครซอฟท์ แต่พัฒนาโดยผู้ผลิตฮาร์ดแวร์จำนวนมาก (และไม่เปิดเผยโค้ด) โจทย์วิจัยของไมโครซอฟท์จึงกลายเป็นการสร้างระบบปฏิบัติการที่ทนทานต่อปัญหาไดรเวอร์
ไมโครซอฟท์วิเคราะห๋ต่อแล้วพบว่าปัญหาไดรเวอร์แยกได้เป็น 3 กลุ่มใหญ่ๆ
- เรียก API ของเคอร์เนลผิดพลาด เช่น บางครั้งเรียก API ของ IO ซ้ำสองที ทำให้ระบบแครช
- ปัญหาหน่วยความจำ เช่น จองหน่วยความจำไม่พอสำหรับที่ไดรเวอร์ต้องการจริงๆ
- ไดรเวอร์ติด infinite loop ทำให้เครื่องค้าง
ไมโครซอฟท์แก้ปัญหาเหล่านี้เป็นรายตัว โดยพัฒนาเครื่องมือมาช่วยวิเคราะห์ปัญหาไดรเวอร์แต่ละอย่างเป็นการเฉพาะ
- Slam เป็นเครื่องมือไว้แก้ปัญหาแรก มันจะตรวจสอบคุณภาพของไดรเวอร์ในการเรียก API
- Slayer แก้ปัญหาหน่วยความจำ โดยมันจะวิเคราะห์ data structure ที่ไดรเวอร์เรียกใช้ว่าเหมาะสมหรือไม่ หลังจากไมโครซอฟท์พัฒนาเครื่องมือนี้เสร็จ แล้วนำไปทดสอบกับเทมเพลตตัวอย่างไดรเวอร์ของไมโครซอฟท์ (ที่บริษัทฮาร์ดแวร์นำไปพัฒนาไดรเวอร์ต่อ) ก็พบว่าไดรเวอร์ไมโครซอฟท์มีปัญหาเสียเองด้วย เมื่อแก้ปัญหาของฝั่งไมโครซอฟท์แล้วก็พบว่าปัญหาเรื่องหน่วยความจำลดลงไปมาก
- Terminator แก้ปัญหา infinite loop เรื่องนี้ไมโครซอฟท์อธิบายว่าปัญหา infinite loop ตรวจสอบให้ครบทุกกรณีได้ยากมาก แต่โชคดีว่าไฟล์ของไดรเวอร์โดยทั่วไปแล้วขนาดไม่ใหญ่มากนัก จึงยังอยู่ในระดับที่พอตรวจสอบได้
การแก้ปัญหาที่ระดับแกนของระบบปฏิบัติการโดยใช้เครื่องมือหลายอย่างนี้ ช่วยให้วินโดวส์รุ่นต่อๆ มาอย่าง Windows 7 และ 8 เสถียรขึ้นมาก
ที่มา - ZDNet
on
win7 นี่ค้างน้อยมาก
tanapon000 Wed, 02/10/2013 - 20:50
win7 นี่ค้างน้อยมาก แม้โปรแกรมค้าง แต่ win7ก็ยังไม่ค้าง
3
StatusQuo Wed, 02/10/2013 - 20:53
3 อาชีพนี้มีสกิลย่อยอะไรให้อัพเกรดบ้างครับ
หลัง XP ก็ยังมีอยู่
Perl Wed, 02/10/2013 - 20:59
หลัง XP ก็ยังมีอยู่ (ส่วนตัวผมว่าเยอะกว่าเดิมด้วย) นั่นคือยุค Vista โดยเฉพาะ Driver การ์ดจอของ Nvidia นี่อย่างเน่า จะเปลี่ยน Driver กี่ตัวก็เน่า จนกระทั่ง SP2 มาถึงจะค่อยดีขึ้น แต่ ณ ตอนนั้น ทนไม่ไหวสุดๆ ต้อง Downgrade มาใช้ Windows Server 2003 แทน (ใช้งานแบบ Workstation)
ใครใช้การ์ดจอแยกกับ Vista ยุคแรกแล้ว Display ไม่ล่มนี่โครต Rare
(รู้สึกว่า Vista ยุคแรกตอนนั้นไม่มีฟีเจอร์ auto recovery แบบนี้ด้วย)
ใน Window 7
hoolala Wed, 02/10/2013 - 21:06
In reply to หลัง XP ก็ยังมีอยู่ by Perl
ใน Window 7 ของผมขึ้นอย่างนี้บ่อยมาก (ใช้ Nvidia เหมือนกัน) แต่ผมนึกว่าเกี่ยวกับการ์ดจอมันร้อนจน overheat ซะอีก เพราะเท่าที่สังเกตจะเกิดขึ้นเวลาที่มีการประมวลผลกราฟฟิกเยอะ ๆ เช่น ดูหนัง+เล่นเกม พร้อมกัน
เป็นเช่นกันครับ
Fasndee Wed, 02/10/2013 - 22:05
In reply to ใน Window 7 by hoolala
เป็นเช่นกันครับ ผมคิดว่าเป็นปัญหาเกี่ยวกับ driver นะ เพราะ driver บางรุ่นไม่เป็นเลย แต่ Nvidia ออก driver รุ่นหลัง ๆ มานี้มีปัญหาเกือบหมด
เช่นกันครับ
sakuraba Wed, 02/10/2013 - 22:29
In reply to ใน Window 7 by hoolala
เช่นกันครับ เป็นบ่อยเหมือนกันครับ แต่มักจะเป็นตอนเล่นเน็ตด้วย firefox เล่นเกมไม่เป็นอะไร
ขนาดใน Windows 7
Be1con Wed, 02/10/2013 - 21:19
In reply to หลัง XP ก็ยังมีอยู่ by Perl
ขนาดใน Windows 7 ที่โรงเรียนยัง Crash ด้านกราฟิกบ่อยเลยครับ Windows 8 ของผมยังเคยมีเลย
Driver ครับ ตั้งแต่ 7
Perl Wed, 02/10/2013 - 21:24
In reply to ขนาดใน Windows 7 by Be1con
Driver ครับ ตั้งแต่ 7 มาแทบไม่เจอแล้ว
ยิ่งบอกว่าโรงเรียนนี่ ผมยังแอบคิดในใจเลยว่าลง Driver ตั้งแต่ Chipset แล้วหรือยัง..
ของผมเป็นกับ Windows 7 ใช้
mr_tawan Thu, 03/10/2013 - 04:04
In reply to หลัง XP ก็ยังมีอยู่ by Perl
ของผมเป็นกับ Windows 7 ใช้ AMD Radeon HD7790 ครับ บ่อยมากด้วย แต่อาจจะเกิดจากการที่ผมใช้ HD5770 มาก่อนแล้วเปลี่ยนการ์ดโดยที่ไม่ได้ติดตั้ง Windows ใหม่ด้วยล่ะมั้ง
ทุกวันนี้ใช้ Windows 8 กับ Catalyst 13.10beta ก็ไม่เจอนะ เจอแค่ Firefox ภาพเละบ้างบางที
ตัว Beta Driver ผมไม่ใช้ครับ
textre Thu, 03/10/2013 - 12:36
In reply to ของผมเป็นกับ Windows 7 ใช้ by mr_tawan
ตัว Beta Driver ผมไม่ใช้ครับ (ตามคำแนะนำของเพื่อนใน ocz ฮะ) ณ ตอนนี้ใช้ 13.9 Final เสถียรดีครับบน Windows 8.1 การ์ดจอ Radeon HD5770 เก่าแล้วล่ะ
ส่วน 7790 นี่ เอ่อ... เห็นว่ามีปัญหาในหลายๆ คนที่เจอจนแถบต้องเคลมแล้วเคลมอีก แต่ก็ไม่ทุกคนครับ
เอาจริงๆ ในการอัพข้ามรุ่น ยังไงซะก็ควรถอน Driver เก่าออกก่อนครับ แล้วค่อยลง Driver ใหม่ ล้าง Driver เก่าให้เกลี้ยงๆ เลย (รวมไปถึงรุ่นใหม่ที่เพิ่งลง) เพื่อให้ Windows Detect hardware ใหม่ไปด้วยในตัว ;)
ผม ATI 5650 ไม่เคยเจอ
oatsmart Thu, 03/10/2013 - 07:59
In reply to หลัง XP ก็ยังมีอยู่ by Perl
ผม ATI 5650 ไม่เคยเจอ
ของผม HD6570 เจออยู่เรื่อย ๆ
mementototem Sat, 05/10/2013 - 19:59
In reply to หลัง XP ก็ยังมีอยู่ by Perl
ของผม HD6570 เจออยู่เรื่อย ๆ ครับ
win7 ผมเคยจอฟ้า
devilblaze Wed, 02/10/2013 - 21:01
win7 ผมเคยจอฟ้า กับเครื่องเก่า เวลารันคลิปบน youtube ซึ่งมันจะเรียกใช้ gpu ช่วยประมวลผล ทั้ง ie firefox chrome
สงสัยต้องเป็นที gpu แน่ๆ เพราะมันรุ่นเก่า ( core2 + Radeon4670 driver 13.1) แต่ปิดฟังก์ชั่นนั้นไป ก็ไม่ค้างอีกเลย
ส่วนเครื่องใหม่ไม่มีปัญหา แผ่นwin7เดียวกัน
ชอบมากครับ
PaPaSEK Wed, 02/10/2013 - 21:12
ชอบมากครับ บทความประเทืองปัญญาดี
+1
addib2010 Thu, 03/10/2013 - 12:02
In reply to ชอบมากครับ by PaPaSEK
+1 ชอบอ่านบทความแนวนี้เหมือนกันครับ อธิบายเรื่องยากๆ ยุ่งๆ แล้วสรุปออกมาให้เข้าใจง่าย ได้กระชับดี
ไมโครซอฟท์วิเคราะห๋ต่อแล้วพบว
panurat2000 Wed, 02/10/2013 - 21:21
วิเคราะห๋ => วิเคราะห์
การเข้ามาของ WinSXS ในยุค
McKay Wed, 02/10/2013 - 21:27
การเข้ามาของ WinSXS ในยุค post 98 SE ด้วยครับ(บน 98SE มีแต่ messenger ตัวเดียวหรือโปรแกรมอื่นๆไม่กี่ตัว)
อย่างไรก็ตาม มันก็เป็นสาเหตุที่ทำให้ระบบหนักขึ้นด้วย -0-
อันนั้นมัน User mode
UltimaWeapon Wed, 02/10/2013 - 23:56
In reply to การเข้ามาของ WinSXS ในยุค by McKay
อันนั้นมัน User mode ไม่ใช่เหรอคับ
User SxS start@XP, OS core
McKay Thu, 03/10/2013 - 01:09
In reply to อันนั้นมัน User mode by UltimaWeapon
User SxS start@XP, OS core DLL SxS start@Vista krub(hence the much bigger OS size of vista,7,8)
sry can't type in Thai, just finished installing Windows krub.
DLL พวกนั้นมันก็รันใน User
UltimaWeapon Thu, 03/10/2013 - 08:24
In reply to User SxS start@XP, OS core by McKay
DLL พวกนั้นมันก็รันใน User mode อยู่ดีนะคับ ไม่ได้รันใน Kernel mode ต่อให้เกิดอะไรขึ้นใน User mode ตัว Kernel ก็ไม่ตายอยู่ดี
C:\Windows\WinSxS
McKay Thu, 03/10/2013 - 12:10
In reply to DLL พวกนั้นมันก็รันใน User by UltimaWeapon
C:\Windows\WinSxS ลองเข้าไปดูเองเลยครับ ถ้า driver อย่าง ACPI, etc.. ไม่เกี่ยวกับ kernel ผมก็ไม่รู้จะว่ายังไงแล้วหล่ะครับ
หรือลอง grant owner แล้ว ลบไฟล์ในนั้นดูครับ พวก acpi,acpitime,audioendpoint,basicdisplay,basicrender,c_processor พวกนี้ ไหนๆ driver จริงๆมันก็อยู่ใน C:\Windows\system32 อยู่แล้ว ลบในนี้ก็คงไม่เป็นไรหรอกมั้งครับ
เป็นบทความที่ดีมากครับ ผมเข้า
bow_der_kleine Wed, 02/10/2013 - 21:40
เป็นบทความที่ดีมากครับ
ผมเข้าใจว่า ปัญหาสองอย่างแรกไม่น่าจะเจอใน Linux/UNIX ครับ เรื่อง IO, API บน Linux/UNIX มันมอง I/O ทุกอย่าง รวมถึง network และ hardware เป็นไฟล์หมด เกิดมีอะไรเน่าขึ้นมา ผลก็คือ เหมือนไฟล์เน่าไปหนึ่งไฟล์ ไม่ส่งผลกับระบบโดยรวม
ส่วนเรื่องปัญหาหน่วยความจำมัน kernel มัน detect ให้อยู่แล้ว หากมีปัญหาอะไรขึ้นมามันก็จะขึ้น segmentation fault แล้ว process นั้นก็จะโดนฆ่าอัตโนมัติ ซึ่งส่งผลให้ driver เน่าได้ แต่ระบบโดยรวมยังอยู่
วรรคแรกไม่ใช่มั้งคับ - -'
UltimaWeapon Wed, 02/10/2013 - 23:59
In reply to เป็นบทความที่ดีมากครับ ผมเข้า by bow_der_kleine
วรรคแรกไม่ใช่มั้งคับ - -' อันนั้นมันเป็น Kernel Object ที่สามารถใช้งานโดย User land ได้นะคับ
ส่วนวรรคสองนี่ Driver มันถูกโหลดเข้าไปใน Address space เดียวกับ Kernel นะคับ อธิบายง่ายๆก็คือมันเป็น Process เดียวกับ Kernel ถ้า Driver ตาย แล้ว Kernel ไม่สามารถรับมือได้ ระบบก็จะตาย
Driver ใน linux มันเป็น
stan Thu, 03/10/2013 - 09:16
In reply to เป็นบทความที่ดีมากครับ ผมเข้า by bow_der_kleine
Driver ใน linux มันเป็น Kernel Module ถ้ามีอะไรพลาดจน memory protection ของ kernel อุดไม่อยู่ ก็จะเกิดอาการ "แกนกลาง ตื่นตระหนก" (Kernel Panic) ขึ้นมา แต่ก็มีบาง driver ที่เป็น User mode เช่น virtual filesystem บางตัว
ยอมรับเลยว่า Windows 7
WarHammeR_TH Thu, 03/10/2013 - 10:42
ยอมรับเลยว่า Windows 7 ทำได้ดีมากจริง ๆ ตั้งแต่ใช้มา เคยจอฟ้าแค่ 2-3 ครั้งเท่านั้น
รุ่นใหม่ๆปัญหาน้อยจริงๆ
btoy Thu, 03/10/2013 - 10:58
รุ่นใหม่ๆปัญหาน้อยจริงๆ เจอจาก hw ซะส่วนใหญ่
อันนี้ไม่ได้คิดจะดราม่านะครับ
Aphorist Thu, 03/10/2013 - 12:14
อันนี้ไม่ได้คิดจะดราม่านะครับ แต่มีคนเคยถามว่า ทำไม Mac กับ Windows ความเสถียรถึงต่างกัน
ผมก็เคยอธิบายให้เพื่อนผมฟัง(ที่ชื่นชอบ Mac มาก ๆ) ว่า
Mac พัฒนาฮาร์ดแวร์และซอฟต์แวร์เอง ความเข้ากันได้ของระบบ จึงมีสูงมาก
ส่วน windows ต้องซัพพอร์ตให้ครอบจักรวาลเลยทีเดียว
ส่วนตัวผมสรุปว่า Microsoft โคตรเก่ง และ Windows ก็ไม่ได้ห่วย
จอฟ้า เคยเจอกับ Windows 7 1.
textre Thu, 03/10/2013 - 12:40
จอฟ้า เคยเจอกับ Windows 7
เคยเจอคนมาด่าว่าผมเอาโปรแกรมแปะแล้วเขาไปลอง เขาบอกว่าไวรัสเลยทำให้จอฟ้า เขาก็จับหน้าจอที่ฟ้ามาแปะ
พอดูปั๊ปอ้าว ไอ้!! นี่ ไม่เช็คนี่หว่า Error จาก Driver การ์ดจอ ATi - -* เวรฮะ