Lưu ý
Mục đích của file này là để độc giả tiếng Việt có thể đọc và hiểu tài liệu nhân kernel dễ dàng hơn, không phải để tạo ra một nhánh tài liệu riêng. Nếu bạn có bất kỳ nhận xét hoặc cập nhật nào cho file này, vui lòng thử cập nhật file tiếng Anh gốc trước. Nếu bạn thấy có sự khác biệt giữa bản dịch và bản gốc, hoặc có vấn đề về bản dịch, vui lòng gửi góp ý hoặc patch cho người dịch của file này, hoặc nhờ người bảo trì và người review tài liệu tiếng Việt giúp đỡ.
- Bản gốc:
- Người dịch:
Google Translate (machine translation)
- Phiên bản gốc:
8541d8f725c6
Cảnh báo
Tài liệu này được dịch tự động bằng máy và chưa được review bởi người dịch. Nội dung có thể không chính xác hoặc khó hiểu ở một số chỗ. Khi có sự khác biệt với bản gốc, bản gốc luôn là chuẩn. Bản dịch chất lượng cao (được review) được đặt trong thư mục vi_VN/.
Kỷ luật dòng TTY¶
Kỷ luật dòng TTY xử lý tất cả ký tự đến và đi từ/đến một tty thiết bị. Kỷ luật dòng mặc định là ZZ0000ZZ. Nó cũng là một dự phòng nếu việc thiết lập bất kỳ kỷ luật nào khác cho một tty không thành công. Nếu thậm chí N_TTY thất bại, N_NULL tiếp quản. Điều đó không bao giờ thất bại, nhưng cũng không xử lý bất kỳ các ký tự -- nó sẽ ném chúng đi.
Sự đăng ký¶
Các nguyên tắc dòng được đăng ký với tty_register_ldisc() vượt qua ldisc
cấu trúc. Tại thời điểm đăng ký, kỷ luật phải sẵn sàng để sử dụng và
có thể nó sẽ được sử dụng trước khi cuộc gọi trả về thành công. Nếu cuộc gọi
trả về một lỗi thì nó sẽ không được gọi. Không sử dụng lại số ldisc vì chúng
là một phần của không gian người dùng ABI và việc ghi lên ldisc hiện có sẽ gây ra
quỷ ăn máy tính của bạn. Bạn không được đăng ký lại quá mức
kỷ luật ngay cả với cùng một dữ liệu nếu không máy tính của bạn sẽ lại bị ăn thịt
quỷ dữ. Để xóa kỷ luật dòng, hãy gọi tty_unregister_ldisc().
Hãy lưu ý cảnh báo này: trường đếm tham chiếu của các bản sao đã đăng ký của Cấu trúc tty_ldisc trong bảng ldisc đếm số dòng sử dụng cái này kỷ luật. Số lượng tham chiếu của cấu trúc tty_ldisc trong số lượng tty số lượng người dùng đang hoạt động của ldisc tại thời điểm này. Trong thực tế, nó được tính số lượng luồng thực thi trong một phương thức ldisc (cộng với các luồng sắp thực hiện nhập và thoát mặc dù chi tiết này không quan trọng).
Các chức năng khác¶
Tham chiếu Hoạt động Kỷ luật Đường dây¶
Truy cập trình điều khiển¶
Các phương pháp xử lý dòng có thể gọi các phương thức của trình điều khiển phần cứng cơ bản.
Chúng được ghi lại như một phần của struct tty_Operations.
Cờ TTY¶
Các phương pháp kỷ luật dòng có quyền truy cập vào trường ZZ0000ZZ. Xem ZZ0001ZZ.
Khóa¶
Người gọi đến các chức năng kỷ luật dòng từ lớp tty được yêu cầu lấy đường khóa kỷ luật. Điều tương tự cũng đúng với các cuộc gọi từ phía tài xế nhưng vẫn chưa được thực thi.
Mặc dù các hàm này chậm hơn một chút so với mã cũ nhưng đáng ra chúng phải có tác động tối thiểu vì hầu hết logic nhận đều sử dụng bộ đệm lật và chúng chỉ cần phải tham khảo khi họ đẩy bit lên qua trình điều khiển.
Cảnh báo: ZZ0000ZZ,
ZZ0001ZZ và ZZ0002ZZ
các hàm được gọi mà không có ldisc. Vì vậy tty_ldisc_ref() sẽ thất bại
trong tình huống này nếu được sử dụng trong các chức năng này. Ldisc và mã trình điều khiển
gọi các chức năng riêng của nó phải cẩn thận trong trường hợp này.