ในทางเทคนิคแล้ว เฟิร์มแวร์เป็นเพียงส่วนย่อยของซอฟต์แวร์ เนื่องจากคำหลังประกอบด้วยโค้ดที่มีประโยชน์ทุกส่วน อย่างไรก็ตาม ในทางปฏิบัติ คำว่าซอฟต์แวร์หมายถึงโปรแกรมประเภทที่แตกต่างกันมาก
โดยทั่วไปแล้ว เฟิร์มแวร์คือชื่อของโค้ดระดับต่ำที่เชื่อมต่อกับฮาร์ดแวร์โดยตรง โปรแกรมใดๆ ที่ทำงานบนเลเยอร์นี้ประกอบด้วยซอฟต์แวร์ สับสน? มาดูเจาะลึกกัน
ซอฟต์แวร์หลายประเภท
ปัญหาของคำว่าซอฟต์แวร์คือมันกว้างเกินไป ชุดคำสั่งใดๆ ที่สามารถควบคุมคอมพิวเตอร์หรืออุปกรณ์อิเล็กทรอนิกส์อื่นๆ ได้ ถือเป็นซอฟต์แวร์
นี่ไม่ใช่ปัญหาในยุคแรกๆ ของการประมวลผล เมื่อโปรแกรมทั้งหมดเขียนด้วยแอสเซมบลีและเชื่อมต่อโดยตรงกับฮาร์ดแวร์เพื่อทำงานใดๆ แต่ทุกวันนี้ อุปกรณ์คอมพิวเตอร์ทำงานบนโค้ดหลายชั้น โดยผู้ใช้จะมองเห็นเฉพาะโปรแกรมที่อยู่ด้านบนสุดเท่านั้น
เรียกว่า ซอฟต์แวร์แอปพลิเคชันโปรแกรมที่เป็นมิตรกับผู้ใช้ประเภทนี้ประกอบด้วยแอปและยูทิลิตี้ทั้งหมดที่คุณใช้บนพีซีของคุณ เช่น เว็บเบราว์เซอร์หรือโปรแกรมแก้ไขคำ ด้านล่างนี้คือระบบปฏิบัติการซึ่งเกี่ยวข้องกับรายละเอียดระดับต่ำ เช่น การแสดงภาพไปยังหน้าจอและการจัดการอินพุต
คนส่วนใหญ่คิดว่ามันสิ้นสุดที่นี่ แต่ระบบปฏิบัติการไม่ค่อยสื่อสารกับฮาร์ดแวร์โดยตรง มีอีกชั้นหนึ่งอยู่ใต้ระบบปฏิบัติการที่ช่วยให้ซอฟต์แวร์ระบบสามารถเข้าถึงฟังก์ชันฮาร์ดแวร์ได้อย่างง่ายดาย และนั่นคือเฟิร์มแวร์
เฟิร์มแวร์: เลเยอร์พื้นฐานของซอฟต์แวร์
ในภาษาการเขียนโปรแกรมระดับสูงส่วนใหญ่ การทำสิ่งต่างๆ เช่น การแสดงภาพบนหน้าจอเป็นคำสั่งง่ายๆ ทว่าที่ใดที่หนึ่งในคอมพิวเตอร์ มีโค้ดชิ้นหนึ่งที่รับผิดชอบในการแปลคำสั่งนั้นให้เป็นคำสั่งของตัวประมวลผลจริง
เฟิร์มแวร์คือการเชื่อมโยงระหว่างฮาร์ดแวร์และซอฟต์แวร์ ช่วยให้นักพัฒนาสามารถใช้ความสามารถของอุปกรณ์ผ่านอินเทอร์เฟซการเขียนโปรแกรมที่เรียบง่าย แทนคำสั่งเฉพาะของ CPU สำหรับคอมพิวเตอร์ เฟิร์มแวร์นี้เป็น ระบบอินพุตเอาท์พุตพื้นฐาน (BIOS) ที่รู้จักกันดี ซึ่งสามารถเข้าถึงได้แม้ไม่มีระบบปฏิบัติการ
ในอุปกรณ์อิเล็กทรอนิกส์ทั่วไป เช่น รีโมตทีวีหรือเราเตอร์ เฟิร์มแวร์จะเพิ่มเป็นสองเท่าของระบบปฏิบัติการเช่นกัน เครื่องดังกล่าวไม่ได้มีไว้สำหรับการติดตั้งซอฟต์แวร์แอปพลิเคชันของบริษัทอื่น เช่น พีซี และต้องใช้เฟิร์มแวร์เพื่อทำงานที่จำเป็นทั้งหมด.
เฟิร์มแวร์ติดตั้งบนอุปกรณ์อย่างไร
ไม่มีอุปกรณ์อิเล็กทรอนิกส์ใดสามารถใช้งานได้หากไม่มีเฟิร์มแวร์ ด้วยเหตุนี้ส่วนประกอบอิเล็กทรอนิกส์ทั้งหมดจึงมาพร้อมกับเฟิร์มแวร์ที่ติดตั้งไว้ล่วงหน้าโดยผู้ผลิต
แม้แต่บนคอมพิวเตอร์ โปรแกรมนี้จะถูกจัดเก็บไว้ในชิปแฟลชพิเศษบนเมนบอร์ด ไม่ใช่ฮาร์ดไดรฟ์ ทำให้สามารถบูตเครื่องคอมพิวเตอร์และกำหนดการตั้งค่าฮาร์ดแวร์ได้โดยไม่ต้องติดตั้งระบบปฏิบัติการ
การอัปเดตเฟิร์มแวร์ไม่ใช่เรื่องง่ายและไม่จำเป็นในอุปกรณ์ส่วนใหญ่ เนื่องจากเป็นรหัสควบคุมพื้นฐานของเครื่อง การทำให้เครื่องเสียหายอาจทำให้ฮาร์ดแวร์ใช้งานไม่ได้ คอมพิวเตอร์ถือเป็นข้อยกเว้น โดยอนุญาตให้ผู้ใช้ การอัพเกรด BIOS ที่จะติดตั้ง โดยการแฟลชชิป
เฟิร์มแวร์กับซอฟต์แวร์: โดยสรุป
เฟิร์มแวร์ | ซอฟต์แวร์ |
โค้ดสำคัญที่ควบคุมส่วนประกอบฮาร์ดแวร์โดยตรง | โปรแกรมเสริมที่ใช้เฟิร์มแวร์เพื่อทำงานที่ซับซ้อน . |
จัดเก็บไว้ในชิปเฉพาะบนอุปกรณ์ | ติดตั้งอยู่ในหน่วยความจำฮาร์ดดิสก์ |
ติดตั้งไว้ล่วงหน้าโดยผู้ผลิต | สามารถติดตั้งและกำหนดค่าโดยผู้ใช้ |
เลเยอร์ต่ำสุดของโค้ดที่รองรับระบบปฏิบัติการและ ซอฟต์แวร์อื่นๆ | โค้ดระดับสูงกว่าที่อาศัยเฟิร์มแวร์ด้านล่างสำหรับการแยกฮาร์ดแวร์ |
บ่อยครั้งเป็นโปรแกรมควบคุมเพียงอย่างเดียวในอุปกรณ์อิเล็กทรอนิกส์ทั่วไป | ไม่สามารถทำงานได้หากไม่มีเฟิร์มแวร์ |
ฮาร์ดแวร์เฉพาะ เฟิร์มแวร์แตกต่างกันไปตามสถาปัตยกรรมโปรเซสเซอร์ที่แตกต่างกัน และไม่สามารถแลกเปลี่ยนกันได้ | ไม่ขึ้นกับฮาร์ดแวร์ ระบบปฏิบัติการทำงานเหมือนกันในตระกูลโปรเซสเซอร์ที่ต่างกัน แม้ว่าแอพพลิเคชั่นซอฟต์แวร์มักจะเป็นระบบปฏิบัติการเฉพาะ |
อัปเดตน้อยมาก (หากเลย) ไม่สามารถถอนการติดตั้งได้ | อัปเกรดและลบได้ง่าย |
เฟิร์มแวร์แตกต่างจากซอฟต์แวร์อย่างไร
ฮาร์ดแวร์และซอฟต์แวร์มักถูกเรียกว่าสององค์ประกอบของอุปกรณ์อิเล็กทรอนิกส์ แต่นั่นไม่ใช่ภาพรวมทั้งหมด ระบบปฏิบัติการและแอพพลิเคชั่นไม่สามารถสื่อสารกับฮาร์ดแวร์ได้โดยตรง โดยต้องใช้รหัสพิเศษหลายชั้นเพื่อลดช่องว่าง.
และองค์ประกอบการเชื่อมโยงนั้นคือเฟิร์มแวร์ ประกอบด้วยคำสั่งเฉพาะทางสถาปัตยกรรมที่ควบคุมฮาร์ดแวร์โดยตรง และในอุปกรณ์อิเล็กทรอนิกส์ธรรมดาก็ทำหน้าที่เป็นระบบปฏิบัติการพื้นฐานเช่นกัน ในเฟิร์มแวร์ของอุปกรณ์อื่นๆ จะมีอินเทอร์เฟซเชิงนามธรรมให้กับซอฟต์แวร์แทน ซึ่งช่วยให้ระบบปฏิบัติการใช้ฮาร์ดแวร์ได้โดยไม่ต้องสนใจสถาปัตยกรรมพื้นฐาน
เนื่องจากลักษณะสำคัญของเฟิร์มแวร์ เฟิร์มแวร์จึงถูกโหลดไว้ล่วงหน้าบนชิปแฟลชบนเมนบอร์ด โดยไม่ขึ้นอยู่กับซอฟต์แวร์ใดๆ ที่เขียนลงในดิสก์ มีค่าได้เพียง อัปเดต (เช่น “แฟลช”) ด้วยกระบวนการพิเศษ ซึ่งแตกต่างจากการติดตั้งแพ็คเกจซอฟต์แวร์อย่างง่าย
อุปกรณ์อิเล็กทรอนิกส์และส่วนประกอบต่อพ่วงทั้งหมดมาพร้อมกับเฟิร์มแวร์ของตัวเอง กล้องดิจิตอล สมาร์ทโฟน SSD และแม้แต่ไดรฟ์ USB หากมีฮาร์ดแวร์ที่ต้องควบคุม ก็จะมีเฟิร์มแวร์ในตัวเพื่อจัดการ
.