Onlar aslında sadece bu - arayüzler. "Büyük" ve "küçük" sayılarla kodlanan çekirdeğe bir kanca sağlarlar.
İki çeşit lezzet gelir (üç, ama adlandırılmış borular şimdilik bu açıklamanın kapsamı dışındadır): Karakter Cihazları ve Blok Cihazları.
Blok Aygıtları, çıkış tamponlama ve daha sonra geri almak için veri saklama yeteneğine sahip depolama aygıtları olma eğilimindedir.
Karakter Aygıtları, ses veya grafik kartları veya klavye ve fare gibi giriş aygıtlarıdır.
Her durumda, çekirdek doğru sürücüyü yüklediğinde (önyükleme sırasında veya udev gibi programlar aracılığıyla ), bu sürücü tarafından kullanılan aygıtların gerçekte sistemde olup olmadığını görmek için çeşitli otobüsleri tarar. Eğer öyleyse, uygun ana / küçük numarayı 'dinleyen' bir cihaz kurar.
(Örneğin, sisteminiz tarafından bulunan ilk ses kartının Dijital Sinyal İşlemcisi 14/3 büyük / küçük sayı çiftini alır; ikincisi 14,35 vb. Alır.)
Başlıca 14 küçük 3 olarak işaretlenmiş bir karakter aygıtı olarak /dev
adlandırılan bir giriş oluşturmak için udev kalmış dsp
.
(Linux'un önemli ölçüde daha eski veya en az yer kaplayan sürümlerinde, /dev/
dinamik olarak yüklenmeyebilir, ancak tüm olası aygıt dosyalarını statik olarak içerebilir.)
Daha sonra, bir kullanıcı programı uygun büyük / küçük sayılarla (örneğin, özel ses dosyası göndermeye çalışan müzik çalarınız) 'karakter özel dosya' olarak işaretlenmiş bir dosyaya erişmeye çalıştığında /dev/dsp
, çekirdek bu verilerin gerekli olduğunu bilir. Büyük / az sayının eklendiği sürücü üzerinden iletilmelidir; Muhtemelen sürücü de onunla ne yapacağını biliyor.