Sau khi mount
được liệt kê một số hệ thống tập tin. Tôi cần biết những gì trong /dev
, /proc
và /sys
. Một số ví dụ sẽ là tuyệt vời!
Sau khi mount
được liệt kê một số hệ thống tập tin. Tôi cần biết những gì trong /dev
, /proc
và /sys
. Một số ví dụ sẽ là tuyệt vời!
Câu trả lời:
Các /dev
cây chứa các nút thiết bị , mang đến cho không gian người dùng truy cập vào các trình điều khiển thiết bị trong việc điều hành hệ điều hành loại kernel.¹ Tất cả POSIX của hệ điều hành của bạn có một /dev
cây.
Các /proc
cây có nguồn gốc từ hệ thống V Unix, nơi mà nó chỉ cung cấp thông tin về mỗi quá trình chạy, sử dụng một /proc/$PID/stuff
chương trình. Linux đã mở rộng rất nhiều điều đó , thêm tất cả các loại thông tin về trạng thái của kernel đang chạy. Ngoài các tệp thông tin chỉ đọc này, Linux /proc
còn có các tệp ảo có thể ghi có thể thay đổi trạng thái của kernel đang chạy. Các hệ điều hành loại BSD thường không có /proc
chút nào, vì vậy phần lớn những gì bạn tìm thấy ở đây là không thể mang theo được.
Giải pháp dự định cho mớ hỗn độn này trong Linux /proc
là /sys
. Lý tưởng nhất là tất cả các thông tin không được xử lý được đưa vào /proc
cây nên đã được chuyển đến /sys
bây giờ, nhưng quán tính lịch sử đã giữ rất nhiều thứ /proc
. Thông thường có hai cách để thực hiện một sự thay đổi trong kernel chạy: cũ /proc
cách, giữ cho khả năng tương thích ngược, và mới /sys
cách mà bạn đang phải được sử dụng now.²
Chú thích:
Ngoài ra còn có một số /dev
mục mà không tương ứng với các thiết bị phần cứng, chẳng hạn như /dev/null
, /dev/random
, và /dev/tty
. Đây là những thiết bị ảo cho phép các chương trình không gian người dùng nói chuyện với các phần khác của kernel bên cạnh các trình điều khiển đang chạy theo kiểu giống như thiết bị.
Như một quy luật, /sys
có xu hướng được tổ chức chặt chẽ hơn /proc
, vì /sys
phản ánh các cấu trúc dữ liệu nhân bên trong quản lý tài nguyên của hệ thống, trong khi /proc
đã phát triển hữu cơ trong nhiều năm và các quyết định thiết kế nghi vấn cũ không thể thay đổi ngay bây giờ vì có các chương trình sử dụng các giao diện cũ đó . /sys
bắt đầu với một thiết kế rõ ràng hơn và không phải kéo theo nhiều hành lý lịch sử như /proc
.