Notice
Recent Posts
Recent Comments
Link
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
Tags
more
Archives
Today
Total
관리 메뉴

따..딱히 공부하려고 포스팅하는 건 아니니까..!

[리눅스]프로세스(Process) 본문

시스템|서버|네트워크

[리눅스]프로세스(Process)

보즈리 2014. 12. 9. 04:39


프로세스(Process)란?

 간단히 말하자면 실행중인 프로그램을 말한다.

 그러나 한 프로그램을 여러 번 실행하여 여러 개의 프로세스를 만들 수 있으므로 프로그램 자체가 프로세스인 것은 아니다.


 (※ 커널에는 프로세스가 하나밖에 없다 = 커널에서는 모든 자료구조와 메모리를 공유할 수 있다)




<프로세스의 구조>


텍스트 : 프로세스가 실행하는 실행코드를 저장하는 영역

데이터 : 전역변수, 정적변수를 위한 메모리 영역

: 동적 메모리 할당을 위한 영역

스택 : 함수 호출을 구현하기 위한 영역(함수 호출 시 해당 함수의 지역변수, 매개변수, 반환주소, 반환값 등을 포함하는 활성 레코드가 저장)

U-영역 : 열린 파일 디스크립터, 현재 작업 디렉터리 등과 같은 프로세스 정보를 저장하는 영역


 프로세스를 유지하기 위해서는 커널 내의 프로세스에 대한 정보가 필요하고, 

 프로그램을 실행하기 위해서는 텍스트(코드), 데이터, 힙, 스택 등의 영역(Segment)들을 위한 메모리 할당이 필요하다.

Comments