프로그램과 프로세스
- 프로그램: 명령어와 데이터의 집합 (실행중인 경우도 포함함. 프로세스보단 좀 더 넓은범위)
- 프로세스: 실행중인 프로그램
커널
- 프로세스가 시스템에 접근하는 과정에서 사용하는 수단.
- OS 시작 → 커널 실행 → 그 이후에 다른 프로그램들 실행
- 커널도 프로그램임
- 커널은 프로세스들이 시스템 자원에 접근하는것을 제어해줌
- CPU 모드에는..
- 커널모드 - 명령실행에 제약 없음
- 사용자모드 - 제약이 걸림
시스템콜
프로세스가 커널에 주는 요청이다.
프로세스 생성삭제 등등..
시스템 콜 호출하면 예외라는 이벤트가 발생한다.
이를 통해 사용자모드 ~ 커널모드 간의 전환이 가능함
반드시 시스템콜을 통해 CPU모드(커널 또는 사용자 모드)를 변경해야한다.
Strace