프로세스 혹은 스레드의 동기화란 무엇인가요?
- 여러 프로세스 혹은 쓰레드가 공유하는 자원의 일관성을 유지하는 것입니다.
사용자 수준의 스레드와 커널 수준의 스레드의 차이는 무엇인가요?
CPU 스케줄링이란 무엇인가요?
CPU가 항상 실행 중인 프로세스를 갖게 하도록 하는 기법입니다.
어떤 프로세스가 대기해야 할 경우, 운영체제가 CPU를 그 프로세스로부터 회수한 뒤 다른 프로세스를 할당해 CPU 이용률을 최대화 하는 것이 목적입니다.
CPU 스케줄링 방법에는 대표적으로 어떤 것들이 있나요?
선점 스케줄링과 비선점 스케줄링이 있습니다. 선점 스케줄링이란 우선순위가 높은 프로세스가 cpu를 사용하고 있는 프로세스를 중지시키고 cpu를 차지할 수 있는 기법으로 빠른 응답시간을 요구하는 시스템에 유용합니다.
비선점 스케줄링이란 이미 사용중인 cpu를 뺐을 순 없고 사용이 끝날 때까지 기다리는 스케줄링 기법으로 일괄처리방식에 유용합니다.
동기와 비동기, 블로킹과 넌블로킹의 차이는 무엇인가요?