Operating System

หลังจาก 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

Hiring! บริษัทที่น่าสนใจ

Carmen Software company cover
Carmen Software
Hotel Financial Solutions
Next Innovation (Thailand) Co., Ltd. company cover
Next Innovation (Thailand) Co., Ltd.
We are web design with consulting & engineering services driven the future stronger and flexibility.
KKP Dime company cover
KKP Dime
KKP Dime บริษัทในเครือเกียรตินาคินภัทร
Kiatnakin Phatra Financial Group company cover
Kiatnakin Phatra Financial Group
Financial Service
Fastwork Technologies company cover
Fastwork Technologies
Fastwork.co เว็บไซต์ที่รวบรวม ฟรีแลนซ์ มืออาชีพจากหลากหลายสายงานไว้ในที่เดียวกัน
Thoughtworks Thailand company cover
Thoughtworks Thailand
Thoughtworks เป็นบริษัทที่ปรึกษาด้านเทคโนโยลีระดับโลกที่คว้า Great Place to Work 3 ปีซ้อน
Iron Software company cover
Iron Software
Iron Software is an American company providing a suite of .NET libraries by engineer for engineers.
CLEVERSE company cover
CLEVERSE
Cleverse is a Venture Builder. Our team builds several tech companies.
Nipa Cloud company cover
Nipa Cloud
#1 OpenStack cloud provider in Thailand with our own data center and software platform.
Bangmod Enterprise company cover
Bangmod Enterprise
The leader in Cloud Server and Hosting in Thailand.
CIMB THAI Bank company cover
CIMB THAI Bank
MOVING FORWARD WITH YOU - CIMB is the leading ASEAN Bank
Bangkok Bank company cover
Bangkok Bank
Bangkok Bank is one of Southeast Asia's largest regional banks, a market leader in business banking
MuvMi (Urban Mobility Tech Co.,Ltd.) company cover
MuvMi (Urban Mobility Tech Co.,Ltd.)
Shape the future of urban mobility towards affordable, clean, and safe solutions
T.N. Digital Solution Co., Ltd. company cover
T.N. Digital Solution Co., Ltd.
TNDS has been involving in every first move of banking’s major digital transformation.
KBTG - KASIKORN Business-Technology Group company cover
KBTG - KASIKORN Business-Technology Group
KBTG - "The Technology Company for Digital Business Innovation"
Siam Commercial Bank Public Company Limited company cover
Siam Commercial Bank Public Company Limited
"Let's start a brighter career future together"
Icon Framework co.,Ltd. company cover
Icon Framework co.,Ltd.
Global Standard Platform for Real Estate แพลตฟอร์มสำหรับธุรกิจอสังหาริมทรัพย์ครบวงจร มาตรฐานระดับโลก
REFINITIV company cover
REFINITIV
The Financial and Risk business of Thomson Reuters is now Refinitiv
H LAB company cover
H LAB
Re-engineering healthcare systems through intelligent platforms and system design.
The Gang Technology Co., Ltd. company cover
The Gang Technology Co., Ltd.
We're a Digital Agency that helps our customers transform their business into digital with ease.
LTMH company cover
LTMH
LTMH มุ่งเน้นการพัฒนาผลิตภัณฑ์ที่สามารถช่วยพันธมิตรของเราให้บรรลุเป้าหมาย
Seven Peaks company cover
Seven Peaks
We Drive Digital Transformation
Wisesight (Thailand) Co., Ltd. company cover
Wisesight (Thailand) Co., Ltd.
The Best Choice For Handling Social Media · High Expertise in Social Data · Most Advanced and Secure
MOLOG Tech company cover
MOLOG Tech
We are Modern Logistic Platform, Specialize in WMS, OMS and TMS.
Data Wow Co.,Ltd company cover
Data Wow Co.,Ltd
We enable our clients to realize increased productivity by solving their most complex issues by Data
LINE Company Thailand company cover
LINE Company Thailand
LINE, the world's hottest mobile messaging platform, offers free text and voice messaging + Call
LINE MAN Wongnai company cover
LINE MAN Wongnai
Join our journey to becoming No.1 food platform in Thailand

StatusQuo Wed, 02/10/2013 - 20:53

3 อาชีพ​นี้​มีสกิลย่อย​อะไร​ให้​อัพเกรด​บ้างครับ​

