• 시스템 콜은 프로그램이 커널에 서비스를 요청할 때 요구된다.
• 운영 체제마다 다른 커널을 사용하기 때문에 시스템 호출은 시스템에 따라 다르다.
• 모든 syscall은 그들과 관련된 ID(숫자)를 가지고있다.
• Syscalls은 인수, 즉 입력 항목을 사용한다.
레지스터에 의한 시스템 호출 입력
Argument |
Registers |
ID |
rax |
1 |
rdi |
2 |
rsi |
3 |
rdx |
4 |
r10 |
5 |
r8 |
6 |
r9 |
시스템 호출 항목
Syscall |
ID |
ARG1 |
ARG2 |
ARG3 |
ARG4 |
ARG5 |
ARG6 |
sys_read |
0 |
#filedescriptor |
$buffer |
#count |
|
|
|
sys_write |
1 |
#filedescriptor |
#buffer |
#count |
|
|
|
sys_open |
2 |
$filename |
#flags |
#mode |
|
|
|
sys_close |
3 |
#filedescriptor |
|
|
|
|
|
... |
… |
|
|
|
|
|
|
Pwritev2 |
328 |
|
|
|
|
|
|
댓글 없음:
댓글 쓰기