티스토리 뷰
운영체제(OS)
프로세스
*프로그램
프로그램이란 명령어 들이 보관되어 있는 하나의 파일로, 비활동 상태에 있습니다.
*프로세스
프로그램이 그 기능을 수행하기 위한 CPU및 다른 컴퓨터 자원을 요구하고 할당받아 활동 상태에 있는 것 입니다. 운영체제의 입장에서 보면 관리해야 하는 실행 주체 단위로 볼 수 있습니다. 프로세스의 다른 이름은 태스크(Task)입니다.
*프로세서
연산을 수행하고 프로세스의 실행을 제어하는 하드웨어 장치. 즉, CPU입니다. 프로세서가 여러개면 다중 프로세서 시스템이 되는 것 입니다.
*프로세스의 상태
프로세스의 상태는 실행(running)상태, 대기(waiting)상태, 준비(ready)상태 3가지가 있습니다.
- 실행 상태
프로세스가 CPU를 할당받아 실제로 명령어 들을 수행중인 상태 입니다. 단일 프로세서 시스템에서는 한 프로세스 만이 실행 상태에 있을 수 있습니다.
- 대기 상태
실행상태에 있던 프로세스가 인터럽트가 발생하거나 특정 조건이 필요할 시에 대기 상태가 됩니다. 예시로 외부 입력 데이터 필요시 입력이 완료될 때 까지 대기상태에 머물게 됩니다.
- 준비 상태
대기 상태에 있던 프로세스가 기다리던 사건이 만족되면 준비상태가 되며, CPU를 사용중인 프로세스가 CPU 반환시에 CPU를 할당 받을 수 있는 후보가 됩니다.
시분할 시스템에서는 한 프로세스가 CPU를 독점하여 사용하는 것을 방지하기 위해 운영체제가 사용자 프로세스에게 CPU를 할당할 때 미리 정해진 최대 CPU 사용시간을 설정해 둡니다. 만약 시간을 초과하면 운영체제가 그 프로세스를 실행 상태에서 준비 상태로 전이 시킵니다.
프로세스 제어 블록
*프로세스 제어 블록(Process Control Block; PCB)
프로세스가 실행 상태에서 다른 상태로 전이될 때, 현재까지의 실행 상태 정보를 저장해야 합니다. 저장된 상태 정보는 다시 스케줄 되어 실행될 때 환원 되어야 하며, 이런 상태전이가 프로세스의 수행 결과에 영향을 미쳐선 안됩니다. 프로세스의 상태 정보는 프로세스 제어 블록이라는 자료구조에 저장이 됩니다.
PCB는 프로세스가 처음 생성될 때 만들어지고 그 프로세스가 종료되면 삭제되며, 그 프로세스에 대한 기본적인 관리 정보가 저장되어 있습니다. (프로세스 식별자, 프로세스 상태, 프로세스 실행 정보, 사용 계정 정보)
- 프로세스 식별자 : 각 프로세스를 서로 구별하기 위한 일련번호.
- 프로세스 상태 : 프로세스의 현재 상태(준비, 대기, 실행)
- 프로세스 실행 정보 : 프로세스가 실행 상태에서 사용하던 자원에 대한 정보.
(다음에 다시 스케줄 되어 실행될 경우를 대비하여 현재 사용중이던 CPU 레지스터들의 내용아나 주기억장치의 위치 및 크기, 그리고 사용 중이던 파일이나 입출력 장치들에 대한 세부 할당 정보가 저장)
- 사용 계정 정보 : 해당 프로세스가 어떤 종류의 자원을 얼마나 사용했는지를 나타내는 정보
(해당 프로세스가 사용한 총 CPU 시간, 점유한 주기억장치 용량, 보조 기억장치 용량, 입출력 장치를 사용한 횟수 및 전송된 데이터 크기 등)
'기타 스터디 > 운영체제' 카테고리의 다른 글
프로세스 스케줄링 (3950) | 2015.12.07 |
---|---|
실시간 시스템, 분산처리 시스템 의 네트워크 운영체제 (423) | 2015.12.05 |
다중프로그래밍 시스템, 다중 타스킹, 다중 사용자, 다중처리기, 시분할 시스템 (411) | 2015.12.04 |
운영체제 - 운영체제의 정의와 하부 관리자 (425) | 2015.12.03 |