운영체제(OS) 리눅스 프로세스 관련 커널 소스 분석
닫기
  • 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
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84
  • 85
  • 86
해당 자료는 10페이지 까지만 미리보기를 제공합니다.
10페이지 이후부터 다운로드 후 확인할 수 있습니다.

소개글

운영체제(OS) 리눅스 프로세스 관련 커널 소스 분석에 대한 보고서 자료입니다.

목차

1. PCB구조분석

2. 프로세스의 생성 분석

3. 프로세스의 실행 분석

4. 프로세스의 소멸 분석

5. 리눅스 스케줄러 분석

본문내용

struct task_struct
어떤 어셈블리 코드들은 이 구조체의 멤버들을 byte offset으로 찾아간다. 따라서 구조체 멤버들의 선언 순서를 바꾸면 이 코드들이 오동작하게 되므로, 건드려선 안된다.
프로세스의 STATE를 지정한다. 프로세스의 STATE는 다음 5가지 중 하나다.
TASK_RUNNING : 프로세스가 실행 중, 또는 실행을 기다리는 중이다.
TASK_INTERRUPTIBLE : 프로세스가 block되어있는 상태이다, 적절한 인터럽트나 시그널로 TASK_RUNNING 상태로 복귀한다.
TASK_UNINTERRUPTIBLE : 프로세스가 block되어 있는 상태이지만, 인터럽트나 시그널을 받지 않는다. 따라서 blocking된 이유가 없어질 때까지 block된 상태로 남아있는다.
TASK_STOPPED : SIGSTOP, SIGTSTP, SIGTTIN, SIGTTOU 시그널에 의해 프로세스의 실행이 중단된 상태이다.
TASK_ZOMBIE : 프로세스의 실행이 종료되었으나 부모 프로세스가 wait()를 호출하지 않아 자원이 해제되지 않은 상태이다. wait()호출 후 자원을 반납하고 소멸한다.프로세스의 상태들은 (root)/include/linux/sched.h에 정의되어 있다.
#define TASK_RUNNING 0
#define TASK_INTERRUPTIBLE 1
#define TASK_UNINTERRUPTIBLE 2
#define TASK_ZOMBIE 4
#define TASK_STOPPED 8
프로세스의 각종 상태를 flag로 세팅하며 flag는 PF_접두어를 갖는다.
flag는 (root)/include/linux/sched.h에 정의되어 있다.
#define PF_ALIGNWARN 0x00000001 : alignment 경고 시그널
#define PF_STARTING 0x00000002 : 프로세스 만들어짐
#define PF_EXITING 0x00000004 : 프로세스 죽어감
#define PF_FORKNOEXEC 0x00000040 : fork()하나 exec()함수는 호출안함
#define PF_SUPERPRIV 0x00000100 : root권한으로 프로세스 사용
#define PF_DUMPCORE 0x00000200 : core dump
#define PF_SIGNALED 0x00000400 : 시그널을 받고 죽음
#define PF_MEMALLOC 0x00000800 : 메모리 할당중

키워드

운영체제,   리눅스,   OS,   프로세스,   커널,   kernel
  • 가격3,000
  • 페이지수86페이지
  • 등록일2004.04.12
  • 저작시기2004.04
  • 파일형식워드(doc)
  • 자료번호#246415
본 자료는 최근 2주간 다운받은 회원이 없습니다.
청소해
다운로드 장바구니