프로세스란 실행 중인 프로그램 상태를 말하며 프로세스는 프로그램 자체인 실행 코드와 자료 그래고 실행 제어정보가 들어 있는 PCB가 결합된 단위가 된다.
이러한 프로그램은 수동적 개체(passive entity)이고 프로세스는 능동적 개체 (active entity)로서 프로세스의 실행은 순차적으로 실행되어야 한다.
- 사용자 프로세스 : 사용자 코드를 수행하는 프로세스
- 운영체제 프로세스 : 사용자가 입력한 명령어를 해석하는 쉘 프로세스나 입출력 프로세스들 또는 사용자 프로세스를 생성하는 등의 시스템 운영에 필요한 코드를 수행하는 프로세스들.
2. 병행(concurrent)프로세스 / 프로세스 관계
병행프로세스 : 시스템 내에 다수의 프로세스들이 동시에 실행되는 것
- 프로세스들이 시스템 내에 동시에 존재하나 어느 한 순간에 단지 한 프로세스만 CPU에서 실행된다. 이를 병행성 또는 동시성이라고 한다.
⑴ 독립적 프로세스(independent process)
- 어떤 프로세스가 시스템에서 실행중인 다른 프로세스의 영향을 받지도않고 영향을 주지도 않을 때 그 프로세스를 독립적 프로세스 특징) =] 다른 프로세스와 데이타를 공유하지 않는 프로세스
① 프로세스의 상태는 다른 프로세스에 의해서 공유되지 않는다.
② 프로세스의 실행은 결정적이다. 즉, 실행결과는 입력에 의해서만 결정
③ 실행은 재생가능한 것으로 실행결과는 같은 입력에 대해서는 항상 동일하다.
④ 실행은 나쁜 영향을 발생하지 않고 중단되고 재시작될 수 있다.
⑵ 협력 프로세스(cooperating process)
- 어떤 프로세스가 시스템에서 실행중인 다른 프로세스에 영향을 받고 또 영향을 줄 때 그 프로세스를 유기적 프로세스라고 한다.
특징) =] 다른 프로세스와 데이타를 공유하는 프로세스
① 프로세스의 상태는 다른 프로세스들과 공유된다.
....