หลัง XP ก็ยังมีอยู่ (ส่วนตัวผมว่าเยอะกว่าเดิมด้วย) นั่นคือยุค Vista โดยเฉพาะ Driver การ์ดจอของ Nvidia นี่อย่างเน่า จะเปลี่ยน Driver กี่ตัวก็เน่า จนกระทั่ง SP2 มาถึงจะค่อยดีขึ้น แต่ ณ ตอนนั้น ทนไม่ไหวสุดๆ ต้อง Downgrade มาใช้ Windows Server 2003 แทน (ใช้งานแบบ Workstation)

ใครใช้การ์ดจอแยกกับ Vista ยุคแรกแล้ว Display ไม่ล่มนี่โครต Rare
(รู้สึกว่า Vista ยุคแรกตอนนั้นไม่มีฟีเจอร์ auto recovery แบบนี้ด้วย)

ใน Window 7 ของผมขึ้นอย่างนี้บ่อยมาก (ใช้ Nvidia เหมือนกัน) แต่ผมนึกว่าเกี่ยวกับการ์ดจอมันร้อนจน overheat ซะอีก เพราะเท่าที่สังเกตจะเกิดขึ้นเวลาที่มีการประมวลผลกราฟฟิกเยอะ ๆ เช่น ดูหนัง+เล่นเกม พร้อมกัน

เป็นเช่นกันครับ ผมคิดว่าเป็นปัญหาเกี่ยวกับ driver นะ เพราะ driver บางรุ่นไม่เป็นเลย แต่ Nvidia ออก driver รุ่นหลัง ๆ มานี้มีปัญหาเกือบหมด

sakuraba Wed, 02/10/2013 - 22:29

In reply to by hoolala

เช่นกันครับ เป็นบ่อยเหมือนกันครับ แต่มักจะเป็นตอนเล่นเน็ตด้วย firefox เล่นเกมไม่เป็นอะไร

ของผมเป็นกับ Windows 7 ใช้ AMD Radeon HD7790 ครับ บ่อยมากด้วย แต่อาจจะเกิดจากการที่ผมใช้ HD5770 มาก่อนแล้วเปลี่ยนการ์ดโดยที่ไม่ได้ติดตั้ง Windows ใหม่ด้วยล่ะมั้ง

ทุกวันนี้ใช้ Windows 8 กับ Catalyst 13.10beta ก็ไม่เจอนะ เจอแค่ Firefox ภาพเละบ้างบางที

ตัว Beta Driver ผมไม่ใช้ครับ (ตามคำแนะนำของเพื่อนใน ocz ฮะ) ณ ตอนนี้ใช้ 13.9 Final เสถียรดีครับบน Windows 8.1 การ์ดจอ Radeon HD5770 เก่าแล้วล่ะ

ส่วน 7790 นี่ เอ่อ... เห็นว่ามีปัญหาในหลายๆ คนที่เจอจนแถบต้องเคลมแล้วเคลมอีก แต่ก็ไม่ทุกคนครับ
เอาจริงๆ ในการอัพข้ามรุ่น ยังไงซะก็ควรถอน Driver เก่าออกก่อนครับ แล้วค่อยลง Driver ใหม่ ล้าง Driver เก่าให้เกลี้ยงๆ เลย (รวมไปถึงรุ่นใหม่ที่เพิ่งลง) เพื่อให้ Windows Detect hardware ใหม่ไปด้วยในตัว ;)

win7 ผมเคยจอฟ้า กับเครื่องเก่า เวลารันคลิปบน youtube ซึ่งมันจะเรียกใช้ gpu ช่วยประมวลผล ทั้ง ie firefox chrome
สงสัยต้องเป็นที gpu แน่ๆ เพราะมันรุ่นเก่า ( core2 + Radeon4670 driver 13.1) แต่ปิดฟังก์ชั่นนั้นไป ก็ไม่ค้างอีกเลย

ส่วนเครื่องใหม่ไม่มีปัญหา แผ่นwin7เดียวกัน

addib2010 Thu, 03/10/2013 - 12:02

In reply to by PaPaSEK

+1 ชอบอ่านบทความแนวนี้เหมือนกันครับ อธิบายเรื่องยากๆ ยุ่งๆ แล้วสรุปออกมาให้เข้าใจง่าย ได้กระชับดี

