สำหรับ Windows 7 ที่ผ่านมาทางไมโครซอฟท์ประสพความสำเร็จในการออก OS ที่มีการบริหารหน่วยความจำได้ดีในระดับนึง แต่ก็ยังไม่ถึงจุดที่เรียกว่าดีที่สุดถึงจะทำงานได้ดีกว่า Windows XP ในเรื่องบริหารหน่วยความจำ มาถึง Windows 8 ไมโครซอฟท์ต้องปรับปรุงการใช้หน่วยความจำให้น้อยลงไปอีกเมื่อเทียบกับ Windows 7 เหตุผลเพราะไมโครซอฟท์มีนโยบายที่จะให้ Windows 8 รองรับหรือรันบนอุปกรณ์พกพาที่เป็น SOC (System on Chips เป็นชิปตระกูลใหม่ที่พัฒนาขึ้นตามวัตถุประสงค์ของการใช้งานโดยรวมคุณสมบัติทั้งหมด ไว้ในชิปเพียงตัวเดียวที่ผลิตขึ้นโดยใช้กับอุปกรณ์ เครื่องใช้ไฟฟ้า อีเล็กทรอนิกส์) ซึ่งทำให้อัตราการใช้หน่วยความจำหรือแรม (RAM) มีผลต่อพลังงานที่ใช้ (ใช้แรมเยอะก็กินพลังงานเยอะ) ดังนั้น ไมโครซอฟท์จำเป็นต้องออกแบบให้ Windows 8 ใช้แรมให้น้อยลง
ไมโครซอฟท์ได้ตั้งเป้าไว้ว่า Windows 8 จะต้องใช้สเปคขั้นต่ำเท่ากับ Windows 7 เพื่อประโยชน์สำหรับผู้ใช้งาน Windows 7 สามารถอัปเดทเครื่องเป็น Windows 8 ได้อย่างง่ายๆ โดยที่ประสิทธิภาพไม่ได้ลดน้อยลง นั้นก็หมายถึง Windows 8 ใช้ทรัพยากรหรือแรมน้อยลง
มาดูสิ่งที่ทางไมโครซอฟท์ปรับปรุงใน Windows 8
Memory combining
ตามปกติแล้ว โปรแกรมจะจองหน่วยความจำเผื่อใช้งานในอนาคต และเขียนค่าเริ่มต้นในหน่วยความจำ (initialize) ด้วยค่าที่เหมือนๆ กัน อย่างไรก็ตามโปรแกรมอาจไม่ได้ใช้พื้นที่หน่วยความจำที่จองเอาไว้ (อาจเป็นเพราะคาดเดาผิด ผู้ใช้ไม่ได้เรียกส่วนที่คาดว่าจะใช้) ทำให้หน่วยความจำเหล่านี้เสียเปล่า แถมในหลายกรณีมีหน่วยความจำที่จองไว้แต่ไม่ได้ใช้หลายชุดด้วย
ไมโครซอฟท์จึงใช้เทคนิคที่เรียกว่า memory combining คือรวมเอาหน่วยความจำที่จองไว้หลายชุด (แต่มีหน้าตาเหมือนกัน) ให้เหลือเพียงชุดเดียว ถ้าโปรแกรมต้องการใช้มากกว่าหนึ่งชุด วินโดวส์จะทำสำเนาหน่วยความจำให้เอง เทคนิคนี้ช่วยลดหน่วยความจำที่ต้องใช้ลงได้ประมาณ 10-100 MB ขึ้นกับการใช้งาน
ลดจำนวนเซอร์วิสบางตัวลง
หลักการนี้ตรงไปตรงมาครับ Windows 8 จะลดจำนวนเซอร์วิสที่ทำงานตอนเปิดวินโดวส์ลง13 ตัว และย้ายเซอร์วิสบางตัวให้ทำงานแบบ manual/on demand แทนของเดิมที่เป็น always run
สิ่งที่ปรับปรุงเพิ่มขึ้นคือตัวเรียกเซอร์วิสเหล่านี้ให้ทำงานเฉพาะยามจำเป็นเท่านั้น เมื่อเสร็จแล้วก็รออีกพักหนึ่งเช็คว่างานเรียบร้อยดี จึงค่อยปิดเซอร์วิสนั้นลง
ตัวอย่างเซอร์วิสเดิมที่ถูกเปลี่ยนให้ทำงานแบบ on demand ได้แก่ Plug and Play, Windows Update, User Mode Driver Framework เป็นต้น (อย่างไรก็ตาม ไมโครซอฟท์ก็เพิ่มเซอร์วิสใหม่บางตัวเข้ามาใน Windows 8 โดยมี 2 ตัวที่รันอัตโนมัติตั้งแต่เริ่ม)
รีดประสิทธิภาพของตัววินโดวส์เองให้ใช้แรมน้อยลง
หลักการนี้ก็ตรงไปตรงมาเช่นกันครับ ไมโครซอฟท์ตรวจสอบว่าตัววินโดวส์เองเรียกหน่วยความจำอย่างไรบ้าง และดูว่ามีอะไรเรียกไว้แต่ใช้ไม่คุ้มหรือเปล่า ถ้าเป็นอย่างนั้นก็เปลี่ยนมัน
ไมโครซอฟท์เล่าว่าเริ่มกระบวนการตรวจสอบส่วนต่างๆ ของวินโดวส์หลังจากออก Windows 7 ได้ไม่นาน เพราะโค้ดหลายส่วนมีอายุยาวนานมากตั้งแต่สมัย Windows NT ยุคแรกๆ สรุปว่าลดได้อีก “หลายสิบ” MB ในการใช้งานทั่วๆ ไป
เรียกเดสก์ท็อปให้ช้าลง
หน้าจอหลักของ Windows 8 คือโหมด Metro ไม่ใช่เดสก์ท็อปแบบเดิม ดังนั้นถ้ายังไม่จำเป็นต้องใช้ Windows 8 จะโหลดเฉพาะส่วน Metro เท่านั้น แล้วค่อยโหลดส่วนเดสก์ท็อปขึ้นมาถ้าถูกเรียกใช้ (ลดได้ 23 MB ถ้าไม่ได้โหลดเดสก์ท็อป)
จัดลำดับความสำคัญของหน่วยความจำให้ละเอียดกว่าเดิม
Windows 8 สามารถแยกแยะได้ (ละเอียดกว่าเดิม) ว่าหน่วยความจำส่วนไหนจำเป็นต้องใช้ หน่วยความจำส่วนไหนกำลังจะไม่ใช้งาน
ตัวอย่างเช่น หน่วยความจำที่ใช้ตรวจหาไวรัสในไฟล์ใดๆ มักเป็นหน่วยความจำที่ใช้เสร็จแล้วทิ้งได้เลย แต่ Windows 7 กลับมองว่ามันมีความสำคัญเท่ากับ Excel ที่รันค้างไว้ ทำให้ขั้นตอนการกำจัดหน่วยความจำของ Windows 7 มีโอกาสจะไปตัดหน่วยความจำของ Excel แทนได้ (ซึ่งผู้ใช้จะรู้สึกว่า Excel ช้าลง)
แต่กรณีของ Windows 8 จะมองหน่วยความจำของการตรวจหาไวรัสเป็น ‘low priority’ และสามารถกำจัดหน่วยความจำส่วนนี้โดยไม่กระทบกับโปรแกรมหลักที่รันอยู่
ความคิดเห็น
แสดงความคิดเห็น