kernel/timer.c 의 do_timer 함수에서의 파라미터인 pt_regs는 어떤 프로세스의 레지스터 구조체인지요?
글쓴이: zzang9sds / 작성시간: 월, 2007/01/08 - 5:21오후
제가 하고 있는 작업이 매 10ms 마다 현재 cpu에서 실행중인 프로세스의 프로세스명과 pc(program counter)값을 저장하는것 입니다.
그래서 매 10ms마다 jiffy값을 ++ 해주는 kernel/timer.c의 do_timer() 함수내에서 이 데이터를 저장하고 있습니다.
프로세스명은 current->comm 을 이용해 해결을 하였는데 프로그램 카운터 값이 문제네요.
이리저리 커널소스 보니까 do_timer 함수의 파라미터가 pt_regs *regs 더군요.
pt_regs 구조체가 cpu의 여러 레지스터를 저장하는 구조체 이긴한데 do_timer 함수에서 받아오는 파라미터가 현재 수행중인 프로세스의 레지스터를 저장하는 것인지를 모르겠습니다.
아..또 추가적으로 실행중인 프로세스의 프로그램 카운터 레지스터의 값은 어떻게 받을 수 있을까요?
이에 대한 지식이 충만하거나 있으신 분들의 답변을 기다리겠습니다^^;;
Forums:
OS timer tick interrupt 가
OS timer tick interrupt 가 발생했을 때의 상태 정도가 아닐까 싶습니다.
댓글 달기