Phần mềm chương trình phần mềm cứng trong các thuật ngữ Linux là gì?


14

Tôi đang bối rối khi sử dụng phần sụn trong bối cảnh của Linux.

Sự hiểu biết của tôi về phần sụn & trình điều khiển là phần sụn là mã chạy trên kim loại trần của thiết bị như IC Bluetooth, hoặc bộ điều khiển bàn phím hoặc thẻ video hoặc bộ điều khiển vi mô đơn mục đích. Phần sụn cho thấy một giao diện cho HĐH sử dụng các dịch vụ của nó.

Trình điều khiển, so sánh, là phần mềm mà kernel sử dụng để giao tiếp với các giao diện được đề cập trước đó được cung cấp bởi phần sụn. Do đó, trình điều khiển video, trình điều khiển bàn phím, trình điều khiển radio bluetooth.

Vậy tại sao tôi cứ đọc về các tập tin phần sụn Linux phải được cài đặt (ví dụ ở đây ). Làm những điều này có được tải lên vào phần cứng? Là những tập tin được sử dụng bởi kernel? Ý nghĩa của phần sụn trong bối cảnh này là gì?


1
Nói chung: Phần mềm là một chương trình. Phần cứng là một thiết bị vật lý. Phần sụn là một chương trình được tích hợp vào phần cứng; thông thường cho các mục đích định cấu hình cách thức hoạt động của phần cứng (vì vậy nó nằm giữa phần mềm và phần cứng, giống như 'công ty' nằm giữa 'mềm' và 'cứng' trên quy mô không giới hạn). Nói chung, phần sụn là hệ điều hành bất khả tri (ví dụ: cấu hình RAID trên bộ điều khiển RAID SCSI).
DopeGhoti

Chỉ cần thêm vào nhận xét của DopeGhoti, nhiều thiết bị hiện cho phép tải phần sụn trực tiếp làm cho chúng linh hoạt / phát triển hơn so với triển khai cố định.
Julie Pelletier

1
@DopeGhoti nó không chỉ cấu hình phần cứng, nó chạy trên phần cứng. Một số phần mềm thực sự rất phức tạp và về cơ bản chạy một hệ điều hành mini.
Stephen Kitt

Tôi đồng ý, mặc dù tôi sẽ khẳng định rằng "phần mềm được tích hợp vào phần cứng" ngụ ý rằng phần cứng là phần mềm đã nói. (:
DopeGhoti

Câu trả lời:


21

Trong ngữ cảnh nhân Linux, phần sụn là phần mềm chạy trên bộ xử lý khác trong hệ thống, ví dụ bộ điều khiển không dây, GPU, bộ điều khiển SCSI ... Phần mềm này từng được lưu trữ trong ROM (thuộc nhiều loại khác nhau) được gắn vào bộ điều khiển có liên quan , nhưng để giảm chi phí và làm cho việc nâng cấp đơn giản hơn, các bộ điều khiển giờ đây có xu hướng dựa vào hệ điều hành máy chủ để tải phần sụn cho chúng.

Vì vậy, các tập tin phần sụn không được sử dụng bởi kernel, chúng được kernel nạp vào các phần cứng khác. Đây cũng là điều khiến cho phần mềm không có mã nguồn trong các hệ thống FLOSS được chấp nhận một cách mơ hồ: lập luận rằng nó không chạy trên CPU chính mà trên một thiết bị khác.


1
Bạn đang rất nhân từ với việc sử dụng "mơ hồ chấp nhận được".
Rui F Ribeiro

2
Không phải ai cũng có thể là RMS.
DopeGhoti

Đó không chỉ là trong bối cảnh nhân Linux, đó là một định nghĩa khá chung về chương trình cơ sở dữ liệu, trong bối cảnh của một hệ thống đa bộ xử lý.
Gilles 'SO- ngừng trở nên xấu xa'

Vì vậy, / etc / lib / Firmware thực sự có chứa phần mềm và không phải trình điều khiển được tải bởi kernel khi khởi động? Nhưng bộ điều khiển không dây và card đồ họa có ROM riêng với phần sụn được nhà sản xuất ghi.
hoãn lại

3
@defalt có, /lib/firmware(số ít, không /etc) chứa phần sụn được sử dụng bởi các thiết bị khác. Nhiều thiết bị (bao gồm bộ điều khiển không dây và GPU) cần phần sụn được cung cấp bởi hệ thống máy chủ, mặc dù chúng có thể có ROM riêng (hoặc flash) chứa phần sụn.
Stephen Kitt
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.