4.4 Dạng tập tin
71
thông tin vào các thiết bị. Các thiết bị ký tự trao đổi thông tin theo từng ký tự
(theo từng byte) trong chế độ chuỗi các byte. Ví dụ thiết bị dạng này là terminal.
Còn thông tin được đọc và ghi vào các thiết bị khối theo các khối. Ví dụ các ổ
cứng. Không thể đọc từ đĩa cứng và ghi lên đó từng byte, trao đổi thông tin với
đĩa chỉ có thể theo từng khối.
Trao đổi dữ liệu với các thiết bị trên Linux do các driver thiết bị đảm nhiệm.
Những driver này hoặc nằm trong nhân hoặc nằm riêng ở dạng môđun và có thể
gắn vào nhân sau. Để trao đổi với các phần khác của hệ điều hành mỗi driver
tạo ra một giao diện liên lạc có vẻ ngoài giống như tập tin. Phần lớn những tập
tin như vậy đã được tạo sẵn từ trước và nằm trong thư mục dev. Nếu nhìn vào
thư mục /dev (tức là chuyển vào thư mục đó bằng lệnh cd rồi chạy ls), thì bạn
sẽ thấy một lượng khổng lồ những tập tin thiết bị. Bảng
cho biết những tập
tin thường dùng nhất.
Bảng 4.2: Những tập tin thiết bị chính
Tập tin
Ý nghĩa
/dev/console
Console hệ thống tức là màn hình và bàn phím kết nối tới máy tính.
/dev/hd
Các ỗ cứng với giao diện IDE. Thiết bị /dev/hda1 tương ứng với phân
vùng đầu tiên của đĩa cứng đầu tiên, đĩa /dev/hda, tức là đĩa Primary
Master.
/dev/sd
Ổ cứng với giao diện SCSI.
/dev/fd
Các tập tin ổ đĩa mềm. Ổ đầu tiên là /dev/fd0, ổ thứ hai là
/dev/fd1
.
/dev/tty
Các tập tin hỗ trợ terminal của người dùng. Tên gọi vẫn được lưu kể từ
khi kết nối teletype vào các hệ thống UNIX làm terminal. Trên Linux
những tập tin này hỗ trợ các terminal ảo (hãy nhớ lại chương trước).
/dev/pty
Các tập tin hỗ trợ terminal giả. Sử dụng cho các kết nối từ xa qua telnet.
/dev/ttS
Tập tin hỗ trợ làm việc với các cổng kết tiếp nhau (các cổng COM).
/dev/ttS0
tương ứng với COM1 trong DOS, /dev/ttS1 tương ứng
với COM2.
/dev/cua
Các tập tin cho môđem.
/dev/null
Thiết bị này có thể gọi là “lỗ đen”. Tất cả những gì ghi vào /dev/null
sẽ mất vĩnh viễn. Những người viết script thường chuyển những thông
báo không cần thiết vào thiết bị này. Nếu sử dụng /dev/null làm
thiết bị nhập vào, thì sẽ thu được một chuỗi các số 0, tức là trong trường
hợp này tập tin có cỡ bằng 0.
Mỗi dạng thiết bị có thể có một vài tập tin thiết bị. Vì thế các tập tin thiết bị
thường có hai số: lớn (major) và nhỏ (minor). Số lớn của thiết bị cho nhân biết là
tập tin này thuộc về driver nào, còn số nhỏ cho biết cần phải làm việc với thiết bị
cụ thể nào của dạng này. Đối với các tập tin thiết bị, câu lệnh ls -l cho biết số
lớn và số nhỏ đã nói thay vì kích thước của tập tin.
4.4.2
Các ống có tên (pipes)
Còn có một dạng tập tin thiết bị nữa đó là các ống có tên, hay bộ đệm FIFO (First
In – First Out). Tập tin dạng này chủ yếu dùng để tổ chức trao đổi dữ liệu giữa