문제

나는 운영 체제 결승을 공부하고 있으며 누군가가 왜 Syscalls의 커널 모드로 전환 해야하는지 말해 줄 수 있는지 궁금해하고 있습니까?

도움이 되었습니까?

해결책

SyScall은 일반적인 사용자 코드가 보안상의 이유로이를 수행 할 수 없기 때문에 커널 모드에서 작동을 실행하는 데 특별히 사용됩니다.

예를 들어, 메모리를 할당하려면 메모리를 할당 할 수있는 특권이 있습니다 (페이지 테이블을 알고 다른 프로세스의 메모리에 액세스 할 수 있기 때문에 사용자 프로그램 으로서는 엿보기 또는 파멸을 허용해서는 안됩니다. 다른 프로세스의 기억. 그것은 당신을 샌드 박스를 만드는 방법입니다. 따라서 운영 체제에 메모리를 할당하도록 요청하는 SYSCALL을 보냅니다. 이는 커널 수준에서 발생합니다.

편집 : 이제 그 사실을 알 수 있습니다 위키 백과 기사 놀랍게도 이것에 유용합니다

다른 팁

이것은 "숙제"에 태그가 지정되어 있으므로 답을주지 않고 힌트를 제공 할 것입니다.

커널은 컴퓨터의 하드웨어에 액세스하고 응용 프로그램이 서로 밟지 않도록합니다. 커널의 협력없이 애플리케이션이 하드웨어 장치 (예 : 하드 드라이브)에 액세스 할 수 있다면 어떻게됩니까?

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top