검색 여닫기
검색
메뉴 여닫기
555
933
4
6.3천
noriwiki
둘러보기
대문
최근 바뀜
임의의 문서로
미디어위키 도움말
특수 문서 목록
파일 올리기
환경 설정 메뉴 여닫기
notifications
개인 메뉴 여닫기
로그인하지 않음
지금 편집한다면 당신의 IP 주소가 공개될 수 있습니다.
user-interface-preferences
한국어
개인 도구
로그인
Process 문서 원본 보기
noriwiki
문서 공유하기
다른 명령
←
Process
문서 편집 권한이 없습니다. 다음 이유를 확인해주세요:
요청한 명령은 다음 권한을 가진 사용자에게 제한됩니다:
사용자
.
문서의 원본을 보거나 복사할 수 있습니다.
==개요== Process(프로세스)란 실행하고 있는 프로그램의 객체를 의미한다. 프로세스를 실행하는 프로세서(CPU)나 프로세스가 실행하는 대상인 프로그램과는 구별되는 개념이다. 프로그램을 실행할 경우 프로세스에는 메모리와 CPU를 할당하며 이를 통해 프로세스가 탄생한다. 우리의 관점에서는 프로세스를 실행하면 두가지 마법같은 일이 일어난다. * 해당 프로세스가 모든 메모리를 독점적으로 사용하는 것처럼 보임 * 해당 프로세스가 중단되는 일 없이 하나씩 연속적으로 명령어를 실행하는 것 처럼 보임 컴퓨터의 메모리는 다음과 같이 구성된다. ==Multiprocessing== 시스템의 각 프로그램은 어떤 프로세스 내의 Context(맥락)<ref>메모리에 저장된 프로그램의 코드와 데이터와 스택, 범용 레지스터의 내용, 프로그램 카운터, 환경 변수, 열린 파일 디스크립터 집합 등</ref><ref>프로그램 카운터란 현재 실행중인 명령어의 메모리 주소를 저장하는 레지스터이다. 환경 변수란 OS가 프로세스에 전달하는 문자열 기반의 값이며, OS 및 사용자의 설정 정보를 제공한다. 열린 파일 디스크립터 집합이란 현재 프로세스에서 열어둔 파일을 관리하는 정수 값 목록을 의미한다.</ref> 내에서 실행된다. 사용자가 프로그램을 실행할 때마다 새로운 프로세스를 생성하고 해당 프로세스의 Context에서 실행 파일 객체를 생성한다. 이때 각각의 프로세스는 모든 메모리를 독점적으로 사용하는 것 처럼 보이며, 해당 프로세스가 중단되는 일 없이 하나씩 연속적으로 명령어를 실행하는 것 처럼 보인다. 이는 프로세스 개념에 의해서 다음과 같이 구현된다. * An independent logical control flow: 각 프로그램이 CPU를 독점적으로 사용하는 것처럼 보이게 함 ** context switching이라는 커널의 메커니즘에 의해서 구현됨 * A private address space: 각 프로그램이 메모리를 독점적으로 사용하는 것처럼 보이게 함 ** virtual memory라는 커널의 메커니즘에 의해서 구현됨 ===The (Traditional) Reality=== 하나의 프로세서(CPU)가 concurrently하게 다수의 프로세스를 처리한다. # 현재의 register들을 메모리에 저장함 # 실행에 대한 다음 프로세스를 스케쥴링함 # 저장된 register를 로드하고 address space를 전환함 (context switch) ==각주== [[분류:컴퓨터 시스템]]
Process
문서로 돌아갑니다.