나는 Robert Love의 "Linux Kernel Development"를 읽고 있는데, 다음 구절을 보았습니다.
(쉬운) 부동 소수점 사용 없음
사용자 공간 프로세스가 부동 소수점 명령어를 사용할 때 커널은 정수에서 부동 소수점 모드로의 전환을 관리합니다. 부동 소수점 명령어를 사용할 때 커널이해야하는 일은 아키텍처에 따라 다르지만 커널은 일반적으로 트랩을 포착 한 다음 정수에서 부동 소수점 모드로 전환을 시작합니다.
사용자 공간과 달리 커널은 쉽게 자체적으로 트랩 할 수 없기 때문에 부동 소수점을 완벽하게 지원하지 못합니다. 커널 내에서 부동 소수점을 사용하려면 다른 가능한 작업 중에서 부동 소수점 레지스터를 수동으로 저장하고 복원해야합니다. 짧은 대답은 : 하지 마십시오! 드문 경우를 제외하고는 커널에 부동 소수점 연산이 없습니다.
나는 이러한 "정수"및 "부동 소수점"모드에 대해 들어 본 적이 없습니다. 정확히 무엇이며 왜 필요한가요? 이 구별이 주류 하드웨어 아키텍처 (예 : x86)에 존재합니까, 아니면 좀 더 이국적인 환경에 특정한 것입니까? 프로세스와 커널의 관점에서 정수에서 부동 소수점 모드로의 전환은 정확히 무엇을 수반합니까?