proc
Hệ thống tập tin được cập nhật trên Linux thường xuyên như thế nào ? Có phải là 20 mili giây (lượng tử thời gian) không?
proc
Hệ thống tập tin được cập nhật trên Linux thường xuyên như thế nào ? Có phải là 20 mili giây (lượng tử thời gian) không?
Câu trả lời:
Thông tin mà bạn đọc từ hệ thống tập tin Proc không được lưu trữ trên bất kỳ phương tiện nào (thậm chí không có trong RAM), vì vậy không có gì để cập nhật.
Mục đích của hệ thống tập tin proc là cho phép các chương trình không gian người dùng để có được hoặc bộ kernel dữ liệu bằng cách sử dụng ngữ nghĩa đơn giản và hệ thống tập tin quen thuộc ( open
, close
, read
, write
, lseek
), mặc dù các dữ liệu được đọc hoặc viết không nằm trên phương tiện truyền thông nào. Quyết định thiết kế này được coi là tốt hơn (ví dụ như con người có thể đọc được và dễ dàng viết kịch bản) để lấy và thiết lập dữ liệu có định dạng không thể được chỉ định trước hơn là thực hiện một cái gì đó như OID được mã hóa ASN1, cũng sẽ hoạt động tốt.
Dữ liệu bạn nhìn thấy khi bạn đọc từ hệ thống tập tin Proc được tạo nhanh chóng khi bạn đọc từ đầu tập tin. Nghĩa là, việc đọc làm cho dữ liệu được tạo bởi hàm gọi lại kernel dành riêng cho tệp bạn đang đọc. Thực hiện lseek
bắt đầu tập tin và đọc lại gây ra một cuộc gọi khác đến cuộc gọi lại tạo ra dữ liệu một lần nữa. Tương tự, khi bạn ghi vào một tệp có thể ghi trong hệ thống tệp Proc, một hàm gọi lại được gọi để phân tích cú pháp đầu vào và đặt các biến nhân. Dữ liệu đầu vào ở dạng thô không được lưu trữ.
Trên đây chỉ là một cách nói dài dòng hơn một chút để nói những gì mà Hauke Laging nói rất ngắn gọn. Tôi đề nghị bạn chấp nhận câu trả lời của anh ấy.
Nó được cập nhật trên mọi truy cập. Bạn thấy trạng thái của kernel trong thời điểm đó. Đó là lý do tại sao kích thước hiển thị cho "tệp" không phải là kích thước thật. Kích thước thực có thể thay đổi và được xác định thời điểm bạn truy cập tệp.
Bạn có thể nói, nó có thể không được cập nhật trong nhiều ngày. Nếu bạn không nhìn vào nó. :-)
/proc/
trong tập tin fstab của mình ☹