. , Fsys.
. , , . , ( Reply()), , . - , , .
. , , , , . .
, , , / . , :
QNX , .. , . - .
, 8 . , .
, / .
QNX . .
- , . , (inodes), , (.. ).
. , , , . , , (, ), . , , . , chkfsys.
, :
, "" . (/.inodes), , , , chkfsys .
chkfsys.
- . .
QNX - . - , QNX 512 , . , ( 1).
- , POSIX , open(), read(), write() close(). - , , QNX - , .
QNX . . , .
QNX -, . , . .
"", , . :
: | |
---|---|
1 | DOS (12- FAT) |
4 | DOS (16- FAT; <32M) |
5 | DOS |
6 | DOS 4.0 (16- FAT; >=32M) |
7 | OS/2 HPFS |
7 | QNX 2 ( 1988) |
8 | QNX 1.x 2.x ("qny") |
9 | QNX 1.x 2.x ("qnz") |
11 | DOS 32- FAT; 2047G |
12 | , 11, LBA Int 13h |
14 | , 6, LBA Int 13h |
15 | , 5, LBA Int 13h |
77 | QNX POSIX |
78 | QNX POSIX () |
79 | QNX POSIX () |
99 | UNIX |
QNX 4.x , 77 QNX , 78 QNX , 79 . QNX , 78 79 . , fdisk.
, QNX ( fdisk) , .
fdisk , .
QNX - , :
. DOS, QNX UNIX . DOS QNX .
- , - ( " /"). , , - , . mount , - .
, , Western Digital, . DOS, QNX UNIX. DOS QNX.
- /dev/hd0 /dev/hd1 , .
mount, - . :
mount -p /dev/hd0 -p /dev/hd1
- :
: | - : |
---|---|
DOS hd0 | /dev/hd0t4 |
QNX hd0 | /dev/hd0t77 |
UNIX hd0 | /dev/hd0t99 |
DOS hd1 | /dev/hd1t4 |
QNX hd1 | /dev/hd1t77 |
, tn , . , DOS t4, UNIX - t99 ..
QNX - . mount - , . :
mount /dev/hd0t77 /
/ , - hd0t77.
, - QNX 4.x ( /dev/hd0t77), - , (, /dev/hd0). - , "corrupt filesystem" ( ). |
, umount. , , QNX:
umount /dev/hd0t77
, , .
QNX :
dinit.
QNX .
. , BIOS . (, ), .
, . :
/.boot /.altboot , QNX.
QNX , /.boot. /.altboot , , /.altboot.
, QNX , /.bitmap. , , . . 1, .
, :
QNX / , -. DOS (Dosfsys). Dosfsys /dos DOS QNX "" .
Dosfsys DOS, DOS QNX. DOS - . /, open(), close(), read() write() DOS , QNX. , QNX DOS, :
cp /usr/luc/file.dat /dos/c/file.dat
, /dos/c - DOS C. cp - , DOS. (, cd, ls mkdir).
DOS QNX, mkfifo() link(), Dosfsys (.. errno).
Dosfsys , . . , , Dosfsys QNX DOS.
CD-ROM, Iso9660fsys, CD-ROM, CD-ROM, POSIX. CD-ROM .
Iso9660fsys ISO 9660, Rock Ridge. - DOS Windows. , Iso9660fsys .
Efsys.* , , -. , ( PC-Card), , .
Efsys.* . Efsys.* , Efsys.* . :
. , ROM .
- . . , . SRAM .
Efsys.* , ( - / ) , , , . , , , ( ).
, ( " "). Efsys.* , . . mkffs .
Efsys.* , , . .
, mkffs, bpe. , .
POSIX, root, rwx. chgrp, chmod chown .
.
Efsys.*, /dev. Efsys.* /dev/skt1 /dev/skt2. , .
, , ( "" ). Efsys.* /dev/sktXimgY, X - (socket), Y - .
Sun Microsystems, NFS (Network File System - ) TCP/IP , DOS UNIX . QNX , NFS.
QNX . NFS -QNX NFS , NFS- QNX. |
NFS - - . , (ls, cp mv) , .
QNX 4 NFS Socket, TCP/IP. , "" , Socklet, , NFS. |
SMBfsys SMB (Server Message Block) , , Windows NT, Windows 95, Windows for Workgroups, LAN Manager, Samba. SMBfsys QNX- .
SMBfsys , NetBIOS TCP/IP, NetBEUI. , , TCP/IP , QNX-, . , SMBfsys , .
:
QNX (Dev) . / , /dev. , QNX :
/dev/con1
QNX , open(), close(), read() write(). QNX () , .
. Dev ( termios), . / stty; tcgetattr() tcsetattr().
termios , :
, . .
: | : |
---|---|
dev_read() read() tcsetattr() | |
dev_arm() | |
tcdrain() | |
Break | tcsendbreak() |
tcdropline() | |
dev_insert_chars() | |
open() fcntl() (O_NONBLOCK mode) |
ICANON termios. , . , "" - , (CR), - . - edited. canonical () cooked ().
. (Shell).
, Dev , termios.
Dev : | : |
---|---|
LEFT | |
RIGHT | |
HOME | |
END | |
ERASE | |
DEL | |
KILL | |
UP | |
DOWN | |
INS |
. QNX .
QNX , , . stty. , VT100 (/dev/ser1), terminfo /dev/ser1:
stty term=vt100 </dev/ser1
, QNX qtalk, :
stty term=qnx </dev/ser1
ICANON , , ("", raw) . , QNX-.
, .
, . , , termios: MIN TIME. dev_read(). , TIMEOUT, . , read() TIMEOUT 0.
n , , :
MIN | TIME | TIMEOUT | : |
---|---|---|---|
0 | 0 | 0 | , ( n ) |
M | 0 | 0 | n , , , M |
0 | T | 0 | n , T x .1 . |
M | T | 0 | n , M , T x .1 . |
0 | 0 | t | . |
M | 0 | t | n , M t x .1 . |
0 | T | t | . |
M | T | t | n , M , t x .1 , T x .1 . |
QNX.
(Dev) . . Dev, , .
, Dev , . |
. " - ". .
, Dev , . Dev - .
Dev ; , . Dev , , "" ( , ). Dev (write-behind) . , Dev .
Dev . .
; , 64K. , "" , , .
. Dev , , "" ..
, Dev . Dev , . , QNX, .
, QNX, .
ioctl . ioctl Dev. ioctl QNX qnx_ioctl().
Dev.con. , - .
QNX . Dev.con / Dev, /dev/con1, /dev/con2 .. , "" .
, , . "" , .
QNX ( ), , . console_open(). , :
: | : |
---|---|
console_read() | |
console_write() | |
(, , , ..) | console_arm() |
console_size() | |
console_active() |
QNX QNX. . Dev.con , .
Dev.ser. ; /dev/ser1, /dev/ser2 ..
Dev.ser , , - - . , ls:
ls /dev/ser*
Dev.ser /. (""). . , Dev "" . .
Dev.par. Dev.par , , . , , ls:
ls /dev/par*
Dev.par , . Dev.par. , .
Dev.par /, . RECEIVE-, "" Dev. , Dev.par - ( ), , . - , , .
,