Bu oldukça düşük seviye bir sorudur ve sorulacak en iyi yer olmayabilir. Ancak, diğer tüm SE sitelerinden daha uygun görünüyordu, işte burada.
Linux dosya sisteminde bazı dosyaların gerçekten var olduğunu biliyorum, örneğin: /usr/bin/bash
var olanı. Ancak, (bildiğim kadarıyla anladığım kadarıyla), bazıları da aslında daha aynı şekilde varlığını meyen, fakat sanal dosyaları, örneğin: /dev/sda
, /proc/cpuinfo
vb Sorularım şunlardır (iki, ama çok yakından ayrı soru olmak ilişkin):
- Linux çekirdeği, bu dosyaların gerçek olup olmadığına (ve dolayısıyla bunları diskten okuyabildiğine) ya da bir okuma komutu (ya da böyle bir) verildiğinde nasıl işler?
- Dosya gerçek değilse: bir örnek olarak, bir okuma
/dev/random
rasgele veriyi döndürür ve bir okuma/dev/null
geri dönerEOF
. Bu sanal dosyadan hangi verilerin okunacağının (ve dolayısıyla sanal dosyaya yazılan verilerin ne zaman / eğer ne yapılacağının) nasıl işleyeceği - her dosya için uygun okuma / yazma komutlarını ayırmak için işaretçiler içeren bir tür harita var mı? hatta sanal dizinin kendisi için bile? Yani, bir giriş/dev/null
sadece bir döndürebilirEOF
.