- 실제로 cpu는 물리적으로 하나밖에 없다
- task마다 가상의 cpu가 한 개씩 있다고 가정한다.
- 가상의 cpu마다 stack memory를 할당받는다.
- stack memory는 task마다 다른 size로 할당해줄 수 있다.
- Multitask는 cpu가 하나가 존재할 때 동시 동작하는 것이 아니라 시간을 분할해서 개별적인 task를 실행할 수 있도록 해준다.
- task간의 통신(IPC)
- task a와 b는 Inter Process Communication을 통해 정보를 주고받을 수 있다.
- Multitasking 환경에서 kernel은 실행 중에 상태를 계속 변경한다.
- running, ready, blocked 상태 중의 하나에 상시 위치한다.
- running(execute) / ready, blocked(Not execute)
- ready는 실행될 예정이지만 아직 자기 차례가 오지 않은 task
- blocked는 잠자고 있는 상태(sleep,waiting)