1.1 다중 프로그래밍과 시분할 환경에서, 다수의 사용자가 동시에 시스템을 공유한다. 이때 보안문제를 일으킬 수 있다a, 그러한 문제점 두가지는 무엇인가타인의 데이터의 무단사용, 시스템리소스의 부적절한 사용b, 전용 컴퓨터에서 갖는 동일한 수준의 보안을 시분할 시스템에서도 보장할 수 있는가? 당신의 대답을 설명하라안됨, 사람이 만든 모든 보안수준은 사람에 의해 깨질수 있고시스템이 복잡할수록 완벽한 실행을 더 확신할 수 없다.1.2 자원 활용의 문제는 운영체제의 유형별로 다른 모습으로 나타난다.다음과 같은 환경에서 어떤 자원들이 신중하게 관리되어야 하는지 나열하라a, 메인프레임 또는 미니 컴퓨터 = 메모리, CPU, 저장장치, 네트워크b, 서버에 연결된 워크스테이션 = 메모리, CPU,c, 휴대용 컴퓨터 = 소비전력, 메모리1.3 어떠한 상황에서 개인용 컴퓨터 또는 단일 사용자 워크스테이션을 사용하는 것보다 시분할 시스템을 사용하는 것이 좋은가시분할이 좋은 경우 : 사용자가 많지 않고, 작업이 큼, 하드웨어가 빠른 경우 == pc보다 더 빠른 처리가 가능1.4 아래에 열거된 기능 중에서 다음 두 환경을 위한 운영체제에서 지원되어야 하는 기능을 쓰시오a, 휴대용장치 = 가상메모리, (시분할은 별 필요없음)b, 실시간 시스템 = 가상메모리, 시분할일괄처리는 두 시스템에 별로 필요없음1.5 대칭적 다중처리와 비대칭적 다중처리의 차이점을 설명하라대칭적다중처리 = 모든프로세서를 동등하게 처리함, I/O는 아무cpu에서나 처리가능비대칭적 처리 = 1개는 마스터 나머지는 슬레이브, I/O는 마스터에서만 처리가능, 마스터가 일을 분할해서 시킴다중처리기 시스템의 세가지장점과 한가지 단점은 무엇인가다중처리기 시스템의 3가지 장점 = 적은 비용, 빠른 작업수행, 신뢰성 향상단점 1가지 = 하드웨어와 소프트웨어가 단일처리보다 복잡함1.6 클러스터 시스템과 다중처리기 시스템의 차이점 무엇인가?클러스터시스템 = 여러 컴퓨터들을 단일 시스템으로 구성하여 작업을 클러스터에 분산하여 처리다중처리보다 약결합(less tightly-coupled)통신방법 = 메세지다중처리시스템 = 여러 cpu들의 집합통신방법 = 공유메모리고가용 서비스를 제공하기 위하여 한 클러스터에 속한 두 컴퓨터가 협력하는데 필요한 것은 무엇인가?복사본이 만들어져야 하고 수시로 업데이트가 이루어져야함한 프로세서가 실패하면 다른 프로세서들이 실패한 프로세서를 대신할수 있어야 함1.7 분산 시스템의 클라이언트 서버모델과 피어간 모델을 비교하라client-server 모델은 각자 역할이 뚜렷함. 클라이언트는 서버가 제공하는것만 받을수 있음peer-to-peer 모델은 서로 서버가 될수 있음, 각자 필요한 것을 요청, 제공할수 있음1.8 하나의 데이터베이스를 수행하는 두 개의 노드로 구성된 컴퓨팅 클러스터를 고려해보자클러스터 소프트웨어가 디스크의 자료에 대한 접근을 관리하는 두가지 방법을 설명해보자각각의 장점과 단점을 논의하라비대칭 = host가 일을 하고 다른 host는 모니터를함, 서버가 실패하면 모니터하던 host가 서버역할을 대신함불필요한 중복성이 생김(두 프로세서의 성능을 반밖에 활용 못함)대칭 = 두 개의 host 같이 일을함. 효율성은 있음두 host 사이의 공유디스크에 접근을 관리하는 것이 어려움1.9 네트워크 컴퓨터와 전형적인 개인용 컴퓨터의 차이는 무엇인가?네트워크 컴퓨터가 더 좋은 경우를 설명하라네트워크컴퓨터는 서비스들이 집중되어 있어서 리소스를 관리하는 운영체제가 최소한으로 필요하다반면에 pc는 모든 요구된 기능들을 지가 혼자서 수행할 수 있어야한다그래서 운영하는 비용 측면에서 보면 , 공유하여 리소스를 사용하는 것이 더 효율적이어서 네트워크가 좋다.1.10 인터럽트의 목적은 무엇인가? 트랩과 인터럽트의 차이점은 무엇인가?트랩은 사용자 프로그램에 의해 의도적으로 발생할 수 있는가? 그렇다면 그 목적은?인터럽트란 시스템내에서 하드웨어에서 발생되는 플로우의 변경이다.인터럽트 핸들러는 인터럽트때문에 일어나는 것을 처리하기 위해서 호출된다.인터럽트는 I/o 의 종료의 신호나 device polling을 제거하기위해 사용된다트랩이란 소프트웨어에서 발생하는 인터럽트이다.산술오류를 제거하거나, 운영체제 서비스 수행요청에 의해서 유발되는 소프트웨어에 의해 생성된 인터럽트이다1.11 cpu의 실행 부하가 증가하는 것을 피하기 위하여 직접 메모리 접근 방식이 고속 입출력장치에 사용된다a, 전송을 조율하기 위하여 cpu는 어떻게 장치를 방해하는가?cpu는 특별한 레지스터를 사용하여 DMA를 조작한다. 그 장치는 cpu에서 명령을 받아서 수행한다b, cpu는 메모리연산이 종료됨을 어떻게 알수 있는가?수행이 끝나면 cpu에게 종료를 알리는 인터럽트를 보낸다.DMA가 자료를 전송하는동안 cpu는 다른 프로그램을 실행할수 있다.이 프로세스는 사용자 프로그램의 실행을 방해하는가? 만일 그렇다면 어떤 형태의 방해가 발생하는가?cpu는 그 장치가 종료할때까지 메모리연산을 최대속도로 할수 없다1.12 일부 컴퓨터 시스템은 특권모드 연산을 하드웨어로 제공하지 않는다이러한 컴퓨터에 안전한 운영체제를 구현할수 있는지를 고려해보라운영체제는 항상 통제 가능해야 한다a, 소프트웨어 해석기로 제공 : 소프트웨어 안에서 하드웨어가 제공하지 않는 기능을 제공b, 컴파일러가 보호기능 제공 : 모든 프로그램을 고급언어로 작성하여 모든 목적코드가 컴파일러가 만든것임을 보장1.13 캐시가 유용한 두가지 이유를 들어보라, 그들이 어떠한 문제점을 해결하는가?그들이 일으킬 수 있는 문제점은 무엇인가? 만약 캐시를 자기가 캐싱하는 장치만큼 크게 만들수있다면 왜 그렇게 만들지 않는가?장 점 : 캐쉬는 여러 장치간에 데이터 교환이나 전송속도가 다른 장치들에게 편의성을 제공한다