질문의 의도부터 파악하자
프로그램, 프로세스, 스레드에 대한 기본 개념을 알고 있는지 물어보기 위해
운영체제가 시스템 자원을 어떤 방식으로 할당하고 프로그램은 이 자원을 어떤 방식으로 활용하여 작동하는지에 대해 알고 있는지 물어보기 위해
하나의 응용프로그램을 여러 개의 프로세스로 구성하여 각 프로세스가 하나의 작업을 처리하도록 하는 것이다.
장점
단점
Context Switching
- CPU에서 여러 프로세스를 돌아가면서 작업을 처리하는 데 이 과정을 COntext Switching이라고 한다.
- 구체적으로, 동작 중인 프로세스가 대기를 하면서 해당 프로세스의 상태(Context)를 보관하고, 대기하고 있던 다음 순서의 프로세스가 동작하면서 이전에 보관했던 프로세스의 상태를 복구하는 작업을 말한다.
하나의 응용프로그램을 여러 개의 스레드로 구성하고 각 스레드로 하여금 하나의 작업을 처리하도록 하는 것이다.
윈도우, 리눅스 등 많은 운영체제들이 멀티 프로세싱을 지원하고 있지만 멀티 스레딩을 기본으로 하고 있다.
웹 서버는 대표적인 멀티 스레드 응용 프로그램이다.
장점
단점