Ini adalah pertanyaan tingkat rendah, dan saya mengerti bahwa itu mungkin bukan tempat terbaik untuk bertanya. Tapi, sepertinya lebih tepat daripada situs SE lainnya, jadi begini.
Saya tahu bahwa pada sistem file Linux, beberapa file benar - benar ada , misalnya: /usr/bin/bash
adalah salah satu yang ada. Namun, (sejauh yang saya mengerti), beberapa juga tidak benar-benar ada seperti itu dan lebih maya file, misalnya: /dev/sda
, /proc/cpuinfo
, dll Pertanyaan saya adalah (mereka adalah dua, tapi terlalu erat kaitannya dengan menjadi pertanyaan terpisah):
- Bagaimana cara kerja kernel Linux apakah file-file ini asli (dan karena itu membacanya dari disk) atau tidak ketika perintah baca (atau semacamnya) dikeluarkan?
- Jika file tidak nyata: sebagai contoh, membaca dari
/dev/random
akan mengembalikan data acak, dan membaca dari/dev/null
akan kembaliEOF
. Bagaimana cara kerjanya data apa yang harus dibaca dari file virtual ini (dan karenanya apa yang harus dilakukan ketika / jika data ditulis ke file virtual juga) - apakah ada semacam peta dengan pointer untuk memisahkan perintah baca / tulis yang sesuai untuk setiap file, atau bahkan untuk direktori virtual itu sendiri? Jadi, entri untuk/dev/null
hanya dapat mengembalikanEOF
.