• 카테고리

    질문 & 답변
  • 세부 분야

    시스템

  • 해결 여부

    미해결

user mode i/o 관련 질문

22.08.24 20:55 작성 조회수 178

0

안녕하세요. 강의 감사히 잘 듣고 있습니다.

강의 중에 등장한 user mode, kernel mode 의 차이점에 대해 따로 찾아보던 중 이해가 안 되는 부분이 있어 질문을 남깁니다.

kernel 모드는 OS의 핵심적인 기능들을 수행하는 모드로서 모든 컴퓨팅 자원들에 대한 접근 권한을 갖습니다.

하지만 user mode 는 제한된 권한을 가지면서, i/o 등의 작업이 필요할 경우 system call 을 통해 kernel에 해당 작업을 요청하는 식으로 동작한다는 것을 알게 되었습니다.

이런 구조를 갖는 이유는, user mode에서 수행할 user application에서 (외부의 공격에 의해 심어진) "디스크의 내용을 모두 지워라" 와 같은 악의적인 내용을 수행하려할 경우 이러한 위험에서 리소스들을 보호하기 위함이라는 내용을 보았습니다.

 

제 의문은 여기서 발생합니다. 

user mode 는 어쨌든 i/o 가 필요할 때 kernel 에 해당 작업을 요청할텐데..

kernel은 요청받은 i/o 작업이 필요에 의한 작업인지? 외부 공격 등에 의한 악의적인 동작인지? 를 어떤 식으로 구분하여 리소스를 안전하게 보호할 수 있는 것인가요?

많은 자료를 찾아보았으나 해답을 얻지 못해 실례를 무릅쓰고 질문 드립니다.

 

답변해주시면 공부하는데 큰 도움이 될 것입니다.

읽어주셔서 감사합니다.

답변 1

답변을 작성해보세요.

0

kkoo ru님의 프로필

kkoo ru

2023.03.01

커널은 프로세스 단위로 컴퓨팅 자원을 분배하기 때문에 어떤 프로세스가 다른 프로세스에 할당된 메모리공간을 침범하려하면 동기화가 잘되어 있는한 운영체제가 막는걸로 알고 있습니다