การเข้ามาของ WinSXS ในยุค post 98 SE ด้วยครับ(บน 98SE มีแต่ messenger ตัวเดียวหรือโปรแกรมอื่นๆไม่กี่ตัว)

อย่างไรก็ตาม มันก็เป็นสาเหตุที่ทำให้ระบบหนักขึ้นด้วย -0-

C:\Windows\WinSxS ลองเข้าไปดูเองเลยครับ ถ้า driver อย่าง ACPI, etc.. ไม่เกี่ยวกับ kernel ผมก็ไม่รู้จะว่ายังไงแล้วหล่ะครับ

หรือลอง grant owner แล้ว ลบไฟล์ในนั้นดูครับ พวก acpi,acpitime,audioendpoint,basicdisplay,basicrender,c_processor พวกนี้ ไหนๆ driver จริงๆมันก็อยู่ใน C:\Windows\system32 อยู่แล้ว ลบในนี้ก็คงไม่เป็นไรหรอกมั้งครับ

เป็นบทความที่ดีมากครับ

ผมเข้าใจว่า ปัญหาสองอย่างแรกไม่น่าจะเจอใน Linux/UNIX ครับ เรื่อง IO, API บน Linux/UNIX มันมอง I/O ทุกอย่าง รวมถึง network และ hardware เป็นไฟล์หมด เกิดมีอะไรเน่าขึ้นมา ผลก็คือ เหมือนไฟล์เน่าไปหนึ่งไฟล์ ไม่ส่งผลกับระบบโดยรวม

ส่วนเรื่องปัญหาหน่วยความจำมัน kernel มัน detect ให้อยู่แล้ว หากมีปัญหาอะไรขึ้นมามันก็จะขึ้น segmentation fault แล้ว process นั้นก็จะโดนฆ่าอัตโนมัติ ซึ่งส่งผลให้ driver เน่าได้ แต่ระบบโดยรวมยังอยู่

วรรคแรกไม่ใช่มั้งคับ - -' อันนั้นมันเป็น Kernel Object ที่สามารถใช้งานโดย User land ได้นะคับ

ส่วนวรรคสองนี่ Driver มันถูกโหลดเข้าไปใน Address space เดียวกับ Kernel นะคับ อธิบายง่ายๆก็คือมันเป็น Process เดียวกับ Kernel ถ้า Driver ตาย แล้ว Kernel ไม่สามารถรับมือได้ ระบบก็จะตาย

Driver ใน linux มันเป็น Kernel Module ถ้ามีอะไรพลาดจน memory protection ของ kernel อุดไม่อยู่ ก็จะเกิดอาการ "แกนกลาง ตื่นตระหนก" (Kernel Panic) ขึ้นมา แต่ก็มีบาง driver ที่เป็น User mode เช่น virtual filesystem บางตัว

อันนี้ไม่ได้คิดจะดราม่านะครับ แต่มีคนเคยถามว่า ทำไม Mac กับ Windows ความเสถียรถึงต่างกัน

ผมก็เคยอธิบายให้เพื่อนผมฟัง(ที่ชื่นชอบ Mac มาก ๆ) ว่า

Mac พัฒนาฮาร์ดแวร์และซอฟต์แวร์เอง ความเข้ากันได้ของระบบ จึงมีสูงมาก

ส่วน windows ต้องซัพพอร์ตให้ครอบจักรวาลเลยทีเดียว

ส่วนตัวผมสรุปว่า Microsoft โคตรเก่ง และ Windows ก็ไม่ได้ห่วย

จอฟ้า เคยเจอกับ Windows 7

  1. มาจาก Ram - เสีย - -* KingMax 4GB เน่า ทั้งๆ ที่เพิ่งซื้อไม่ถึงเดือน ฟ้าบรรลัย
  2. Driver Wireless Card - Engineus เหมือนไม่เสถียรพอบน Windows 7 ใช้ๆ อยู่ฟ้าแระ

เคยเจอคนมาด่าว่าผมเอาโปรแกรมแปะแล้วเขาไปลอง เขาบอกว่าไวรัสเลยทำให้จอฟ้า เขาก็จับหน้าจอที่ฟ้ามาแปะ
พอดูปั๊ปอ้าว ไอ้!! นี่ ไม่เช็คนี่หว่า Error จาก Driver การ์ดจอ ATi - -* เวรฮะ