1. 프로세스 구조
    1. 텍스트(text) 영역 or 코드(code) 영역
      1. 프로세스가 실행하는 실행 코들르 저장하는 영역
    2. 데이터(data) 영역 or bss 영역
      1. 전역 변수, 정적 변수를 저장하는 메모리
    3. 힙(heap) 영역
      1. 동적 메모리 할당을 위한 영역
    4. 스택(stack area) 영역
    5. U(user area) 영역
      1. 프로세스의 내부 정보를 저장하는 영역
      2. 열린 파일의 디스크립터, 현재 작업 디렉터리 등을 저장
  2. size : 실행 파일의 각 영역의 크기를 알려줌
  3. 프로세스 ID
    1. 쉘의 명령어 처리 과정
      1. 프롬프트를 내고 명령어를 입력 받음
      2. 자식 프로세스 생성
      3. 자식 프로세스에게 명령어를 실행시킴
    2. myps.c
    3. 실행 결과
  4. fork()
    1. 부모 프로세스를 똑같이 복제하여 새로운 자식 프로세스를 생성
    2. 자기 복제
    3. fork()는 한 번 호출되면 두 번 리턴
      1. 자식 프로세스에게는 0을 리턴하고
      2. 부모 프로세스에게는 자식 프로세스 ID 리턴
    4. 부모 프로세스와 자식 프로세스는 병행적으로 각각 실행을 계속한다.
    5. myfork.c

    6. myfork2.c

  5. wait() : 프로그램 정지
  6. exec() : 프로그램 실행
    1. exec() 호출이 성공하면 리턴할 곳이 없어진다.
    2. 성공한 exec() 호출은 절대 리턴하지 않는다.
    3. myexec.c

    4.  myexec2.c

  7.  myargc.c
  8. ps -ef :
  9. ps -aux
  10. pstree : 실행중인 프로세스들의 부모, 자식 관계를 트리 형태로 출력

     
  11. w : 로그인한 사용자의 자세한 작업 정보를 출력

     

 

 

error: Content is protected !!