Apa perbedaan antara driver perangkat "mentah" dan "dimasak"?

27

Apakah konsep ini hanya berlaku untuk driver terminal (yang mencakup sebagian besar situs) atau untuk setiap driver pada umumnya?

soc
sumber

Jawaban:

30

Istilah mentah dan matang hanya berlaku untuk pengemudi terminal. "Dimasak" disebut kanonik dan "mentah" disebut mode non-kanonik .

Pengemudi terminal, secara default sistem berbasis garis: karakter buffer secara internal sampai carriage kembali ( Enteratau Return) sebelum diteruskan ke program - ini disebut "matang". Hal ini memungkinkan karakter tertentu untuk diproses (lihat stty(1)), seperti Cntl-D, Cntl-S, Ctrl-U Backspace); dasarnya mengedit garis dasar. Pengemudi terminal "memasak" karakter sebelum menyajikannya.

Terminal dapat ditempatkan ke mode "mentah" di mana karakter tidak diproses oleh driver terminal, tetapi dikirim langsung (dapat diatur bahwa karakter INTR dan QUIT masih diproses). Ini memungkinkan program menyukai emacsdan vimenggunakan seluruh layar dengan lebih mudah.

Anda dapat membaca lebih lanjut tentang ini di bagian "Mode Canonical" pada termios(3)halaman manual.

Arcege
sumber
11

Istilah ini digunakan untuk menggambarkan terminal dan disk I / O, tetapi memiliki arti yang berbeda dalam setiap konteks.

Mode mentah dan matang pada pemrosesan perangkat penutup terminal (karakter-pada-waktu vs garis-pada-waktu, ada juga beberapa perbedaan lainnya).

Perangkat disk 'mentah' ( /dev/rdsk/*) adalah perangkat karakter, dan /dev/dsk/merupakan perangkat blok. IIRC perbedaan utama adalah bahwa perangkat blok memiliki buffering kernel, dan kontrol berbutir halus atas mode I / O seperti I / O langsung / dipetakan dapat ditentukan pada defisit mentah.

Deskripsi mode tty mentah dan matang dapat ditemukan di sini. Posting tentang perangkat disk mentah vs yang dimasak dapat ditemukan di sini.

ConcernedOfTunbridgeWells
sumber