13 Aralık 2014 Cumartesi

Devpts

Devpts Nedir?
Devpts esasen bir dosya sistemi. Pseudo terminal açmaya yarıyor. Pseudo terminal kısaca bizim bildiğimiz text terminali. Text terminali olarak kullanılabilecek bir sürü program var. xterm, telnet, ssh vs. gibi. Her biri ile bir pseudo terminal açmak mümkün.

Kendi terminalimizin kullandı dosyaları görmek için aşağıdaki gibi yapılabilir.
$ ls /proc/$$/fd -l
total 0
lrwx------ 1 muru muru 64 Dec 10 16:15 0 -> /dev/pts/3
lrwx------ 1 muru muru 64 Dec 10 16:15 1 -> /dev/pts/3
lrwx------ 1 muru muru 64 Dec 10 16:15 2 -> /dev/pts/3
lrwx------ 1 muru muru 64 Dec 10 16:15 255 -> /dev/pts/3

Bu dosya sistemine gönderilen çıktı "terminal emulator" tarafından ekran gönderilir.

Shell ve PTS
Shell çalışınca otomatik olarak pts ile ilişkilendirilir. Shell'in çalıştırdığı her uygulama da yukarıdaki pts'i kullanır.

pts'ler Arası İletişim
Pseudo terminaller arasında veri iletişimi de mümkün. Burada dikkat edilirse pts'ler arasında haberleşme için shell devrede değil!

Örnekte echo komutunun çıktısının pts/4'e gönderilince diğer terminalde çıktığı görülebilir.

radu's terminal

pts açmak için API
Pseudo terminal açmak için API çağrıları da kullanılabilir. Burada nasıl yapılacağını anlatan örnekler var. Dikkat edilmesi gereken nokta posix_openpt() çağrısı yapılınca /dev/ptmx device'ının okunması. Bu device ise fstab aracılığıyla Devpts dosya sistemi yüklenince oluşturuluyor.

Karakter cihazı olan TTY'ye uygulanabilen tüm ayarlar, pseudo terminal için mantıklı olmayabilir. Örneğin TTY cihazlarına baud rate atanabiliyor. Pseudo terminale baud rate atasak bile bir etkisi olmaz.


Özetlersek
Bu dosya sistemi genellikle /dev/pts altına kuruluyor ve pseudo (virtual) terminal açmaya yarıyor.

Hiç yorum yok:

Yorum Gönder