13.
서버 없이 말단 노드끼리 데이터를 주고 받는 시스템을 무엇이라고 하는가?
⇒ Peer-to-Peer (P2P) System
•
서버를 거치지 않고 사용자와 사용자를 직접 연결해서 서버의 과부하를 줄일 수 있는 시스템
•
대용량 파일 공유와 메신저에 주로 쓰인다
14.
커널이 자신의 자원을 보호하기 위해 만든 함수의 집합을 무엇이라고 하는가?
⇒ 시스템 호출 (System Call)
•
사용자나 응용 프로그램이 자원에 직접 접근하는 것을 차단하고, 시스템 호출이라는 시스템 관련 함수를 이용해 접근하게 함으로서 자원을 보호한다
15.
커널과 하드웨어 사이의 인터페이스를 무엇이라고 하는가?
⇒ 드라이버
•
하드웨어 장치를 복잡한 과정 없이 사용할 수 있도록 해주는 프로그램
•
커널이 제공하는 드라이버도 있고 하드웨어 제작자가 제공한는 드라이버도 있다
16.
커널 핵심 기능을 구현하는 모듈들이 구분 없이 하나로 구성되어 있는 커널 구조를 무엇이라고 하는가?
⇒ 단일형 구조 커널 (Monolithic Architecture) (심화문제 #7)
핵심 기능을 어떻게 구현하는 가에 따라 단일형, 계층형, 마이크로 구조 커널로 구분된다
17.
커널의 기능을 최소화하여 여러 컴퓨터에 이식하기 쉽게 만든 커널 구조를 무엇이라고 하는가?
⇒ 마이크로 구조 커널 (Micro Architecture)
•
가장 기본적인 기능만 제공하고, 다른 커널에 비해 운영체제의 많은 부분이 사용자 영역에 구현되어 있다
•
각 모듈이 독립적으로 작동하기 때문에 하나의 모듈이 실패하더라도 전체 운영체제가 멈추지 않는다
•
많은 컴퓨터에 이식하기 쉽고 커널이 가벼워 CPU 용량이 작은 시스템에도 적용이 가능
•
Mach (마하)는 마이크로 구조 커널을 사용하는 가장 대표적인 운영체제
18.
서로 다른 운영체제에서 하나의 응용 프로그램으로도 작동할 수 있도록 만든 시스템을 무엇이라고 하는가?
⇒ 가상 머신 (Virtual Machine)
•
C언어로 만든 프로그램은 다른 버전의 유닉스 운영체제나 윈도우에서 작동하지 않기 때문에 코드를 수정해야 하는 번거로움이 있다. 하지만 자바는 운영체제 위에 가상머신을 만들고 그 위에서 응용 프로그램이 작동하게 하기 때문에 코드를 수정해야 할 필요가 없다.