ฟังก์ชั่นของ BIOS ในขณะที่ระบบปฏิบัติการกำลังทำงานอยู่?


78

ฉันสงสัยเสมอว่า BIOS (นอกเหนือจากการทำ POST เริ่ม bootloader และผ่านการควบคุมไปยังระบบปฏิบัติการหลังจากกดปุ่มเปิด / ปิด) มีวัตถุประสงค์หรือฟังก์ชั่นใด ๆ ในขณะที่ระบบปฏิบัติการกำลังทำงานอยู่หรือไม่

ระบบปฏิบัติการสื่อสารกับ BIOS ในขณะที่ทำงานหรือไม่และอย่างไร?


คำตอบ:


72

ด้วยระบบปฏิบัติการที่ทันสมัย, ไม่มีจริง Linus Torvalds รายงานว่าภารกิจของมันคือ "เพียงแค่โหลดระบบปฏิบัติการและกำจัดนรก"

ระบบปฏิบัติการรุ่นเก่าเช่น MS-DOS ใช้ BIOS สำหรับงานหลายอย่าง (เช่นการเข้าถึงดิสก์) โดยเรียกการขัดจังหวะ

ด้วยระบบปฏิบัติการที่ทันสมัย ​​bootloader จะเปลี่ยนเป็นโหมด 32 หรือ 64 บิตอย่างรวดเร็วและดำเนินการเคอร์เนลระบบปฏิบัติการ เคอร์เนลสามารถลงทะเบียนตัวจัดการขัดจังหวะของตัวเองซึ่งสามารถเรียกใช้โดยแอปพลิเคชันพื้นที่ผู้ใช้ รูทีนของเคอร์เนลสามารถพกพาได้มากขึ้น (เนื่องจากไม่ได้ขึ้นอยู่กับฮาร์ดแวร์เฉพาะ) มีความยืดหยุ่นมากขึ้น (ผู้ขายระบบปฏิบัติการสามารถเปลี่ยนแปลงได้ตามต้องการแทนที่จะต้องใช้อะไรก็ตามที่มาพร้อมกับฮาร์ดแวร์) มีความซับซ้อนมากขึ้น รหัสมากกว่าสิ่งที่ตั้งโปรแกรมไว้ใน BIOS) และมีความปลอดภัยมากขึ้น (เนื่องจากระบบปฏิบัติการสามารถควบคุมการเข้าถึงทรัพยากรที่ใช้ร่วมกันและป้องกันโปรแกรมจากการปิดกั้นซึ่งกันและกันโดยใช้รูปแบบการอนุญาตตามอำเภอใจของตนเอง)

ในการโต้ตอบกับฮาร์ดแวร์เฉพาะระบบปฏิบัติการสามารถโหลดและใช้ไดรเวอร์อุปกรณ์ของตัวเองได้ ดังนั้นไม่จำเป็นต้องใช้ระบบปฏิบัติการหรือแอพพลิเคชั่นในการเรียกรูทีน BIOS ส่วนใหญ่เลย ในความเป็นจริงด้วยเหตุผลด้านความปลอดภัยการขัดจังหวะ BIOS จะถูกปิดการใช้งาน เนื่องจากไบออสอาศัยอยู่ในโหมดจริง 16 บิตมันจึงยากที่จะเรียกหาระบบปฏิบัติการที่ทันสมัย

ในขณะที่การใช้ BIOS นั้น จำกัด มากในขณะที่ระบบปฏิบัติการทำงาน แต่ฟังก์ชั่นนั้นยังคงใช้งานได้อย่างต่อเนื่อง ตัวอย่างเช่นเมื่อคอมพิวเตอร์พักระบบปฏิบัติการจะไม่ทำงานและในที่สุดจะตกอยู่ที่เฟิร์มแวร์เพื่อตั้งค่าฮาร์ดแวร์ให้อยู่ในสถานะที่ถูกต้องเพื่อหยุดชั่วคราวและเริ่มระบบปฏิบัติการต่อ โดยทั่วไปการใช้งานเหล่านี้จะถูก จำกัด การโทรACPIแทนการโทรไปยังอินเตอร์เฟส BIOS แบบเต็ม ACPI เป็นส่วนขยายของ BIOS ที่"นำการจัดการพลังงานภายใต้การควบคุมของระบบปฏิบัติการ (OSPM) เมื่อเทียบกับระบบ BIOS กลางก่อนหน้านี้ซึ่งอาศัยในเฟิร์มแวเฉพาะแพลตฟอร์มเพื่อตรวจสอบการจัดการพลังงานและการกำหนดค่านโยบาย"

