2012-08-31 5 views
2

OS 권한 수준과 기본 하드웨어의 권한 수준의 차이점은 무엇입니까? 모든 시스템 호출로 인해 커널에 트랩이 발생합니까? 왜 시스템 호출이 트랩을 유발합니까? 어셈블리 코드에서 IN과 같은 권한있는 지시 때문입니까?OS 권한 수준 대 하드웨어 권한 수준

답변

2

직접 질문에 대답하려면 :

기본 하드웨어의 OS 권한 수준 및 권한 수준의 차이점은 무엇입니까?

코드 수준 (즉, 권한있는 지침)에 적용해야하는 권한은 하드웨어에서 지원되어야합니다. 대부분의 OS 보안 수준 (즉, 특정 하드웨어 장치에 액세스하는 권한)은 해당 특정 기능을 인증하기위한 하드웨어 지원이 필요하지 않지만 최소한 코드가 장치에 액세스하지 못하도록 하드웨어 지원이 필요합니다. 간단히 말해, 권한 레벨을 구현하는 OS의 기능은 기본 하드웨어에 따라 다르지만 두 가지가 같을 필요는 없습니다.

모든 시스템 호출로 인해 커널에 트랩이 발생합니까? 왜 시스템 호출이 트랩을 유발합니까? 어셈블리 코드에서 IN과 같은 권한있는 지시 때문입니까?

본질적으로 맞습니다. 트래핑은 특권이없는 코드가 특권 레벨로 전환 할 수있는 자연스러운 메커니즘입니다. 예를 들어 사용자 프로그램이 일부 하드웨어에 액세스해야하는 경우 IN 및 OUT은 권한이 있으므로 커널에 '트랩'해야합니다. 그러면 커널이 필요한 작업을 수행하고 돌아옵니다.

+0

그래서 시스템 호출은 본문에 권한이있는 명령어에 대한 호출이 포함 된 함수 인 것으로 보입니다. 내가 맞습니까? – user1284064

+0

@ user1284064 시스템 호출은 소프트웨어 인터럽트를 통해 실제 구현됩니다. 예를 들어, 클라이언트 프로그램이 권한있는 명령어로 함수를 "호출"하는 것은 커널에게 무엇을해야하는지 알려주는 INT 명령어를 사용합니다. – Dougvj

관련 문제