Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> ซอฟต์แวร์ >> ซอฟต์แวร์

Firmware vs Software: ความแตกต่างสำคัญและคำอธิบาย

ทางเทคนิค Firmware เป็นเพียง Subset ของ Software เนื่องจาก Software ครอบคลุมทุกชิ้นของโค้ดที่มีประโยชน์ แต่ในทางปฏิบัติ คำว่า Software หมายถึงคลาสโปรแกรมที่ต่างกันมาก

โดยทั่วไป Firmware คือโค้ด Low-level ที่เชื่อมต่อกับ Hardware โดยตรง โปรแกรมที่ทำงานบน Layer นี้คือ Software หากสับสน ลองดูลึกขึ้น

ประเภทของ Software ที่หลากหลาย

ปัญหาของคำว่า Software คือกว้างเกินไป ชุดคำสั่งใดๆ ที่ควบคุมคอมพิวเตอร์ (หรืออุปกรณ์อิเล็กทรอนิกส์) ถือเป็น Software

สมัยแรกของคอมพิวเตอร์ไม่ใช่ปัญหา เพราะโปรแกรมทั้งหมดเขียนใน Assembly เชื่อมต่อ Hardware โดยตรง แต่วันนี้อุปกรณ์รันบน Layer ของโค้ดหลายชั้น ผู้ใช้สัมผัสเฉพาะโปรแกรมชั้นบนสุด

เรียกว่า Application Software ประเภทโปรแกรมที่ใช้งานง่าย รวมทุกแอปและ Utilities ที่ใช้บน PC เช่น Browser, Word Editor ด้านล่างคือ Operating System จัดการ Low-level details เช่น Rendering visuals จัดการ Input

คนส่วนใหญ่คิดว่าจบแค่นี้ แต่ OS ไม่ได้สื่อสารกับ Hardware โดยตรง ยังมี Layer อีกชั้นใต้ OS ให้ System software เข้าถึง Hardware functions ได้ง่าย และนั่นคือ Firmware

Firmware: ชั้นฐานของ Software

Firmware vs Software: ความแตกต่างสำคัญและคำอธิบาย

ในภาษา High-level การแสดงรูปภาพบนหน้าจอคือคำสั่งง่ายๆ แต่ที่ใดที่หนึ่งในคอมพิวเตอร์ มีโค้ดรับผิดชอบแปลงคำสั่งนั้นเป็น Processor instructions จริง

Firmware เป็นตัวเชื่อม Hardware และ Software ให้นักพัฒนาใช้ความสามารถของอุปกรณ์ผ่าน Programming interface ที่เรียบง่าย แทน CPU-specific instructions สำหรับคอมพิวเตอร์ Firmware นี้คือ BIOS ที่เข้าถึงได้แม้ไม่มี OS

ในอุปกรณ์อิเล็กทรอนิกส์ง่ายๆ เช่น Remote TV หรือ Router Firmware ทำหน้าที่เป็น OS ด้วย เครื่องเหล่านี้ไม่ได้ออกแบบให้ติดตั้ง Application software ภายนอกเหมือน PC จึงพึ่งพา Firmware ทำทุกงานที่จำเป็น

Firmware ติดตั้งบนอุปกรณ์อย่างไร?

Firmware vs Software: ความแตกต่างสำคัญและคำอธิบาย

ไม่มีอุปกรณ์อิเล็กทรอนิกส์ไหนใช้งานได้โดยไม่มี Firmware นี่คือเหตุผลที่ทุก Component มาพร้อม Firmware ติดตั้งจากโรงงาน

แม้บนคอมพิวเตอร์ โปรแกรมนี้เก็บอยู่บน Flash chip เฉพาะบน Motherboard ไม่ใช่ Hard drive ทำให้บูทได้และตั้งค่า Hardware โดยไม่ต้องมี OS

การอัปเดต Firmware ไม่ง่ายและไม่จำเป็นบนอุปกรณ์ส่วนใหญ่ เนื่องจากเป็นโค้ดควบคุมพื้นฐาน การทำผิดพลาดอาจทำให้ Hardware ไม่ใช้งานได้ คอมพิวเตอร์เป็นข้อยกเว้น อนุญาตให้อัปเกรด BIOS โดยการ Flash chip

Firmware vs Software: เปรียบเทียบแบบรวดเร็ว

FirmwareSoftware
คำอธิบายโค้ดจำเป็นควบคุม Hardware โดยตรงโปรแกรมเสริมใช้ Firmware ทำงานซับซ้อน
ที่เก็บChip เฉพาะบนอุปกรณ์Hard disk memory
ที่มาติดตั้งจากโรงงานติดตั้ง/ตั้งค่าโดยผู้ใช้ได้
Layerชั้นต่ำสุด รองรับ OS และ Software อื่นๆชั้นสูงกว่า พึ่งพา Firmware ด้านล่างสำหรับ Hardware abstraction
อุปกรณ์ง่ายมักเป็นโปรแกรมควบคุมเพียงตัวเดียวไม่ทำงานได้โดยไม่มี Firmware
Hardware Specificเฉพาะ Architecture ต่างกัน ไม่สามารถสลับได้Hardware independent OS ทำงานเหมือนกันบน Processor families ต่างๆ แอปมัก OS-specific
การอัปเดตนานมากหรือไม่มี ไม่สามารถ Uninstallอัปเกรดและลบได้ง่าย

Firmware แตกต่างจาก Software อย่างไร?

Hardware และ Software มักถูกเรียกว่า 2 ส่วนประกอบของอุปกรณ์อิเล็กทรอนิกส์ แต่ภาพไม่สมบูรณ์ OS และ Applications ไม่สามารถสื่อสารกับ Hardware โดยตรง ต้องมี Layer โค้ดเฉพาะทางซึ่งเป็น Firmware

Firmware ประกอบด้วย Architecture-specific instructions ควบคุม Hardware โดยตรง และในอุปกรณ์ง่าย ทำหน้าที่เป็น Basic OS ในอุปกรณ์อื่น Firmware ให้ Abstract interface แทน Software ทำให้ OS ใช้ Hardware ได้โดยไม่ต้องกังวล Architecture ด้านล่าง

เนื่องจากลักษณะจำเป็น Firmware มา Pre-loaded บน Flash chip บน Motherboard ไม่ขึ้นกับ Software ที่เขียนบน Disk อัปเดตได้เฉพาะกระบวนการเฉพาะ ("Flash") ไม่เหมือนการติดตั้ง Software packages ทั่วไป

อุปกรณ์อิเล็กทรอนิกส์และ Peripheral ทุกตัวมี Firmware ของตัวเอง กล้องดิจิตอล สมาร์ทโฟน SSD แม้ USB drives - หากมี Hardware ที่ต้องควบคุม จะมี Firmware จัดการอยู่