[Operating System Concepts] Introduce_exercises

2019. 12. 27. 17:25Operating System

1.1  multiprogramming 환경과 time-sharing 환경에서 몇몇의 사용자들은 동시에 시스템을 공유한다. 이러한 상황은 다양한 보안 문제의 결과를 야기할 수 있다.

   a. 이러한 두 가지 문제는 무엇인가?

 ans -> 적절한 과정을 무시한 자원 분배 문제 및 데이터나 프로그램의 복사 혹은 강탈의 문제 등이 야기 된다. 

 

   b. time-shared 시스템에서 전용 muchine와 같은 보안 수준을 제공할 수 있다고 확신 할 수 있나?

 ans -> 거의 불가능 할 것이라고 생각한다. 왜냐하면, 사람이 고안하여 만들어 낸 체계는 사람에 의해 해당 체계를 부술 수 있기 때문이다.

 

1.2 자원 사용 문제는 다양한 유형의 OS에 따라 다른 형식을 보여준다. 주어진 것들 중 어떤 자원이 가장 주의하여 다루어 져야하는 지 열거해 보라.

   a. mainframe 이나 minicomputer systems -> 메모리, CPU 자원, 저장소, 네트워크 대역폭

   b. 서버에 연결된 단말기 -> 메모리, CPU 자원

   c. 모바일 컴퓨터 -> 전력 소모, 메모리 자원

 

1.3 어떤 상황에서 사용자가 PC 혹은 single-user workstation을 사용하는 것보다 time-sharing 시스템을 사용하는 것이 나은 가?

 ans -> 다른 사용자가 많지 않으며 작업이 많고 하드웨어가 빠르다면, time-sharing 시스템을 사용하는 것이 좋다. 

 

1.4 symmetric multiprocessing 과 asymmetric multiprocessing의 차이점은 무엇인가? 그리고 multiprocessing 시스템의 3가지 장점과 한가지 단점은 무엇인가?

 ans -> symmetric(대칭의) multiprocessing은 모든 프로세서를 동일하게 취급한다. 하지만 asymmetric(비대칭의) multiprocessing은 boss와 worker 프로세서로 역할이 나누어 있다. boss 프로세서는 worker프로세서의 작업을 계획하고 할당한다.

multiprocessing 시스템의 장점

   1. 시스템 효율의 증가 : 프로세서의 수가 증가함으로써 더 적은 시간내에 더 많은 일을 할 수 있다.

   2. 용량의 경제성 : 중복되는 데이터의 공간사용, 전력 공급등을 절약할 수 있다.

   3. 신뢰도 증가 : 하나의 프로세서가 실패하여 멈추더라도 다른 프로세서에서 작업을 하기 때문에 정확도가 증가한다.

 

1.5 multiprocessor 시스템과 clustered 시스템의 차이점은 무엇인가? 고 이용성 서비스를 제공하기 위해 cluster에 속한 두 시스템이 협력하려면 무엇이 필요한가?

 ans -> clustered 시스템은 연산작업을 cluster를 통해 나누어 작동하기 위해 단일 시스템으로 이루어진 여러대의 computer의 결합으로 이루어져있다. 반면에 multiprocessor 시스템은 multi CPU로 이루어진 단일 물리 독립체로 이루어져있다. 

 고 이용성 서비스를 제공하기 위해서는 두 시스템의 상태는 복제되어야하며 지속적으로 업데이트 되어야한다. 하나의 시스템이 실패할 경우, 다른 시스템이 실패한 시스템의 기능을 탈취하여야 하기 때문이다.