리눅스의 `ps -ef`이라는 명령어는 현재 실행 중인 프로세스의 목록과 상태를 보여준다. 이 명령어를 통해서 지금 컴퓨터가 CPU자원을 어디에 쓰고 있는지 확인할 수 있다. 그렇다면 이 프로세스라는 것은 무엇일까?
Processor가 수행하고 있는 Task(Process, Thread)의 context를 저장하고 다음 진행할 Task의 context를 읽어 수행하는 과정을 Context Switching이라고 부른다. 자세히 알아보자.
컴퓨터는 "Process & Thread"라는 작업을 생성하고 CPU라는 자원이 이 작업을 수행하는 장치이다. 컴퓨터가 어떻게 여러 자원으로 여러 작업을 수행하는지 알아보자.
Mutli task를 수행하다 보면 동일한 자원에 서로 다른 task가 접근하는 상황이 생길 수 있다. 이때 Race Condition 혹은 Dead Lock과 같은 문제가 발생하기도 한다. Race Condition에 대해 알아보자.