Phần mềm (software) và firmware là hai thuật ngữ đã trở nên quen thuộc với chúng ta hiện nay, dùng chung để chỉ những chương trình máy tính và điều khiển thiết bị điện tử. Tuy nhiên giữa chúng vẫn có điểm khác biệt, mặc dù khá mơ hồ và thường gây nhầm lẫn cho một số người, nhưng nhờ đó sẽ giúp chúng ta phân biệt rạch ròi đâu là software và đâu là firmware.
Firmware và software
Đầu tiên, cần phải hiểu rõ cả firmware và software đều là một tập hợp nhiều đoạn mã từ đơn giản đến phức tạp chạy trong các phần cứng bên trong hầu hết các thiết bị điện tử mà chúng ta vẫn đang sử dụng hằng ngày. Tuy nhiên, mục đích thiết kế, vị trí lưu trữ và mức độ dễ dàng cập nhật thay đổi sẽ quyết định chúng là firmware hay software.
Phần mềm (Software): Phần mềm thường là một chương trình hoàn chỉnh (gồm tập hợp nhiều các tập tin như file mã nguồn, file dữ liệu, các file hướng dẫn) hay một vài đoạn mã có mối liên hệ chặt chẽ với nhau, đảm bảo thực hiện một số nhiệm vụ, chức năng nhất định trên các thiết bị điện tử, được thiết kế với giao diện tương tác trực tiếp người dùng. Đó có thể là một ứng dụng bất kỳ trên smartphone, PC, laptop, tiện ích màn hình chính hay thậm chí là các nền tảng hệ điều hành mà chúng ta đang sử dụng. Các phần mềm thực hiện chức năng của nó bằng cách gửi các chỉ thị trực tiếp đến phần cứng, hay tập hợp và cung cấp dữ liệu để phục vụ các phần mềm khác.
Phần mềm thường được viết bằng những ngôn ngữ cấp cao như Java, C++, Visual Basic hay Objective-C/Cocoa với rất nhiều thư viện và chức năng phong phú được tích hợp sẵn để lập trình viên có thể dễ dàng phát triển.
Vị trí hoạt động của phần mềm thường ở CPU và các bộ xử lý chính khác, chúng sử dụng bộ nhớ RAM và ổ đĩa cứng để lưu và load dữ liệu. Điểm tiện lợi của phần mềm đó chính là chúng có thể được thay đổi mà không cần phải "động chạm" đến bất kỳ phần cứng nào của thiết bị, giúp việc cập nhật trở nên khá đơn giản.
Firmware: Một cách ngắn gọn nhất, firmware là những chương trình hoặc đoạn mã không nhằm tương tác trực tiếp với người dùng, mang tính cố định và điều khiển cấp thấp các thiết bị điện tử. Firmware được coi là "xương sống" đảm bảo cho các phần cứng riêng lẻ hoạt động và có thể được truy cập bằng các phần mềm cấp cao hơn. Nếu không có firmware, hầu hết các thiết bị điện tử chúng ta sử dụng hằng ngày hiện nay, từ bộ điều khiển từ xa, máy tính bỏ túi đến những chiếc PC cao cấp hay Smart TV…. đều sẽ không thể hoạt động.
Firmware thường sẽ được lưu trữ trong ROM, EPROM hay bộ nhớ flash, được cài đặt vĩnh viễn trên các thiết bị phần cứng sau khi xuất xưởng và ít khi hoặc không bao giờ thay đổi trong suốt cuộc đời của thiết bị đó. Tất nhiên việc cập nhật firmware trên một số phần cứng sẽ không phải là điều dễ dàng. Đối với các thiết bị như ổ đĩa cứng, điện tử tiêu dùng…nhà sản xuất thường không cho phép người dùng tự truy cập vào firmware bởi nếu không cẩn thận có thể xáo trộn phiên bản firmware của thiết bị, khiến chúng không hoạt động và có khả năng hư hại cao.
Đối với các thiết bị khác như điện thoại thông minh hay PC, laptop, nhà sản xuất lại khuyến khích cho chúng ta cập nhật firmware (hay BIOS) và thường tung ra các bản vá để sửa các lỗi không mong muốn trước đó hoặc cung cấp tính năng mới. Quá trình cài đặt sẽ tương đối dễ dàng, tuy nhiên cần phải cẩn thận bởi khả năng hư hại sau khi up nhầm firmware hay gặp sự cố vẫn ở tỷ lệ cao.
Firmware chủ yếu sẽ được viết bằng các ngôn ngữ cấp thấp như C, với ít thư viện hỗ trợ vì các đoạn mã đã được tùy biến cao cho các thiết bị riêng lẻ.
Firmware và software giúp smartphone hoạt động hiệu quả
Chiếc điện thoại thông minh mà bạn đang cầm trên tay có thể chơi game, lướt web, thực hiện các tác vụ một cách mượt mà – ngoài sự hoạt động hiệu quả của phần cứng – còn có hai "cánh tay đắc lực" hỗ trợ là firmware và software. Mặc dù bạn sẽ không bao giờ trực tiếp tương tác với firmware trong khi sử dụng, tuy nhiên chúng vẫn thực hiện một số chức năng quan trọng.
Firmware nằm trong modul camera sẽ đảm nhiệm việc thu thập hình ảnh và xử lý sớm trước khi chuyển dữ liệu sang ISP và các phần cứng khác. Tương tự, trên màn hình hiển thị sẽ được tích hợp một vi xử lý micro với firmware hoàn chỉnh có tác dụng xử lý chuỗi dữ liệu màu, độ sáng, gamma và một số cài đặt tùy chỉnh. Hay trên CPU, firmware dưới dạng nhân hệ điều hành mức thấp hỗ trợ ưu hóa các tác vụ, tốc độ xung nhịp và mức tiêu thụ năng lượng.
Phần mềm trên smartphone bao gồm hệ điều hành (Android, iOS) và toàn bộ các ứng dụng chạy trên đó. Vì vậy, tất cả các ứng dụng mà bạn đang sử dụng đều là phần mềm, như Facebook, Chrome, Gmail hay Play Store, App Store…
Và tất nhiên bạn sẽ thường xuyên tương tác trực tiếp, cập nhật, thêm và xóa phần mềm khỏi thiết bị của mình – trong khi firmware vẫn luôn "âm thầm" hoạt động vững chắc và hiệu quả.
Tags:
Technology