운영체제 1장을 공부하던 도중 운영체제를 크게 나누면 아래와 같은데,
Tech Interview에서 프로세스 관리는 어떤 의미로는 프로세서 관리라고 하였는데, 프로세서를 그냥 하드웨어의 부품으로만 알고서 공부를 이어나가기에는 뭔가 이해가 잘 가지 않아서 따로 찾아보았다.
컴퓨터에서 연속적으로 실행되고 있는 컴퓨터 프로그램을 말한다.
종종 스케줄링의 대상이 되는 작업(task)이라는 용어와 거의 같은 의미로 쓰인다.
여러 개의 프로세서를 사용하는 것을 멀티프로세싱이라고 하며
같은 시간에 여러 개의 프로그램을 띄우는 시분할 방식을 멀티태스킹이라고 한다.
프로세스 관리는 운영 체제의 중요한 부분이 되었다.(위키백과)
프로세서 혹은 CPU는
제어장치, 연산장치, 레지스터 그리고 데이터 버스로 구성된 디지털 시스템의 핵심 부분으로,
프로그램을 기억장치로부터 읽어 연산 처리, 비교 처리, 데이터 전송, 편집, 변환, 테스트와 분기 등의 데이터를 처리하고,
각종 장치를 구동하는 역할을 한다.
데이터 포맷을 변환하는 역할을 수행하는 데이터 프로세싱 시스템(데이터 처리 시스템)을 의미하며 출력 가능한 인쇄물을 생성하는 워드 프로세서도 프로세서라 부름.
프로그램은 일반적으로 하드 디스크 등에 저장되어 있는 실행 코드
프로세스는 프로그램을 구동하여 프로그램 자체와 프로그램의 상태가 메모리 상에서 실행되는 작업 단위
예: 하나의 프로그램을 여러 번 구동하면 여러 개의 프로세스가 메모리 상에서 실행된다.
프로세서는 프로그램을 기억장치로부터 읽어와 구동시킨다. 구동시킨 프로그램을 프로세서라 한다.
즉, 프로세스는 프로세서가 실행할 명령어와 데이터 목록을 메모리에 읽어들인 것
프로그램 실행 과정
- 사용자가 단축 아이콘 혹은 명령행에서 프로그램을 실행한다.
- 파일로 저장되어 있던 프로그램은 메모리(램)에 로더(Loader)에 의해 적재(load)되고 처음으로 실행해야 할 기계어 코드가 저장된 메모리의 주소를 CPU의 명령주소(IP: Instruction Pointer) 레지스터에 저장한다.
- 프로세서(CPU)는 IP 레지스터가 가리키는 메모리의 주소에서 실행할 명령어를 인출(메모리에서 CPU로 가져오는)하여 명령 레지스터(IR: Instruction Register)에 저장한다.
- IR에 저장된 명령을 실행하고 IP에 다음번에 실행할 명령어가 있는 주소를 저장한다.
- 3~4를 프로그램의 끝까지 반복한다.
(설명과 그림의 순서가 일치하지 않음, 형태만 참고)
출처: https://blog.daum.net/dasomcap/829결론,
프로세스는
프로그램을 클릭했으니까 프로세스 스스로 알아서 실행되는 것이 아닌
프로세서에 의해 하드 디스크에 저장되어 있던 실행 코드 및 실행 시 참조할 데이터를 메모리에 적재해 둔 것