리눅스마스터2급강좌 : 프로세스(process)의 개념
작성자 정보
- 관리자 작성
- 작성일
컨텐츠 정보
- 2,879 조회
- 0 추천
- 목록
본문
리눅스마스터2급강좌 : 프로세스(process)의 개념
프로세스의 개념
컴퓨터의 시스템의 동작 과정을 이해하기 위하여 반드시 알고 있어야 할 개념 중의 하나가 프로세스(process) 개념이다.
일반적으로 사용자가 컴퓨터에서 실행시키기 위하여 작성한 프로그램(컴파일 및 링크가 모두 완료된 실행 프로그램 또는 실행 파일)과 이 프로그램의 실행에 필요한 입력 데이터를 묶어서 작업(job)이라 하는데, 작업은 컴퓨터에 실행 의뢰되기 전의 상태 또는 실행 의뢰되는 과정에서 사용하는 용어라 할 수 있다.
그리고 이러한 작업이 컴퓨터 시스템에 실행 의뢰되어 운영체제, 즉 커널에서 이 사실이 전달되면 이 작업은 커널에 등록되며 이와 같이 커널에 등록된 작업을 프로세스라 부른다.
즉, 프로세스란 커널에 등록되어 커널의 관리 하에 있는 작업을 의미하며, 이를 일반적으로 실행중인 프로그램 또는 실행중인 작업이라 정의하고 있다.
따라서 어떤 프로그램이든 실행이 되면 하나의 프로세스로서 운영된다.
그리고 시스템 관리자는 이 프로세스를 제어함으로써 보다 효과적으로 시스템을 관리할 수 있게 된다.
그리고 PID는 “Process IDentifier”로 프로세스 식별자라 하며 유닉스 커널과 같은 운영체계에서 각 프로세스나 서비스를 식별하기 위해 할당하는 고유한 번호이다.
PID는 “fork”라는 시스템 호출에 의해 생성된다.
이와 같이 프로세스가 생성되면 이와 동시에 고유의 번호가 붙는데, 이것을 프로세스 식별 번호(Process IDentity number - PID 번호)라고 한다.
이 번호는 각 프로세스들의 시작 순서에 따라 차례로 붙여진다.
참고로 각 프로세스는 시스템 내의 프로세스들을 구분하기 위해 유일한 프로세스 번호가 부여되는데, 이 번호는 32Bit의 경우 0부터 최대 32767까지 차례대로 부여되며, 64Bit의 경우 기본 0부터 32767까지이며, “echo 4194303 > /proc/ sys/kernel/pid_max" 와 같이 커널 파라미터를 변경하여 최대 2^22 까지 늘릴 수 있다.
관련자료
-
이전
-
다음