사용자 모드에서 실행중인 프로세스와 커널 모드에서 실행중인 프로세스의 차이점을 알고 있습니다 (액세스 제한, 하드웨어 액세스 등을 기반으로 함). 하지만 호기심에서 커널 모드로 실행되는 프로세스와 루트로 실행되는 프로세스의 차이점은 무엇입니까?커널 모드에서 실행중인 프로세스와 루트로 실행중인 프로세스의 차이점은 무엇입니까?
11
A
답변
22
커널 모드와 루트는 실제로 서로 관련이없는 두 개의 개별 아이디어입니다. 루트로서 프로세스를 실행하는 개념은 unix/linux 용어로 시스템의 관리자로 로그인한다는 것을 의미합니다.
사용자가 루트 또는 일반 사용자로 실행하는 모든 프로세스는 일반적으로 사용자 모드와 커널 모드에서 실행됩니다. 시스템은 사용자 모드 (응용 프로그램 코드가 실행되는 곳)와 커널 모드 (커널 코드가 실행되는 곳) 사이를 지속적으로 전환합니다.
많은 장치 드라이버와 같은 일부 프로그램은 항상 커널 모드로 실행되므로 하드웨어에 대한 모든 액세스 권한이 있습니다. 루트 권한으로 실행되는 일반 응용 프로그램은 여전히 사용자 모드에 존재하며 커널 시스템 호출이 수행 된 후 커널 모드로 전환 한 다음 사용자 모드로 다시 전환됩니다.
당신이 묘사하는 것이 옳다고 생각합니다. 참고 문헌 (리눅스 커널 문서는 최고가 될 것입니다.)을 찾으려고 노력하고 있지만 찾을 수는 없습니다. 이것에 대한 언급이 있습니까? – jperelli