검색어 입력폼
평가점수B

[컴퓨터공학] 리눅스 커널소스 분석(2.4버전)

등록일 2003.07.17 한글파일한글 (hwp) | 6페이지 | 가격 500원

소개글

리눅스 해석, 분석하려면 한개의 자료만 봐선 안되고(어느것도 완벽한 분석된 것이 없기 때문) 여러개를 보고 한개라도 의미를 제대로 파악하면 큰 발전이 있다고 봅니다.

목차

task 구조체
프로세스 생성
프로세스 스케줄링 관련 해석

본문내용

asmlinkage void schedule(void) stack(메모리의 한종류)에 이 내용을 올린다.
{
struct schedule_data * sched_data;
struct task_struct *prev, *next, *p;
struct list_head *tmp;
int this_cpu, c;

if (!current->active_mm) BUG(); 현재 메모리를 사용하지 않으면 버그(오류)다.
kernel/sched.c에서 뽑음 line 549

먼저 task queue에 등록된 모든 routine들을 처리한다. scheduler에서는 process를 scheduling 하기 전에 이렇게 등록된 routine들을 처리함으로서 기다리고 있을지도 모를 process들을 실행 가능상태로 만든다.


need_resched_back: need_resched는 스케줄링 요구임(새로운 프로세스 선택)
prev = current;
this_cpu = prev->processor; 좀 있다 cpu를 사용한다.

if (in_interrupt()) 인터럽트 중이면
goto scheduling_in_interrupt;

release_kernel_lock(prev, this_cpu); 커널모드로 돌린다.
kernel/sched.c에서 뽑음 line 565

참고 자료

리눅스 바이블---책
다운로드 맨위로