โปรดทราบว่า "BIOS" อย่างเป็นทางการหมายถึงส่วนต่อประสานเฟิร์มแวร์โดยเฉพาะ แต่คำนี้มักใช้เพื่ออ้างถึงเฟิร์มแวร์ของคอมพิวเตอร์โดยทั่วไป คอมพิวเตอร์ล่าสุดบางเครื่อง (โดยเฉพาะอย่างยิ่ง Apple) ได้เปลี่ยน BIOS (sensu เข้มงวดu) เป็นUEFIซึ่งแน่นอนว่าเป็นสิ่งที่เรียกว่าใช้ฟังก์ชันเหล่านี้

สำหรับข้อมูลเพิ่มเติมเกี่ยวกับวิธีบทบาทของไบออสได้ลดลงเมื่อเวลาผ่านไปดูวิกิพีเดีย


15
มีการโต้ตอบน้อยที่สุดผ่านนาฬิการะบบ (เวลาของวัน)
MSalters

7
คุณแน่ใจเกี่ยวกับสิ่งนี้จริงๆเหรอ? สิ่งที่เกี่ยวกับการควบคุมพัดลมโหมดการจัดการระบบที่กล่าวถึงแล้วทั้งหมด ACPI ซึ่งตัวอย่างเช่นควบคุมความเร็วโปรเซสเซอร์?
อเล็กซานเด

32
ฉันสามารถลองและปิดชิพ BIOS ในขณะที่เครื่องกำลังทำงานอยู่
JohnnyFromBF

5
@Ian ทำไมทำให้มันยากสำหรับตัวคุณเอง ค้นหาบอร์ดเก่าที่มีประวัติเป็นซ็อกเก็ตและดึงชิปออกมา IIRC อีกทางหนึ่งบอร์ดโอเวอร์คล็อกเกอร์ล่าสุดบางตัวยังคงมีสวิตช์ฮาร์ดแวร์เพื่อให้คุณสลับระหว่างไบออสสองตัวได้ เปิดแฟลชของภาพ B บูตเป็น A สลับเป็น B เมื่อทำงาน
Dan Neely

17
@ ฉันทำอย่างนั้นแล้ว ฉันสูญเสียพลังงานขณะกระพริบ BIOS แต่ก็ไม่ได้บูตหลังจากนั้น เรามีเครื่องจักร 20 เครื่องที่มีฮาร์ดแวร์เดียวกันแน่นอนและพวกมันแก่แล้ว .. ดังนั้นฉันก็บูทเครื่องหนึ่งเอาชิป BOIS ถอดปลั๊กที่เมาแล้วก็กะพริบ ชิป BOIS ทั้งสองทำงานได้ดีอย่างสมบูรณ์หลังจากนั้น ได้รับมันเป็น DOS ใช้สำหรับซอฟต์แวร์แฟลช ยังคงน่าประทับใจฉันคิดว่า (บอร์ดเป็นแบรนด์ Gigabyte, Pentium 4 เท่าที่ฉันจำได้)
Ekin Koc

32

BIOS ให้บริการจำนวนมากแก่ระบบปฏิบัติการซึ่งส่วนใหญ่เกี่ยวข้องกับการจัดการพลังงาน:

  • การปรับเปลี่ยน CPU และบัสนาฬิกา
  • การเปิด / ปิดการใช้งานอุปกรณ์เมนบอร์ด
  • พอร์ตการควบคุมพลังงานการขยายตัว
  • suspend-to-disk และ suspend-to-RAM
  • ตั้งค่าเหตุการณ์ต่อ

Suspend-to-disk ถูกนำไปใช้ในระบบปฏิบัติการส่วนใหญ่เนื่องจาก OS สามารถกู้คืนสถานะได้เร็วขึ้น (เฉพาะสถานะเคอร์เนลจะถูกโหลดใหม่และสถานะโปรแกรมจะถูกสลับเมื่อจำเป็นซึ่งเร็วกว่าการโหลดแรมทั้งหมดอย่างมีนัยสำคัญ) คุณลักษณะนี้ยังคงอยู่ในข้อกำหนด

ระบบปฏิบัติการ Suspend-to-RAM ไม่สามารถใช้งานได้เนื่องจากต้องอาศัย BIOS ที่ข้ามการกำหนดค่าเริ่มต้น RAM และการทดสอบดังนั้นระบบปฏิบัติการจำเป็นต้องมี API เพื่อบอก BIOS ว่าตั้งใจจะกลับมาทำงานกับเนื้อหา RAM ปัจจุบัน เพื่อให้บริการนี้ BIOS ขอให้ระบบปฏิบัติการปล่อยให้พื้นที่ RAM บางส่วนยังคงอยู่

