linux bsd

       

windows


windows linux . " " . windows NT ntoskrnl.exe, INT 2Eh (NT 3.5x, NT4.x, W2K) INT 2Eh/sysenter (XP, Longhorn). linux IINT 80h (x86 BSD , INT 80h, call  far 0007h:00000000h).
/, , / . ., NT , , linux' ( " " - sys-calls) . . - libc.so.x  KERNEL32.DLL windows. , ("so" "shared object [file]", x  , , "libc.so.6").
libc, , , libncurses.so.x, ("" USER32.DLL). elf- ( ), dlopen/dlsym ( LoadLibrary/GetProcAddress ). , , .
(out form box) UNIX' "" truss krace ( LINUX  strace), log (.  1). , , , : . strace ptrace, (. . ) , . , , "" , .


?
mmap(0x0,4096,0x3,0x1002,-1,0x0) = 671657984 (0x2808b000)
break(0x809b000) = 0 (0x0)
break(0x809c000) = 0 (0x0)
break(0x809d000) = 0 (0x0)
break(0x809e000) = 0 (0x0)
stat(".",0xbfbff514) = 0 (0x0)
open(".",0,00) = 3 (0x3)


fchdir(0x3) = 0 (0x0)
open(".",0,00) = 4 (0x4)
stat(".",0xbfbff4d4) = 0 (0x0)
open(".",4,00) = 5 (0x5)
fstat(5,0xbfbff4d4) = 0 (0x0)
fcntl(0x5,0x2,0x1) = 0 (0x0)
__sysctl(0xbfbff38c,0x2,0x8096ab0,0xbfbff388,0x0,0x0) = 0 (0x0)
fstatfs(0x5,0xbfbff3d4) = 0 (0x0)
break(0x809f000) = 0 (0x0)
getdirentries(0x5,0x809e000,0x1000,0x809a0b4) = 512 (0x200)
getdirentries(0x5,0x809e000,0x1000,0x809a0b4) = 0 (0x0)
lseek(5,0x0,0) = 0 (0x0)
close(5) = 0 (0x0)
fchdir(0x4) = 0 (0x0)
close(4) = 0 (0x0)
fstat(1,0xbfbff104) = 0 (0x0)
break(0x80a3000) = 0 (0x0)
write(1,0x809f000,158) = 158 (0x9e)
exit(0x0) process exit, rval = 0
 1  truss

 1  "hello,world", "" truss'