for {
os.getppid()
}
이와 같이 현재 프로세스의 부모 프로세스 id를 계속해서 조회하는 프로그램을 실행하게 되면
시스템 콜을 계속해서 호출하게 되는 것이다.
따라서 sar -P 0 1 1 로 결과를 확인했을 때, %system 비율이 높아짐을 확인할 수 있다.
각각의 시스템 콜을 실행하는데 걸린 시간 정보를 마이크로 초 단위로 확인할 수 있다.
strace -T -o hello.log ./hello
hello world
$ cat hello.log
...
write(1, "hello world\\n", 12) = 12<0.000017>
즉, 문자열 출력 처리에 17 마이크로초가 걸린것을 알수가있다.
다수의 프로그램에서 공통으로 사용하는 처리를 제공해주는 패키지이다.
프로세스 고유의 코드 -- 개발자가 직접 접근하고 사용하는 부분
OS 외부의 라이브러리
OS 라이브러리
-------------------------------------여기 위는 사용자 모드, 아래는 커널 모드에서 동작
커널
하드웨어
리눅스에서는 표준 C 라이브러리로 (ISO에서 정해준) glibc 를 사용.