운영체제
운영체제는 자원을 관리하고 할당하는 특별한 프로그램


운영체제의 핵심부, 커널(kernel)

운영체제 == 커널
응용 프로그램은 자원에 직접 접근이 불가능함 : 운영체제를 거쳐서 접근함
시스템 콜: 운영체제 서비스를 제공받기 위해 커널 모드로 전환하는 것 (인터럽트의 일종)

가상 머신에 리눅스 설치하기
Virtual BOX 활용.
https://www.virtualbox.org/wiki/Downloads
Downloads – Oracle VirtualBox
This VirtualBox Extension Pack Personal Use and Educational License governs your access to and use of the VirtualBox Extension Pack. It does not apply to the VirtualBox base package and/or its source code, which are licensed under version 3 of the GNU Gene
www.virtualbox.org
Ubuntu iso 설치. (필자는 ARM이라 25버전...)
https://ubuntu.com/download/desktop
Download Ubuntu Desktop | Ubuntu
Ubuntu is an open source software operating system that runs from the desktop, to the cloud, to all your internet connected things.
ubuntu.com
실패하고 Red Hat 기반 Rocky Linux를 설치했다.
명령어 몇개만 다르고 유사함.
strace 기반 시스템 콜 관찰하기
strace [COMMAND] 로 시스템 콜 관찰 가능.
strace -c [COMMAND] 로 시스템 별 latency 확인 가능: 이거 유용한듯
.
대표적인 리눅스 시스템 콜
| open | 파일을 여는 시스템 콜. 파일 디스크립터 변환 |
| close | 파일을 닫는 시스템 콜 (파일 관련 자원 해제) |
| read | 파일 디스크립터에서 데이터를 읽어들이는 시스템 콜 |
| write | 파일 디스크립터에서 데이터를 쓰는 시스템 콜 |
| fork | 프로세스 복제하여 자식 프로세스 생성 |
| exec | 현재 프로세스의 주소 공간을 새로운 프로세스로 덮어쓰기 |
| getpid | PID를 반환하는 시스템 콜 |
| getppid | 부모 프로세스의 PID를 반환하는 시스템 콜 |
| syslog | 시스템 로그 메세지 남기기 |
| exit | 실행 중인 프로그램 종료 |