2012-04-16 4 views
2

어셈블리 모드에서 리눅스가 보호 모드로 실행되는 방식에 관심이 있습니다. i386 : 0x86_64 시스템에 대해 CPU를 보호 모드로 설정하는 데 사용되는 레지스터 및 인터럽트는 무엇입니까? 나는 mmap과 mprotect와 같은 함수의 근원을 볼 때 메모리 관리가 어떻게 작동 하는지를 이해한다. 그러나 내가 어셈블리를 인계받지 못하게하는 것은 무엇인가? 이것에 대한 자세한 정보는 어디에서 얻을 수 있습니까?리눅스는 어떻게 메모리를 보호합니까?

답변

1

arch/x86/mm/ - arch/x86/mm/init.c은 올바른 아키텍처 (ia32 또는 AMD64)를위한 페이지 테이블을 설정하고 사용 가능한 프로세서 기능 (PSE, PGE 등)을 고려합니다.

0

스트레스를받습니다. 이것은 프로세서의 기능입니다. Linux는 프로세서에 무엇을 보호해야하는지 알려주고 프로세서는이를 수행합니다.

AFA 시스템 호출 인터페이스는 C 라이브러리가 mmap을 갖기 전에 뒤에서 http://stromberg.dnsalias.org/~strombrg/pbmonherc.html을 흘끗 보았습니다. 파일 mmap.c 참조

관련 문제