프로그램와 프로세스의 차이

2023. 3. 17. 19:48컴퓨터구조와 운영체제

728x90

프로그램과 프로세스의 차이가 뭘까??

 

프로그램이란?


 

프로그램이란 명령어들의 조합이다.

  • 운영체제가 프로세스를 초기 구동하는 데 사용되는 파일
    • 저장장치에 저장되어 있는 정적인 상태 

 

예를 들어서, Windows : .exe 파일

 

운영체제는 Executable 한 파일을 읽어들여서 프로그램을 실행한다.

 

프로세스란?


실행 파일이 메모리에 로딩되어 실행되는 상태!!

 

  • 프로그램을 구동하여 프로그램 자체와 프로그램의 상태가 메모리 상에서 실행되는 작업을 프로세스라한다.(동적)
  • 일단 프로그램들이 메모리에 올라와야 실행이 가능하다!!
  • 주기억 장치에 상주된 프로그램이 CPU에 의해서 처리되는 상태
  • CPU에 의해서 현재 실행되고 있는 프로그램
  • 실행을 위해 메모리에 올라온 동적인 상태
  • PCB(Process Control Block, 프로세스 제어 블록)의 존재로서 명시되는 것

 

 

다중 프로그래밍, 다중 인스턴스

 

  • 다중 프로그래밍 : 여러 프로세스들이 메모리에 동시에 있을 수 있다.
  • 다중 인스턴스 : 같은 프로그램이어도, 실행될 때 마다 독립된 프로세스를 생성한다.

 

예를 들어, Chrome을 두개 실행하고, 워드 파일을 프린트하고, 멜론에서 노래를 재생시킨다고 가정하자.

 

여기서, 프로그램은 Chrome,워드,멜론이다.

그리고, 프로세스는 Chrome 2개가 실행되는 작업, 워드 파일이 프린트 되는 작업, 멜론에 노래가 재생되는 작업이다.

 

여기서 중요한 점은, Chrome이 2개가 작업이 된다는 것이다.

 

즉, 프로그램의 인스턴스가 프로세스인 것이다.

 

 

728x90