Blog Content

    티스토리 뷰

    10. 프로세스와 스레드 (Process and Thread)

    반응형

    프로세스(Process)란?
    - 실행중인 프로그램 (실행의 기본단위)
    - 커널에서 할당 받은 자신만의 자원을 가진 동적인 프로그램
    - 어플리케이션과 사용자 와의 의사소통을 처리
    - 여러개의 프로세스를 멀티태스킹 이라고 한다.
    - 하드디스크에 저장된 프로그램이 실행이 되고 나서 바이너리 파일이 메모리에 적재된 상태
    - 단일 스레드 모델


    [그림 11-1]


    운영체제는 각 프로세스에게 총 4GB의 가상공단을 할당합니다.
    리눅스에서는 0~3GB 까지는 사용자 공간이고 나머지 3~4GB는 커널공간입니다. ( 32bt 기준)

    stack : 지역변수와 인자값과 함수의 리턴 주소등
    heap : 동적으로 할당 받은 내용
    data  : 전역변수
    text   : CPU가 수행되는 명령어


    [그림 11-2] 

    스레드(Thread)란?
    - 프로세스의 실행되는 흐름의 단위
    - 프로세스는 겁 껍데기 이고 실제 실행하고 동작하는건 스레드


    반응형

    'ubuntu_Git' 카테고리의 다른 글

    12. 태스크 관리 (Task_Struct 구조체)  (0) 2012.04.05
    11. 프로세스와 스레드의 차이점  (1) 2012.04.02
    09. Kernel 의 종류  (0) 2012.03.25
    08. Kernel 이란?  (0) 2012.03.18
    07. GCC 컴파일 과정  (0) 2012.03.14

    Comments