management 할려면 당연히 권한이 많아야고 그렇기 때문에 만든 사람이 그렇게 구축합니다. 원하는대로 맘껏 할 수 있는 무제한 권한의 kernelmode와 권한이 얼마 없고 사용하기 위해서는 일일이 허가받아야 하는 usermode로 나눈거죠. 회사라는 조직 내에서 말단사원과 사장의 권한이 다르듯이. os의 역할은 시스템이 효율적으로 작동할 수 있도록 배분하고 관리하는 system management입니다.
management를 해야 되는데 management에 필요한 권한 없다면 그건 os가 아니라 쓸데없는 코드 덩어리입니다.
os가 usermode에서 돌아가는거라면 그건 os에 딸려오는 부가기능이지 그 자체가 os가 아닙니다. management 권한이 없는데요.
가상머신에서 도는 os라면 호스트 os에 대해서는 일개 프로그램이지만, 그 호스트의 권한 안에서 또 많은 프로그램을 품고 호스트가 준 자원을 이들에게 배분하고 관리하죠.
OS의 정의가 먼가요?
Ubuntu는 OS인가요? Linux만 있으면 그것도 OS일까요? Mach kernel은 어떨까요?
A rose is a rose is a rose..
..
OS를 리눅스 커널로 보면 커널 실행이 시스템 콜로 유저 스페이스와 분리되기 때문인것 같습니다만..
A rose is a rose is a rose..
뭔가 수업에 연장선에서 받은 정확한 질문이 있을 듯 하네요.
지금 위의 질문 만으로는 너무 황당한 질문이라.
수업과 관련된 뭔가 질문의 핵심이 보이질 않네요.
OS가 항상 커널 모드에서 "수행되는 이유" 라면 답변 달 사람들이 많겠지만
"수행될 수 있는" 이라면 그냥 그렇게 OS 와 CPU protection 들이 그렇게 Design 되고 구현 되었기 때문일 겁니다.
교수님에게 여쭈어 봤습니다.
운영체제는 인터럽트가 발생하면 자동적으로 프로세서 모드가 커널모드로 변경되기 때문이다.
라고 하시네요.
user program이 system call하면
user program이 system call하면 OS는 어떻게 더 많은 권한을 가진 커널 모드로 진입하는가라는 질문에 대한 답이네요.
Simple answer
운영체제가 커널의 모드, 즉 "가장 높은 권한 모드"에서 프로세서의 모든 하드웨어 (레지스터나 어드레스)를 접근할 수 있기 때문입니다.
?
위에서 교수님이 말씀하신 건 "수행될 수 있는" 이유가 아니라 "수행되는 이유" 죠.
사실 저 말 자체도 맞긴 맞지만 수행되는 이유로 설명하기엔 그다지 적절하지 않다고 봅니다.
..
저도 궁금한것은 OS의 일부가 usermode에서 실행되는 경우도 있지 않나요?
A rose is a rose is a rose..
management 할려면 당연히 권한이 많아야죠.
management 할려면 당연히 권한이 많아야고 그렇기 때문에 만든 사람이 그렇게 구축합니다. 원하는대로 맘껏 할 수 있는 무제한 권한의 kernelmode와 권한이 얼마 없고 사용하기 위해서는 일일이 허가받아야 하는 usermode로 나눈거죠. 회사라는 조직 내에서 말단사원과 사장의 권한이 다르듯이. os의 역할은 시스템이 효율적으로 작동할 수 있도록 배분하고 관리하는 system management입니다.
management를 해야 되는데 management에 필요한 권한 없다면 그건 os가 아니라 쓸데없는 코드 덩어리입니다.
os가 usermode에서 돌아가는거라면 그건 os에 딸려오는 부가기능이지 그 자체가 os가 아닙니다. management 권한이 없는데요.
가상머신에서 도는 os라면 호스트 os에 대해서는 일개 프로그램이지만, 그 호스트의 권한 안에서 또 많은 프로그램을 품고 호스트가 준 자원을 이들에게 배분하고 관리하죠.
Written By the Black Knight of Destruction
댓글 달기