본문 바로가기
운영체제

OPERATING SYSTEM CONCEPTS 에센셜 연습문제 1장 #2

by 핫동경 2022. 3. 26.
반응형

오답이 있을 시 댓글로 남겨주시면 감사하겠습니다

 

 

1.11 분산 시스템의 클라이언트-서버 모델과 피어 간 모델의 차이점을 설명하시오

○ 클라이언트-서버 : 클라이언트와 서버로 역활이 나뉜다. 클라이언트는 서버에 요청을 하면 서버는요청에 응답한다.

피어 간 시스템 : 클라이언트와 서버의 역활이 나뉘어져있지 않고 한 노드가 클라이언트와 서버둘 다 될 수 있다. 


1.12 다중 프로그래밍과 시분할 환경에서, 다수의 사용자가 동시에 시스템을 공유한다이러한 상황은 여러가지 보안 문제를 일으킬 수 있다.

     A. 그러한 문제점 두 가지는 무엇인가?

     B. 우리가 전용 컴퓨터에서 갖는 동일한 수준의 보안을 시분할 시스템에서도 보장할 수 있는가?

 

 ○ A : 한 사람이 문제를 일으키면 나머지 사람도 영향을 받을 수 있다. 한 사용자가 해킹을 당하면하드웨어의 자원이 보호되기 어렵다.

 ○ B : 보장할 수 없다. 시분할 시스템은 상호작용의 영향이 크며 파일시스템, 디스크 관리 기법, 자원을보호하기 위한 기법 등 여러가지 기법이 제공되어야 한다.


1.13 자원 활용의 문제는 운영체제의 유형별로 다른 모습으로 나타난다. 다음과 같은 환경에서는 어떤 자원들이 신중하게 관리되어야 하는지 나열하시오.

     A. 메인 프레임 또는 미니컴퓨터 시스템 : CPU, 네트워크, 메모리

     B. 서버에 연결된 워크스테이션 : CPU, 네트워크

     C. 휴대용 컴퓨터 : 전력, 메모리, CPU


1.14 어떠한 상황에서 개인용 컴퓨터 또는 단일 사용자 워크스테이션을 사용하는 것보다 시분할 시스템을 사용하는 것이 더 좋은가?

      ○ 사용자가 많을 때

      ○ 여러개의 프로세스를 다룰 때


1.15 대칭적 다중 처리와 비대칭적 다중 처리의 차이점을 설명하시오. 다중 처리기 시스템의 세 가지 장점과 한 가지 단점은 무엇인가?

○ 대칭적 다중 처리 : 각 처리기 간에 주종관계가 없기 때문에 모든 처리기가 대등하다.

○ 비대칭적 다중 처리: 각 처리기 간에 주종관계가 있기 때문에 모든 처리기가 대등하지 않다. 하나의 주 처리기가 시스템을 제어하고 다른 처리기들은 주 처리기의 명령을실행하거나 미리 지정된 태스크를 실행한다 

    

  세 가지 장점 : 1. CPU가 여러개이므로 처리량이 늘어난다 

                        2. 한개의 CPU를 가진 여러개의 컴퓨터를 사용하는 것 보다 비용이 저렴하다.

                        3. 한개의 CPU가 고장나더라고 나머지 CPU가 일을 해줄 수 있기 때문에 신뢰성이 높다.

  

 ○ 단점 : CPU가 여러 개 있을 때 어떤 CPU는 일을 많이하고 다른 CPU는 일을 적게하는 부하 현상이 생겨 비효율을 야기할 수 있다.


1.16 클러스터형 시스템과 다중 처리기 시스템의 차이점은 무엇인가? 고가용 서비스를제공하기 위하여 한 클러스터에 속한 두 컴퓨터가 협력하는 데 필요한 것은 무엇?

 ○ 다중 처리기 : 한 컴퓨터 내에 여러개의 처리기가 있음

 ○ 클러스터형 시스템 : 둘 이상의 독자적 시스템 또는 노드들을 연결하여 구성한다(어러 대의 컴퓨터)

 ○ 협력하는 데 필요한 것 : 근거리 통신망, 고속의 상호 연결망


1.17 하나의 데이터베이스를 실행하는 두 개의 노드로 구성된 컴퓨팅 클러스터를 고려해보자. 클러스터 소프트웨어가 디스크의 데이터에 대한 접근을 관리하는 두 가지 방법을 설명해 보시오. 각각의 장점과 단점을 논의하시오.

두 가지 방법: 접근 제어와 잠금 기법

○ 장점과 단점 : 접근제어는 권한을 설정해 데이터마다 접근을 제어할 수 있지만 데이터에 대한 경쟁상태에 이를 수 있다. 잠금기법은 키를 사용해 데이터를 얻을 수 있지만 경쟁성이 없다


1.18 네트워크 컴퓨터가 전통적 개인용 컴퓨터와 어덯게 다른가? 네트워크 컴퓨터를 사용하는 것이 유리한 사용 시나리오를 설명하시오

○  전통적 컴퓨터는 일반인들이 사용하기에 편리하도록 설계되었고 네트워크 컴퓨터는 효율성에 주안을 두고 설계되었다. 네트워크 컴퓨터는 사무실이나 회사에서 주요 프로그램들을 공동으로 쓸 때 유용하다


1.19 인터럽트의 목적은 무엇인가? 트랩과 인터럽트의 차이점은 무엇인가? 트랩은 사용자 프로그램에 의해 의도적으로 발행할 수 있는가? 만일 그렇다면 그 목적은 무엇인가?

○ 오류나 예외를 처리가기 위한 것이다 인터럽트는 하드웨어가 거는 것이지만 트랩은 소프트웨어가 건다.예외나 오류를 처리하기위해 의도적 발생가능(0으로 나눌때)


1.20 CPU의 실행 부하가 증가하는 것을 피하기 위하여 직접 메모리 액세스 방식이 고속 입출력 장치에 사용된다.

  A.전송을 조율하기 위하여 CPU는 어덯게 장치와 결합 작동하는가? :

     장치 제어기에게 메모리에 직접 액세스하도록

 

  B.CPU는 메모리 연산이 종료되었음을 어덯게 알 수 있는가?

      인터럽트를 받는다

  

  C. DMA가 데이터를 전송하는 동안 CPU는 다른 프로그램을 실행할 수 있다. 이 프로세스는 사용자 프로그램의 실행을 방해하는가? 만일 그렇다면 어떤 형태의 방해가 발생하는지 설명하시오

     DMA 와 CPU는 같은 공용버스를 사용하기 때문에 방해받는다.


나머지 21~30은 다음글에서 다루겠다.

반응형

댓글