ในขณะที่ในทางทฤษฎีหนึ่งสามารถเขียน BIOS ในภาษาใด ๆ ที่ความเป็นจริงที่ทันสมัยเป็นBIOS มากที่สุดคือการเขียนโดยใช้สภา, C, หรือการรวมกันของทั้งสอง
ต้องเขียน BIOS ในภาษาที่สามารถคอมไพล์ไปยังรหัสเครื่องซึ่งเป็นที่เข้าใจกันโดยเครื่องฮาร์ดแวร์ทางกายภาพ สิ่งนี้จะกำจัดภาษาที่แปลโดยตรงหรือระดับกลาง (Perl, Python, PHP, Ruby, Java, C #, JavaScript, ฯลฯ ) ตามความเหมาะสมสำหรับการเขียน BIOS (แม้ว่าในทางทฤษฎีแล้วเราสามารถใช้ภาษาใดภาษาหนึ่งเหล่านี้เพื่อรวบรวมโดยตรงกับรหัสเครื่องแบบคงที่หรืออย่างใดอย่างหนึ่งสามารถฝังล่ามใน BIOS อย่างใดอย่างหนึ่งเช่นโครงการทอดทิ้งแวร์จีซีจีสำหรับ Java)
OEMs ส่วนใหญ่ใช้ไบออสโดยการขยายที่เป็นกรรมสิทธิ์ของการใช้งานทั่วไป BIOS โดย บริษัท เช่นอเมริกัน Megatrendsและฟีนิกซ์ Techologies (คุณอาจเคยเห็นหนึ่งใน บริษัท เหล่านั้นปรากฏบนหน้าจอบูตครั้งแรกของคอมพิวเตอร์ก่อนหน้านี้) ซอร์สโค้ดสำหรับการใช้งานเหล่านี้ไม่สามารถใช้งานได้แบบสาธารณะ แต่บาง บริษัท ก็รั่วไหลออกมา ฉันไม่ต้องการที่จะเชื่อมโยงโดยตรงกับ C และรหัสแหล่งประกอบ แต่มีสถานที่บนอินเทอร์เน็ตที่กล่าวถึงซอร์สโค้ดนี้สำหรับผู้ที่สนใจที่จะมอง
ผู้ผลิตฮาร์ดแวร์บางรายเช่นผู้ที่กำหนดเป้าหมายไปยังตลาดที่มีประสิทธิภาพสูงและเล่นเกมทำให้การใช้งานไบออสของพวกเขาอิ่มตัวด้วยคุณสมบัติการปรับแต่งสถิติและอินเทอร์เฟซผู้ใช้ที่น่าดึงดูดซึ่งออกแบบมาสำหรับการใช้งานที่แน่นอน คุณสมบัติเหล่านี้มากมายนอกเหนือจากที่เสนอในผลิตภัณฑ์ทั่วไปที่ผลิตโดย American Megatrends และอื่น ๆ น่าเสียดายที่ บริษัท เหล่านี้มักจะเห็นการเปิดเผยซอร์สโค้ดของตนว่าเป็นความเสี่ยงด้านความปลอดภัยดังนั้นจึงไม่ค่อยมีใครรู้จักเกี่ยวกับการใช้งานระดับสูงเหล่านี้เพราะมีการแบ่งปันกันเล็กน้อย แน่นอนว่าเราสามารถหาวิธีในการเข้าถึงและยกเลิกการรวบรวมการใช้งานไบออส แต่การทำเช่นนั้นอาจเป็นเรื่องยากและผิดกฎหมาย
จะกลับไปที่คำถามเดิมเพราะความจำเป็นในการผลิตเครื่องรหัสพื้นเมืองไบออสจะต้องถูกนำมาใช้ในการเขียนโปรแกรมภาษาที่สนับสนุนโดยคอมไพเลอร์รหัสเครื่องพื้นเมือง ในขณะที่มีภาษาดังกล่าวจำนวนมากและในขณะที่ฉันแน่ใจในช่วงไม่กี่ทศวรรษที่ผ่านมามีการใช้ภาษาหลายภาษาในการทดลองการใช้งาน BIOS แบบเปิดทุกครั้งที่ฉันสามารถค้นหาได้นั้นขึ้นอยู่กับการผสมผสานระหว่าง C และ / หรือชุดประกอบ การใช้งานไบออสแบบเปิดแหล่งที่มาที่ฉันมองไปที่สร้างข้อสรุปนี้ ได้แก่OpenBIOS , tinyBIOS , coreboot , Intel BIOSและLibreboot. ฉันยังดูที่การใช้ BIOS เก่า ๆ ที่ไม่เกี่ยวข้องในวันนี้ แต่ก็ทำตามกฎ C และ / หรือแอสเซมบลี
ฉันคิดว่ามันเกี่ยวข้องกับการดูซอฟต์แวร์อื่น ๆ ที่สร้างขึ้นเพื่อโต้ตอบโดยตรงกับฮาร์ดแวร์ ตัวอย่างเช่นเรารู้ว่าเคอร์เนล Linux , เคอร์เนลOS Xและเคอร์เนล Windowsส่วนใหญ่เป็น C ที่มีแอสเซมบลีบางส่วนและภาษาระดับสูงกว่าสำหรับงานเฉพาะ เรายังรู้ว่าไดรเวอร์ฮาร์ดแวร์บน Linuxและไดรเวอร์ฮาร์ดแวร์บน Windowsส่วนใหญ่เขียนด้วยภาษาซี
กลับไปที่ BIOS ฉันคิดว่ามันเป็นสิ่งสำคัญเช่นกันในการพิจารณาเศรษฐศาสตร์ของภาษาการเขียนโปรแกรมที่เลือก โดยทั่วไปไบออสเขียนเป็นสิ่งจำเป็นเพื่อเสริมการขายฮาร์ดแวร์ ระบบ BIOS สมัยใหม่เป็นที่รู้จักกันดีว่าส่วนใหญ่เขียนใน C และ / หรือชุดประกอบ การย้ายไปที่เครื่องมืออื่นจะเพิ่มต้นทุนที่สำคัญให้กับสิ่งที่โดยทั่วไปถือว่าเป็นสินค้าโภคภัณฑ์ซึ่งอาจส่งผลเสียต่อยอดขาย หากไม่เข้าสู่เศรษฐศาสตร์ 101 ฉันสามารถรับรองกับคุณได้ว่าอาจไม่คุ้มค่ากับ OEM ที่จะเบี่ยงเบนจากเครื่องมือที่พยายามและเป็นความจริงที่ได้รับการพิสูจน์มานานหลายทศวรรษ
แน่นอนมีและจะเป็นโครงการงานอดิเรกในการเขียนไบออสเช่นกัน สิ่งเหล่านี้ก็ดูเหมือนจะเลือก C และ / หรือการประกอบ บางทีวันหนึ่งเทคโนโลยีอื่น ๆ จะถูกนำมาใช้ แต่วันนี้ทางเลือกของมีความชัดเจน