본문 바로가기
CS(Computer Science)

[CS] 프로세스 개념 이해

by 개발지망생 2023. 2. 19.

📖 프로세스 란?

실행 중인 프로그램을 프로세스라고 한다.

  • 프로세스 : 메모리에 올려저서, 실행 중인 프로그램
  • 코드 이미지(바이너리) : 실행 파일

응용 프로그램과 프로세스는 같은 말이 아니며 응용 프로그램은 여러 프로세스로 구성 가능하다.
예를 들어, 스마트폰에 최근 띄운 앱들을 확인하는 기능이 있는데 그렇게 띄워진 앱들을 다 프로세스라 할 수 있다.

프로세스의 실행과 정지도 운영체제가 관여를 하는데 이러한 운영체제 기능을 프로세스 스케줄링 이라고 한다.

✅ 프로세스 스케줄링

여러개의 프로세스가 띄어져 있을 때 어느 시점에서 어떤 프로세스를 실행시킬지 규칙 알고리즘이 필요했는데 그걸 가리켜 프로세스 스케줄러 라고 한다.


✅배치 처리 시스템

맨 처음 스케줄링 알고리즘에 채택된 자료구조 큐를 활용한 알고리즘이며, 자동으로 다음 응용 프로그램이 이어서 실행될 수 있도록 하는 시스템 이다.

배치 처리 시스템이 없었을 땐 응용프로그램을 동시에 실행시키는 기능이 없었다. 한 프로세스를 실행 시키면 끝날 떄까지 계속 기다려야 하는 상황이었다. 
배치 처리 시스템을 도입한 후부터는 프로세스를 미리 등록시켜 한 프로세스가 끝나면 자동으로 그 다음 등록된 프로세스를 실행시켜 효율성을 높였다.

하지만  프로그램 실행이 너무 시간이 많이 걸릴 경우 다른 프로그램 실행하는데 시간을 많이 기다려야 하는 것과 요즘 같이 여러 pdf를 한번에 띄우는것 과 같은 다중 사용자 지원 기능에는 적합하지 않다.

댓글