추천, 2024

에디터의 선택

프로그램과 프로세스의 차이점

프로그램과 프로세스는 관련 용어입니다. 프로그램과 프로세스의 가장 큰 차이점은 프로그램은 지정된 작업을 수행하는 명령 그룹이며 프로세스는 실행중인 프로그램이라는 점입니다. 프로세스가 활동적인 엔티티 인 동안, 프로그램은 수동적 인 것으로 간주됩니다.

하나의 프로그램이 여러 프로세스를 호출 할 수 있다는 것을 의미하는 프로세스와 프로그램 간에는 다 대일 관계가 존재합니다. 즉, 여러 프로세스가 동일한 프로그램의 일부가 될 수 있습니다.

비교 차트

비교 근거프로그램
방법
기본
프로그램은 일련의 지시입니다.
프로그램이 실행되면이를 프로세스라고합니다.
자연
수동태
유효한
수명
더 길게제한된
필요한 자원
프로그램은 일부 파일의 디스크에 저장되며 다른 리소스는 필요하지 않습니다.프로세스는 CPU, 메모리 주소, 디스크, I / O 등과 같은 리소스를 보유합니다.

프로그램의 정의

프로그램 은 간단한 말로 시스템 활동으로 간주 될 수 있습니다. 일괄 처리 시스템에서는 이러한 작업을 실행 작업이라고하며 실시간 운영 체제에서는 작업 또는 프로그램이라고합니다. 사용자는 운영 체제가 몇 가지 기술을 사용하여 메모리 관리와 같은 자체 프로그래밍 활동을 용이하게하는 여러 프로그램을 실행할 수 있습니다.

프로그램은 수동 개체, 예를 들어 실행될 명령 그룹 (실행 파일)을 수용하는 파일입니다. 그것은 그 자체로 어떤 행동도 수행하지 않기 때문에 그렇게 불리우며, 그 안에 명시된 행동을 실현하기 위해 실행되어야합니다.

프로그램의 주소 공간은 명령어, 데이터 및 스택으로 구성됩니다. P는 P의 실행을 실현하기 위해 쓰는 프로그램이라고 가정하고, 운영 체제는 P의 주소 공간을 수용하기 위해 메모리를 할당합니다.

실행을 위해 P를 계획하고 p가 파일 정보에 액세스 할 수있는 배열을 설정합니다. CPU는 항상 P의 명령을 실행하지 않기 때문에 점선 상자에 표시됩니다. 실제로 OS는 P 실행과 다른 프로그램 실행 사이에서 CPU를 공유합니다.

프로세스의 정의

프로세스 는 프로그램을 실행하는 것입니다. 활성 엔터티 로 간주되어 프로그램에 지정된 작업을 실현합니다. 여러 프로세스가 동일한 프로그램과 관련 될 수 있습니다. 프로그램 카운터, 스택, 상태 등을 포함하는 PCB (프로세스 제어 블록) 를 통해 운영 체제 활동을 처리합니다. 프로그램 카운터는 나중에 실행될 명령의 다음 시퀀스를 저장합니다.

관리 작업을 수행하려면 처리, 메모리 및 I / O 리소스와 같은 리소스가 필요합니다. 프로그램을 실행하는 동안 프로그램과 다른 프로세스를 만드는 프로세서 또는 I / O 작업을 수행 할 수 있습니다.

우리는 이것을 예에서 이해합시다. 우리는 C 프로그램을 작성하고 있습니다. 프로그램을 파일에 작성하고 저장하는 동안에는 스크립트 일 뿐이며 어떤 동작도 수행하지 않지만 실행될 때 프로세스로 바뀌므로 프로세스가 사실상 동적입니다. 여러 프로세스간에 자원을 공유하는 것은 현재 시스템에서 사용되지만 실제 단일 프로세서는 여러 프로세스간에 분산됩니다.

프로그램과 프로세스의 주요 차이점

  1. 프로그램은 수행해야 할 정렬 된 작업 의 명확한 그룹입니다. 반면에 실행중인 프로그램의 인스턴스 는 프로세스입니다.
  2. 프로그램의 본질은 그것이 실행될 때까지 아무것도하지 않기 때문에 수동적입니다. 반면 프로그램은 프로그램을 실행하고 특정 작업을 수행하는 것처럼 동적이거나 동적입니다.
  3. 프로그램은 작업 완료 후 프로세스가 종료되고 수명이 짧아지는 동안 수동으로 삭제되지 않을 때까지 메모리에 저장되므로 수명이 길어 집니다.
  4. 자원 요구 사항은 프로세스의 경우에 훨씬 더 높습니다. 성공적인 실행을 위해 처리, 메모리, I / O 리소스가 필요할 수 있습니다. 대조적으로 프로그램은 저장 용 메모리 만 필요합니다.

결론

프로그램과 프로세스는 관련이 있지만 유사하지는 않습니다. 프로그램은 디스크에 저장된 스크립트이거나 프로세스의 이전 단계 인 것처럼 보입니다. 반대로 프로세스는 실행중인 프로그램의 이벤트입니다.

Top