อดีตวิศวกร Microsoft เผยเบื้องหลัง Windows 95 เดาว่าโปรแกรมไหนคือ "ตัวติดตั้ง" จากชื่อไฟล์ ก่อนซ่อมไฟล์ระบบอัตโนมัติ
Raymond Chen อดีตวิศวกรฝ่าย Windows ของ Microsoft ได้เปิดเผยรายละเอียดเพิ่มเติมเกี่ยวกับกลไกการป้องกันไฟล์ระบบของ Windows 95 ผ่านบล็อก The Old New Thing โดยระบุว่า ระบบในยุคนั้นไม่ได้รู้จริงว่าโปรแกรมใดเป็นตัวติดตั้ง (Installer) แต่ใช้วิธีง่าย ๆ คือ "เดา" จากชื่อไฟล์ที่กำลังรัน
แนวคิดดังกล่าวเกิดขึ้นเพื่อรับมือกับปัญหาโปรแกรมติดตั้งในยุค 90 ที่มักเขียนทับไฟล์ระบบด้วย DLL เวอร์ชันเก่า จนทำให้ Windows และแอปพลิเคชันจำนวนมากทำงานผิดปกติ
ตรวจจากคำในชื่อไฟล์ .EXE
Windows 95 จะตรวจสอบชื่อของไฟล์ปฏิบัติการ (.EXE) หากพบคำสำคัญ (Magic Words) ต่อไปนี้ ก็จะถือว่าเป็นโปรแกรมติดตั้ง
- setup
- install
- inst
- imposta (ภาษาอิตาลี)
- ayarla (ภาษาตุรกี)
- felrak (ภาษาฮังการี)
Chen ยังตั้งข้อสังเกตว่า การมีทั้งคำว่า install และ inst นั้นค่อนข้างซ้ำซ้อน เพราะคำว่า install มีคำว่า inst อยู่แล้ว โดยคาดว่า Microsoft เพิ่มคำว่า "inst" ภายหลัง เนื่องจากโปรแกรมติดตั้งจำนวนมากในยุคนั้นใช้ชื่ออย่าง abcinst.exe หรือ gameinst.exe แต่ลืมลบรายการ install ออก
ถ้าไม่เจอในชื่อไฟล์ ก็ตรวจชื่อโฟลเดอร์แทน
หากชื่อไฟล์ไม่ตรงกับคำสำคัญ Windows 95 จะตรวจสอบต่อว่า Path ของไฟล์ มีคำว่า Setup หรือไม่
ตัวอย่างเช่น
C:|Drivers|Setup|Audio|Driver.exe
แม้ชื่อไฟล์จะไม่มีคำว่า setup แต่ระบบก็ยังถือว่าเป็นโปรแกรมติดตั้ง และเตรียมตรวจสอบไฟล์ระบบเช่นเดียวกัน
ทำไมต้องรอรีสตาร์ตก่อนซ่อมไฟล์
อีกประเด็นที่น่าสนใจคือ Windows 95 ไม่ได้ตรวจสอบไฟล์ทันทีหลังติดตั้งเสร็จ
สาเหตุเป็นเพราะโปรแกรมติดตั้งหลายตัวในยุคนั้น ไม่สามารถเขียนทับไฟล์ระบบที่กำลังถูกใช้งานอยู่ได้ จึงใช้คำสั่ง ExitWindowsExec เพื่อปิด Windows กลับไปยัง MS-DOS จากนั้นรัน Batch File สำหรับแทนที่ไฟล์ระบบ ก่อนเปิด Windows ขึ้นมาใหม่
ด้วยเหตุนี้ Windows 95 จึงเลือกตรวจสอบไฟล์ระบบ หลังจากรีสตาร์ตเครื่องครั้งถัดไป เพื่อให้สามารถตรวจพบไฟล์ DLL ที่ถูกแทนที่ระหว่างกระบวนการบูตได้
ไดรเวอร์มัลติมีเดียถูกตรวจทันที
นอกจากการตรวจหลังรีบูตแล้ว Microsoft ยังเพิ่มข้อยกเว้นสำหรับการติดตั้งไดรเวอร์มัลติมีเดียผ่านไฟล์ INF
Raymond Chen ระบุว่า ทีมพัฒนาด้าน Multimedia พบว่าไดรเวอร์จำนวนมากมักเขียนทับ DLL ของ Windows ระหว่างการติดตั้ง จึงขอให้มีการตรวจสอบและกู้คืนไฟล์ระบบทันทีหลังติดตั้งเสร็จ เพื่อป้องกันปัญหาที่อาจเกิดขึ้น
จุดเริ่มต้นของระบบปกป้องไฟล์ Windows
แม้กลไกดังกล่าวจะดูเรียบง่ายเมื่อเทียบกับมาตรฐานในปัจจุบัน แต่ถือเป็นรากฐานสำคัญของระบบป้องกันไฟล์ใน Windows ที่ต่อมาได้รับการพัฒนาเป็น Windows File Protection (WFP) ใน Windows 2000 และต่อยอดจนกลายเป็นเครื่องมือ System File Checker (SFC) ที่ผู้ใช้ Windows รู้จักกันดีในปัจจุบัน
เรื่องราวนี้สะท้อนให้เห็นว่า ในยุคแรกของ Windows Microsoft ต้องใช้วิธีการที่สร้างสรรค์และเรียบง่ายในการรับมือกับปัญหาซอฟต์แวร์ของบุคคลที่สาม ก่อนที่ระบบรักษาความปลอดภัยและการจัดการไฟล์ระบบจะพัฒนาเป็นรูปแบบที่แข็งแกร่งอย่างในปัจจุบัน
ที่มา: HKEPC



