개발/Assembly

UNIX 운영체제 System Call

ensuta 2022. 2. 20. 14:56
728x90
반응형

System call.

UNIX 계열 운영 체제에서는 system call 기능이 있다.

userland 프로세스가 사용하여 커널 프로시저를 호출한다.

 

각각의 시스템 호출은 고유번호가 지정되어 있고

각각의 번호마다 짧은 매개변수가 있다.

운영 체제, 하드웨어 플랫폼 및 구성 옵션에 따라 다를 수 있다. 

 

 

이 글을 kernel 카테고리에 넣을까

Assembly 카테고리에 넣을까 엄청 고민했다.

 

결국 환경을 리눅스 AMD64말고도 확장시켜

다양한 system call 을 구현하는 것으로 방향을 잡았다.

 

linux kernel

darwin

freeBSD

 

 

os별 system call 명령어

Name standard linux Darwin FreeBSD
access POSIX access(2) access(2) access(2)
creat POSIX creat(2) creat(2) creat(2)
exchangedata     exchangedata(2)  
extattr_delete_file       extattr(2)
extattr_get_file       extattr(2)
extattr_list_file       extattr(2)
extattr_set_file       extattr(2)
fallocate   fallocate(2)    
fsync POSIX fsync(2) fsync(2) fsync(2)
stat POSIX stat(2) stat(2) stat(2)
fcntl POSIX fcntl(2) fcntl(2) fcntl(2)
flock   flock(2) flock(2) flock(2)
getxattr   getxattr(2) getxattr(2)  
link POSIX link(2) link(2) link(2)
listxattr   listxattr(2) listxattr(2)  
lseek POSIX lseek(2) lseek(2) lseek(2)
mkdir POSIX mkdir(2) mkdir(2) mkdir(2)
mknod POSIX mknod(2) mknod(2) mknod(2)
open POSIX open(2) open(2) open(2)
opendir POSIX opendir(3) directory(3) directory(3)
poll POSIX poll(2) poll(2) poll(2)
read POSIX read(2) read(2) read(2)
readdir POSIX readdir(3) directory(3) directory(3)
readlink POSIX readlink(2) readlink(2) readlink(2)
removexattr   removexattr(2) removexattr(2)  
rename POSIX rename(2) rename(2) rename(2)
renameat2   rename(2)    
rmdir POSIX rmdir(2) rmdir(2) rmdir(2)
chmod POSIX chmod(2) chmod(2) chmod(2)
chown POSIX chown(2) chown(2) chown(2)
utime POSIX utime(2) utime(3) utime(3)
setxattr   setxattr(2) setxattr(2)  
statfs   statfs(2) statfs(2) statfs(2)
symlink POSIX symlink(2) symlink(2) symlink(2)
unlink POSIX unlink(2) unlink(2) unlink(2)
write POSIX write(2) write(2) write(2)

man page 나 여기 하이퍼링크를 참조하자.

 

 

반응형

'개발 > Assembly' 카테고리의 다른 글

Hello World! 어셈블리 분석 - AMD64 어셈블리 기초  (3) 2022.02.09
RISC vs CISC 차이 - Processor  (2) 2022.02.03