อินเทอร์เฟซสำหรับระบบปฏิบัติการสำหรับบริการ BIOS ทั้งหมดเป็นชิ้นส่วนของรหัสเครื่องเสมือนที่จำเป็นต้องเรียกใช้บนอีมูเลเตอร์และซึ่งจะสร้างการดำเนินการ I / O ที่จำเป็นลงในฮาร์ดแวร์ สำหรับการหยุดชั่วคราวนี่เป็นการนำมาใช้โดยทั่วไปเพื่อให้การดำเนินการหนึ่งในการเขียนฮาร์ดแวร์จากนั้นจะก่อให้เกิดการขัดจังหวะซึ่งจะโอนการควบคุมไปยัง BIOS


17

มีสามส่วนหลักที่ระบบปฏิบัติการใช้ BIOS ในระบบที่ทันสมัยเช่นที่ใช้มาตรฐาน UEFI สิ่งแรกคือชุดของบริการที่รู้จักกันในชื่อ UEFI runtime services บริการเหล่านี้ช่วยให้ระบบปฏิบัติการสามารถดึงข้อมูลที่ BIOS รู้เท่านั้นเช่นเวลาที่ใช้ BIOS, ลำดับการบู๊ต, โปรไฟล์ความปลอดภัยของผู้ใช้ปัจจุบัน, ข้อมูลเกี่ยวกับเมนบอร์ด, DIMM เป็นต้น

อย่างที่สองคือโหมดการจัดการระบบซึ่งเป็นส่วนที่ซ่อนอยู่ของหน่วยความจำ (SMRAM) ที่เข้าถึงได้โดยการขัดจังหวะลำดับความสำคัญสูง (SMM) ไบออสจำนวนมากใช้สิ่งนี้เพื่อใช้คุณสมบัติ OEM ที่มีความปลอดภัยสูงหรือเพื่อใช้งานฮาร์ดแวร์ต่างๆ

ที่สามคือ ACPI ACPI ให้การกำหนดค่าการจัดการพลังงานและข้อมูลฮาร์ดแวร์และรหัสที่ใช้โดยระบบปฏิบัติการเพื่อเพิ่มสิ่งที่ไดรเวอร์ OS สามารถค้นหาโดยใช้มาตรฐานอุตสาหกรรมหรือไดรเวอร์อุปกรณ์ ตัวอย่างเช่นมีสัญญาณพิเศษในการควบคุมพลังงานของฮาร์ดไดรฟ์หรือมีวิธีพิเศษในการพูดคุยกับแบตเตอรี่ที่ไม่ได้ครอบคลุมโดยมาตรฐาน

ทิม


9

ระบบปฏิบัติการสมัยใหม่ใช้ BIOS เป็นหลักในการโหลดเท่านั้น แต่ยังคงมีการใช้งานบางอย่างซึ่งรวมถึง:

  • ทำปฏิกิริยากับปุ่มเพาเวอร์ (ปิดเครื่องคอมพิวเตอร์หลังจาก
    รวม4 วินาที)
  • การเปลี่ยนการตั้งค่าความสว่างหน้าจอบนแล็ปท็อป
  • เหตุการณ์แบตเตอรี่บนแล็ปท็อป
  • แขวน

ฉันคิดว่าความสว่างทำได้โดยการเปลี่ยนค่าสีก่อนวาด
โคลจอห์นสัน

3
@ColeJohnson: ไม่: บน Thinkpads อย่างน้อยมันก็เปลี่ยนความสว่างของแสงไฟ
หอยทากเชิงกล

1
ความสว่างเป็นสัญญาณมอดูเลตความกว้างของพัลส์ที่ควบคุมด้วยฮาร์ดแวร์การเปิดและปิด LED สีขาวสว่างที่ความถี่สูง แสงนี้เป็นหนึ่งในผู้ใช้แบตเตอรี่รายใหญ่

1

เหนือสิ่งอื่นใดที่ได้กล่าวไว้ข้างต้น Intel ก็เริ่มที่จะแกว่งไปทางอื่นและสร้างเพิ่มเติมโดยให้การเข้าถึงแบนด์วิดธ์ของฮาร์ดแวร์ผ่านทางActive Management Technology ที่ติดตั้งในไบออสและมาเธอร์บอร์ดซึ่งสามารถควบคุมได้โดยอิสระจากระบบปฏิบัติการ ด้วยบอร์ดเหล่านี้คุณสามารถทำได้ดีพอสมควร ไม่ว่าคุณจะพิจารณามัน inbuilt หรือระบบปฏิบัติการที่สองเป็นอีกสิ่งหนึ่ง แต่เนื่องจากมีฮาร์ดแวร์บนบอร์ดและส่วนประกอบในไบออสฉันก็ติดอยู่กับ inbuilt

แนวทางการตลาดของ Intels

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.