면접 질문 이라는 키워드로 검색을 하면, 가장 먼저 나오는 친구이다. 이 질문이 의미 없는 질문이라고 할 순 없겠지만, 왠만한 전공자라면 쉽게 답할 수 있는 질문이다. 대부분 다음과 같이 답하지 않을까? > 프로세스는 운영체제로부터 자원을 할당받는 작업의 단위이다
앞에서 프로세스를 다루면서, 우리는 프로세스에 대해 운영체제가 자원을 할당하는 단위 라고 언급했었다. 프로세스가 메모리를 할당 받으면, 자신만의 방법으로 메모리를 관리하기 위해 이 공간들을 어떤 구조로 관리하는데, 우리는 이를 프로세스 주소 공간이라고 부른다.
프로세스는 항상 돌아가진 않는다. (싱글 코어 CPU에선) 한 번에 하나의 프로세스만 동작하는데, 이 과정에서 I/O가 발생하거나, 프로그램에 문제가 생기면 프로세스는 잠시 동작을 멈춰야 하는데, 이것을 누가 처리 해야 할까? 또한, 위에서 언급한 I/O는 실제로는
Context Switching에 대해서는 앞 포스트에서도 몇 번 언급이 되었다. 사실, 프로세스를 이야기 하면서 필연적으로 등장할 수 없는 존재이기 때문에, 해당 내용만 먼저 설명했어야 하는게 아닌가 하는 생각이 든다. 프로세스의 상태 프로세스는 각자의 상태 를
지난 포스트에서는 여러 프로세스들의 동작을 관리하기 위한 스케쥴링에 대해 알아 보았다. 이번에는 하나의 프로세스에 초점을 맞춰보자. 하나의 프로세스에도 여러 작업이 진행되어야 할 수 있는데, 이 작업들을 어떻게 처리할 것인가? 동기 (Synchronous) 와 비동