อะไรคือความแตกต่างระหว่างไดรเวอร์อุปกรณ์“ ดิบ” และ“ สุก”


27

แนวคิดนี้ใช้กับไดร์เวอร์เทอร์มินัล (ไซต์ใดบ้างที่ครอบคลุม) หรือกับไดรเวอร์ทั่วไป

คำตอบ:


30

ข้อตกลงดิบและการปรุงสุกจะใช้กับไดรเวอร์เทอร์มินัลเท่านั้น "Cooked" เรียกว่าcanonicalและ "raw" เรียกว่าnon-canonical mode

ไดรเวอร์เทอร์มินัลจะเป็นระบบเริ่มต้นตามบรรทัด: อักขระจะถูกบัฟเฟอร์ภายในจนกว่า carriage return ( EnterหรือReturn) ก่อนที่มันจะถูกส่งผ่านไปยังโปรแกรม - สิ่งนี้เรียกว่า "ปรุง" นี้จะช่วยให้ตัวอักษรบางอย่างที่จะประมวลผล (ดูstty(1)) เช่นCntl-D, Cntl-S, Ctrl-U Backspace); เป็นหลักพื้นฐานการแก้ไขบรรทัด ไดรเวอร์เทอร์มินัล "ทำอาหาร" อักขระก่อนจะให้บริการ

เทอร์มินัลสามารถอยู่ในโหมด "raw" ซึ่งอักขระไม่ได้ถูกประมวลผลโดยไดรเวอร์เทอร์มินัล แต่จะถูกส่งตรงผ่าน (สามารถตั้งค่าได้ว่าอักขระ INTR และ QUIT ยังคงถูกประมวลผล) วิธีนี้ช่วยให้โปรแกรมเช่นemacsและviใช้ทั้งหน้าจอได้ง่ายขึ้น

คุณสามารถอ่านเพิ่มเติมเกี่ยวกับสิ่งนี้ได้ในส่วน "โหมด Canonical" ของtermios(3)manpage


11

คำศัพท์ที่ใช้อธิบายเทอร์มินัลและดิสก์ I / O แต่หมายถึงสิ่งต่าง ๆ ในแต่ละบริบท

โหมด raw และสุกบนการประมวลผลหน้าปกอุปกรณ์เทอร์มินัล (character-at-a-time เทียบกับ line-at-a-time และยังมีความแตกต่างอื่น ๆ อีกเล็กน้อย)

อุปกรณ์ดิสก์ 'raw' ( /dev/rdsk/*) คืออุปกรณ์ตัวอักษรและ/dev/dsk/เป็นอุปกรณ์บล็อก IIRC ข้อแตกต่างที่สำคัญคืออุปกรณ์บล็อกมีการบัฟเฟอร์เคอร์เนลและการควบคุมที่ละเอียดกว่าโหมด I / O เช่น I / O โดยตรง / แมป I / O สามารถระบุได้บน defice ดิบ

คำอธิบายของโหมด tty แบบ raw และสุกสามารถดูได้ที่นี่ โพสต์เกี่ยวกับอุปกรณ์ดิบกับดิสก์สุกสามารถดูได้ที่นี่

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.