프로 세 스 의 데이터 구조 에서
1321 단어 운영 체제
struct thread_info thread_info;
void *stack;
사용자 상태 함수 스 택
스 택 은 높 은 주소 에서 낮은 주소 로 아래로 늘 어 나 는 구조 이다.32 비트: CPU 에서 ESP 는 스 택 상단 포인터 레지스터 이 고 EBP 는 스 택 기본 주소 포인터 레지스터 입 니 다.함수 가 돌아 올 때 반환 값 은 EAX 레지스터 중국 에 저 장 됩 니 다. 스 택 에서 주 소 를 되 돌려 주 고 명령 을 되 돌려 줍 니 다. 매개 변수 도 스 택 에서 꺼 낸 다음 에 A 64 비트 를 계속 실행 합 니 다. rdi, rsi, rdx, rcx, r8, r9 등 6 개의 레지스터 는 저장 함수 호출 시의 6 개의 인 자 를 전달 합 니 다.6 이 넘 으 면 창고 에 넣 어야 합 니 다.그러나 앞의 6 개의 매개 변 수 는 가끔 주 소 를 찾 아야 하지만 레지스터 안에 주소 가 없 으 면 스 택 에 넣 습 니 다. 스 택 에 넣 는 작업 은 호출 함수 에 의 해 이 루어 집 니 다.
커 널 상태 함수 스 택
32 비트 의 커 널 스 택 은 8K 이 고 64 비트 의 커 널 스 택 은 16K 이다.커 널 스 택 의 최저 주 소 는 thread 입 니 다.info 구조, 커 널 스 택 의 최고 주소, 다른 구조 pt 저장regs, 32 비트 와 64 비트 의 정의 가 다 릅 니 다.
task 통과 하기struct 내부 창고 찾기
task_struct 의 stack 지침 이 손 에 있 습 니 다. 아래 함 수 를 통 해 이 스 레 드 커 널 스 택 을 찾 을 수 있 습 니 다.pt 를 어떻게 찾 는 지 에 대해 서regs?창고 밑 의 위 치 를 찾 은 후에 바늘 로 조작 하면 내부 레지스터 를 찾 을 수 있다
커 널 스 택 을 통 해 task 찾기struct
32 위 는 주로 threadinfo, 64 비트 는 Per - CPU 변수 에 의존 합 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
독서 노트문제1: 한 파일에 10000000개의 기록이 포함되어 있으며, 각 기록의 내용은 7자리의 정수이다.기록은 중복되지 않는다.파일 내용을 읽는 프로그램이 필요하고, 이 기록을 정렬한 후 파일을 출력해야 하며, 메모리는...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.