1. 운영체제를 자신만의 말로(영혼을 담아) 간단히 정의하고, 운영체제의 기능을 5가지만 설명하 라.” 각 기능에 대해서는 2줄로 설명하라.
1
2
3
4
5
6
7
8
9
10
11
12
| 1. 운영체제란
1. 입주민(사용자)의 요청을 처리하고, 컴퓨터의 자원을 독점적으로 관리하는 아파트의 경비 아저씨(관리자)이다.
2. CPU/프로세스 관리
1. 프로세스의 실행, 새로운 프로세스 생성, 스케줄링, 프로세스 종료 등 프로세스를 관리하는 기능 수행하고 및 프로세스들 사이의 통신과 동기화 기능을 제공
3. 메모리 관리
1. 각 프로세스에게 적절한 메모리를 할당 및 반환하고 프로세스에게 할당된 메모리를 다른 프로세스로부터 보호한다. 메모리가 부족할 땐 가상 메모리 기법을 사용하여 메모리 관리를 수행한다.
4. 파일 시스템 관리
1. 파일 정보, 파일 시스템 정보를 관리하며 파일과 디렉터리 생성하고 관리한다. 운영체제는 파일 읽기, 쓰기, 삭제 등 파일을 다루는 모든 기능을 수행한다.
5. 장치 관리
1. 키보드, 마우스, 디스플레이, 프린터 등 다양한 입출력 장치들과 저장 장치를 제어하고 물리적인 입출력을 실행한다.
6. 기타 관리
1. 사용자 정보를 관리하고 하드웨어 사용량과 사용자 접속 시간 등에 대한 통계를 수집 관리한다. 컴퓨터 시스템 내 오류를 발견 및 대응하고, 사용자가 컴퓨터를 사용할 수 있도록 부팅 기능도 수행한다.
|
2. 컴퓨터 시스템에서 운영체제가 자원을 독점한다. 만일 운영체제가 없고 응용프로그램들이 하드웨어 자원을 마음대로 활용하게 되면 어떤 문제가 발생할 수 있는지 한 가지 사례를 들어 설명하라
1
| 1. 운영체제는 자원의 관리를 독점하여 자원의 훼손을 방지하고 컴퓨터 시스템을 효율적으로 사용할 수 있도록 한다. 운영체제는 사용자가 응용 프로그램을 실행하면 해당 프로그램을 메모리에 적재하고 스케쥴링을 통해 프로세스에 CPU를 할당하는데 이를 통해 사용자는 동시에 여러 프로그램이 실행되고 있다고 느끼게 된다. 하지만 운영체제가 사라진다면 사용자는 직접 프로그램을 메모리에 적재 해야하며 스케쥴링을 통해 프로세스에 CPU를 할당하여 줄 수 없으므로 한 번에 한 프로그램의 실행만 가능하게 된다.
|
3. 운영체제의 태동 과정을 통해 보았을 때, 운영체제의 가장 초기적인 기능 혹은 가장 기본 적인 기능이 무엇이라고 생각되는가?
1
| 1. 저장장치에 저장된 프로그램을 메모리에 적재하고 실행시키는 것
|
4. 내장 프로그래밍 컴퓨터는 어떤 컴퓨터인지 설명하고, 그 역사적인 의미에 대해 설명하라.
1
| 1. 내장 프로그래밍 컴퓨터는 컴퓨터의 구조를 CPU와 전자식 메모리로 나누고 프로그램 명령을 전자식 메모리에 적재하고 CPU가 메모리에서 명령들을 하나씩 CPU로 가져와 처리하는 방식의 컴퓨터 개념이다. 이전에 사용했던 배선판에 전선을 연결하여 프로그램을 고정시켜 사용하고 다른 프로그램 사용시 전선을 해체하여 사용해야 하는 고정 프로그램 컴퓨터와 달리 하드웨어와 소프트웨어의 개념을 분리하여 보기 시작하였다는 점에서 역사적인 의미를 가진다.
|
5. 컴퓨터 학자들이 GM OS를 원시적인 운영체제라고 부르는 구체적인 이유는 무엇인가?
1
| 1. 펀치 카드에 담긴 프로그램을 메모리에 적재하는 제대로 된 로더 프로그램을 개발하여 사용자의 프로그램을 읽어 실행시켜준다는 점에서 최초의 원시 운영체제라고 불린다.
|
6. 배치 시스템은 어떤 것이며, 그 역사적인 의미는 무엇인지 설명하라.
1
| 1. 배치는 하나의 프로그램으로, 여러 개발자들이 작성한 배치들을 한 번에 하나씩 순차적으로 메모리에 적재하여 실행시키는 것이다. 이를 통해 개발자들의 대기 시간, 컴퓨터의 노는 시간이 줄어들었고, 응용 프로그램 개발자는 더 이상 I/O장치를 제어하는 프로그램을 작성하지 않아도 되었기에 개발자와 관리자가 구분되게 되었다.
|
7. 다중 프로그래밍에 대해 답하라.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
| 1. 다중프로그래밍의 목표는 무엇인가?
1. CPU 활용률을 극대화하기 위함
2. 어떤 식으로 목표를 달성하는가?
1. CPU가 한 프로그램을 실행하다 I/O가 발생하면 입출력이 완료될 때까지 CPU가 메모리에 적재된 다른 프로그램을 실행하게 하여 CPU가 노는 시간을 줄인다.
3. 오늘날 운영체제는 다중프로그래밍 운영체제인가?
1. 그렇다.
4. 시분할 시스템은 다중프로그래밍 시스템인가? 그 이유도 함께 기술하라.
1. 그렇다. 기존의 방식은 한 프로그램에서 I/O가 발생하면 CPU는 다른 프로그램을 실행하는 다중 프로그래밍 방식이었다면 시분할 시스템은 여러 프로그램을 시간 단위로 나누어 번갈아 실행시키는 다중 프로그래밍 기법이다.
5. 다중프로그래밍이 도입됨에 따라 컴퓨터 기술은 새롭게 극복해야할 많은 문제들을 직면하 게 되었다. 어떤 것들이 있는지 간단히 소개하라.
1. 큰 메모리 이슈
2. 프로그램의 메모리 할당 및 관리 이슈
3. 메모리 보호 이슈
4. CPU 스케쥴링과 컨텍스트 스위칭
5. 인터럽트 개념 도입
6. 동기화
7. 교착 상태 해결
|
8. 시분할 시스템의 작동 과정을 5줄로 설명하라.
1
| 1. 시분할 운영체제는 여러 개의 프로그램을 메모리에 적재하고 시간 할당량을 정하여 시간 할당량만큼 메모리에 적재된 프로그램에게 돌아가면서 CPU를 할당하고 실행시킨다. CPU의 처리 속도는 사용자가 키를 입력하는 속도에 비해 엄청 빠르다. 그러므로 사용자가 명령을 입력하는 시간동안 CPU가 다른 사용자의 명령들을 충분히 처리할 수 있기에 각 사용자는 자신의 명령에 대한 응답이 늦게 온다고 여기지 않는다.
|
9. 복합문제 1을 풀어라. 다음은 프로그램 A, B, C는 모두 도착해있는 상태에서 배치 운영체제에 의해 처리되는 과정이다. 다음 2개의 문항에 답하라.
(1) 3개의 프로그램이 모두 메모리에 적재되어 있다고 할 때, 다중 프로그래밍 운영체제에서 3 개의 프로그램 A, B, C가 실행되는 과정을 그려라.
(2) 실행 결과에 따라 아래 2개의 표를 채워라. 표에서 응답 시간 이란 프로그램이 준비 상태에서 실행이 완료될 때까지의 시간이며, 평균 응답 시간이란 3개 프로그램의 응답 시간에 대한 평균 값이다.