[공학]Operating System Concept (공룡책) , 운영체제 2장 연습문제
- 최초 등록일
- 2007.03.18
- 최종 저작일
- 2007.01
- 7페이지/
한컴오피스
- 가격 1,500원
![할인쿠폰받기](/images/v4/document/ico_det_coupon.gif)
소개글
공룡책의 연습문제 풀이입니다.
학부생이 작성한 것으로,
학부생이 작성한 것으로, A+ 리포트입니다.
2.2, 2.3, 2.4, 2.6 번에 대한 상세한 답을 얻으실 수 있을 것입니다.
목차
2.2
모니터 모드와 사용자 모드
2.2.1
모니터 모드와 사용자 모드
3 page
2.2.2
모니터 모드
2.2.3
시스템 모드
2.2.4
시스템 호출
2.3
트랩과 인터럽트의 차이점
2.3.1
트랩과 인터럽트의 정의
4 page
2.3.2
트랩과 인터럽트의 차이점
2.4
DMA가 유용한 타입의 연산
2.4.1
DMA의 정의
5 page
2.4.1
유용한 연산 타입
2.6
트랩과 인터럽트의 차이점
2.6.1
캐쉬가 유용한 두가지 이유
6 page
2.6.2
캐쉬가 캐슁대상처럼 커지지 못한 이유
2.6.3
캐쉬의 일관성
7 page
본문내용
OS내의 상태를 모니터모드와 사용자모드로 구분해 사용자 모드에서는 특권명령에 대한 접근이 불가능하도록 하고 모니터모드에서는 모든 명령어를 사용할 수 있도록 함으로써 보호 시스템을 실현한다. 모니터모드, 다른말로 슈퍼바이져모드, 커널모드라 하고 문제를 일으킬 수 있는 명령어들을 모니터 모드안에서만 실행될 수 있도록 한다. 일반 사용자는 모드 전환을 할 수 없고, 이런 전환을 위해서는 운영체제에 변경을 요청하여야 한다. 이를 다른 말로 이중 모드 연산(Dual Mode Operation)이라고 한다.
운영체제 또는 프로그램이나 데이터를 위협할 수 있는 모든 명령어들을 특권 명령어로 규정한다. 잘못된 사용자로부터 운영체제를, 그리고 잘못된 사용자 서로를 보호하는 방법을 우리에게 제공한다. 악영향을 미칠 수 있는 일부 명령을 “특권 명령”으로 지정함으로써 이런 보호를 실현한다.
만약 사용자 모드에서 특권 명령을 실현하려고 하면, 하드웨어는 이를 실현하지 않고 불법적인 명령으로 간주해 운영체제로 트랩을 건다.
사용자 프로그램은 사용자 모드에서 동작하고 운영체제는 모니터 모드에서 동작한다. 사용자 모드에 있는 모든 프로그램은 특권명령에 포함된 명령어들에 대한 접근이 거부된다. 그렇다고 해서 이들 데이터에 완전 접근이 불가능한 것은 아니다. 다만, 모드비트라고 하는 하나의 비트를 전환시킴으로써 서로 다른 영역에 있는 데이터에 대한 접근이 가능해진다.
사용자 모드가 모니터 모드보다 오버헤드가 적은 이유는 모드를 전환할 때마다 커널 스케줄러를 호출할 필요가 없기 때문입니다. 커널 스케줄러로 진입하려면 사용자 모드에서 모니터 모드로 전환해야 하는데, 이때 사용자쪽 하드웨어 레지스터를 전부 저장시키고, 커널 레지스터를 복구하는 등 수많은 작업이 일어난다.
따라서 사용자 모드와 커널 모드를 많이 왔다갔다 할수록 성능은 급격하게 떨어진다.
사용자 모드의 결정적인 단점은 프로세스내의 한 쓰레드가 커널로 진입하는 순간 나머지 쓰레드들도 전부 정지된다는 점입니다. 시스템 호출 길이가 짧아서 바로 리턴할 때는 문제가 없지만 연산이 길어지면 상당한 문제가 된다. 전체 프로세스의 응답성이 떨어지게 되는 것이다.
참고 자료
없음