반응형
순전히 공부 목적으로 작성된 게시글이며 이익을 위한 게시글이 아닙니다.
그러므로 혹여나 저작권과 관련된 문제가 있다면 댓글로 남겨주세요!
바로 삭제하겠습니다. 감사합니다.
2012학년도 1학기 기말시험 기출문제 [운영체제]
1. 다음 중 운영체제의 역할에 해당되는 것은?
① 보고서를 작성한다. | ② 음악을 편집한다. |
③ 주기억장치를 관리한다. | ④ 웹페이지를 검색한다. |
- 운영체제의 역할 4가지
- 프로세스 관리자 : 프로세스들을 생성 및 삭제, CPU에 할당하기 위한 스케줄을 결정한다. 또한 각 프로세스의 상태를 관리하며 상태 전이를 처리한다.
- 메모리 관리자 : 메모리, 즉 주기억장치를 책임진다. 주기억장치 공간에 대한 각각의 요구가 유효한지를 체크하고, 할당하며, 회수한다.
- 장치 관리자 : 컴퓨터 시스템의 모든 장치를 관리한다.
- 파일 관리자 : 컴파일러, 인터프리터, 어셈블러, 유틸리티 프로그램, 데이터 파일과 응용 프로그램을 포함하는 시스템의 모든 파일을 관리한다.
2. 다음 중 대화형 운영체제를 설명하고 있는 것은?
① 이용자에게 즉각적인 피드백을 제공한다. |
② 작업은 모아서 한꺼번에 처리한다. |
③ 사용자와 상호작용 없이 프로그램이 혼자 동작한다. |
④ 배치 시스템이라고도 부른다. |
- 대화형 운영체제
- 시분할 운영체제라고도 한다.
- 응답시간 측면에서 일괄처리 운영체제보다는 빠르지만 실시간 운영체제보다는 느리다.
- 이용자가 자신의 프로그램을 디버깅할 때 좀 더 빠른 처리 시간을 요구하는 이용자의 욕구를 만족시키기 위해 개발되었다.
- 이용자에게 즉각적인 피드백을 제공한다.
- 응답시간은 사용 중인 이용자의 수에 따라 수 분 또는 수 초 안에 처리된다.
- ②~④번은 일괄처리 운영체제 설명이다.
3. 다음 중 기억장치의 호출 속도를 빠르게 하기 위한 기술은?
① 재배치 | ② 기억장치 인터리빙 |
③ 인터럽트 | ④ 채널 |
- 기억장치 인터리빙
- 주기억장치를 호출하는 속도를 빠르게 하는 기술이다.
- 일반적으로 주기억장치 뱅크 내에서는 어떠한 부분이 호출되고 있으면 그 뱅크 내의 다른 장소는 호출될 수 없기 떄문에 인접한 메모리의 위치를 주기억장치 내의 다른 뱅크에 둠으로써 동시에 여러 곳을 호출할 수 있도록 한다.
4. CPU를 통하지 않고 직접 주기억장치에 접근하여 입출력 장치에 데이터를 전송하는 기술은?
① 스풀링 | ② 인터럽트 |
③ 폴링 | ④ DMA |
- DMA
- 입출력 처리 방법(프로그램 방법, 인터럽트 방법, DMA방법) 중 하나이다.
- DMA는 DMA 제어기를 이용하여 CPU를 통하지 않고 직접 주기억장치에 접근하여 데이터를 전송한다.
- DMA 방법은 한 번에 입출력 양이 많은 경우 인터럽트 발생 횟수를 단 한 번으로 줄여 주므로 CPU의 효율이 더욱 증대된다.
- 인터럽트 방법의 경우 10줄 출력 시 인터럽트 발생 횟수가 10번이다.
5. 캐시 기억장치를 사용하는 목적은 무엇인가?
① 주기억장치의 용량을 늘이기 위해 사용한다. |
② 컴퓨터의 처리 속도를 높인다. |
③ 주기억장치 대신 사용하여 비용을 낮춘다. |
④ 데이터를 장기간 보관한다. |
- 캐시 기억장치
- 메모리에 비해 비트당 비용이 비싸다.
- 용량이 작지만 접근속도가 빠르다 → 자주 실행되는 프로세스는 캐시에 두어 실행속도를 향상시킨다.
6. 프로그램을 절대 번역 및 적재하는 경우에 대한 올바른 설명은?
① 프로그램 및 데이터가 정해진 위치에만 적재될 수 있다. |
② 프로그램 실행 중 위치를 옮길 수 있다. |
③ 번역된 프로그램은 상대주소를 사용한다. |
④ 프로그램 영역은 절대주소, 데이터 영역은 상대주소를 사용한다. |
- 다중 프로그래밍 환경에서의 메모리 분할 중 고정 분할의 방식 중 하나이다.
- 고정 분할은 메모리를 여러 개의 고정된 크기의 영역으로 분할하는 방식이다.
- 각 분할 영역마다 큐를 두고 큐에 들어온 프로세스는 해당 분할 영역에만 적재된다.
- 프로그램 컴파일 시 프로그램 내의 주소를 절대 주소로 번역하여 해당되는 특정 분할 영역에만 적재한다.
- 구현은 용이하나 큐가 빈 분할이 있어도 다른 큐의 프로세스는 적재할 수 없어 효율성이 떨어진다.
7. 동적분할 연속 기억장치 할당 방식의 주기억장치 관리기법에 대하여 올바르게 설명한 것은?
① 단편화가 발생하지 않는다. |
② 공백 영역이 많이 남아 있어도 필요한 만큼 연속적으로 존재하지 않으면 사용할 수 없다. |
③ 최적적합 방식의 기억장치 배치는 최초적합에 비해 빠르게 동작한다. |
④ 통합이나 집약과 같은 처리가 불필요하다. |
- 동적 분할
- 동적 분할은 메모리의 분할 경계가 고정되지 않고 각 프로세스에 필요한 만큼의 메모리만을 할당하는 방식이다.
- 내부 단편화는 일어나지 않지만 외부 단편화가 생긴다.
- 외부 단편화 : 메모리의 할당과 반환이 반복됨에 따라 작은 크기의 공백이 메모리 공간에 흩어져 생기는 것.
- 외부 단편화가 발생한 경우 공백 보다 큰 프로세스가 메모리 할당을 요청하는 경우 대기한다.
- 외부 단편화를 해결하기 위해 통합과 집약을 사용한다.
- 통합 : 인접된 공백을 더 큰 하나의 공백으로 만드는 과정
- 집약 : 메모리 내의 모든 공백을 하나로 모으는 작업. 즉, 여러 개의 작은 공백을 하나의 커다란 저장 공간으로 만든다.
8. 가상기억장치를 사용하는 경우 프로세스에서 사용하는 가상주소가 실 주소로 변환되는 시점은?
① 프로그램을 작성할 때 |
② 프로그램을 컴파일할 때 |
③ 프로그램을 링크할 때 |
④ 프로세스가 실행되는 동안 |
- 가상 메모리
- 가상 메모리 : 컴퓨터 시스템의 메모리 크기보다 더 큰 기억 공간이 필요한 프로세스를 실행할 수 있게 하는 방법
- 실행 중인 프로세스에 의해 참조되는 주소를 메모리에서 사용하는 주소와 분리한다.
- 전체 프로그램 및 데이터 중 현재 필요한 일부만 메모리에 적재함으로써 프로세스의 수행이 가능하게 한다.
- 실행 프로세스가 참조하는 주소를 가상주소라한다.
- 실제 메모리에서 사용하는 주소는 실주소 또는 물리적 주소라 한다.
- 실행 프로세스가 참조하는 가상주소의 범위를 프로세스의 가상주소 공간 V라고 한다.
- 특정 컴퓨터 시스템에서 사용 가능한 실주소의 범위를 실주소 공간 R이라 한다.
- 프로세스는 오직 가상주소만을 참조하지만, 실제로 메모리에서 실행되어야 하므로 프로세스가 실행되면 가상주소는 실주소로 변환되며, 이 변환 과정을 사상(mapping)이라 한다.
9. 가상기억장치 관리기법 중 세그멘테이션 기법에 해당하는 문장은?
① 세그먼트의 크기는 모두 같다. |
② 전체 주기억장치를 하나의 세그먼트로 본다. |
③ 하나의 세그먼트는 연속적인 공간에 저장되어야 한다. |
④ 세그먼트의 크기는 논리적 측면과 무관하다. |
- 세그먼테이션 기법
- 가상 메모리를 논리적 의미에 맞는 다양한 크기의 세그먼트 단위로 나누어 관리한다.
- 위치 지정 방법은 동적 분할 다중 프로그래밍에서 흔히 사용되는 최초 적합, 최적 적합 등의 방법과 동일하다.
- 세그먼테이션 기법에서 동적 주소 변환은 세그먼트 사상표를 이용한다.
- 세그먼트 사상표에는 가상주소의 세그먼트 번호에 대한 실주소에서의 시작위치와 해당 세그먼트가 현재 메모리에 존재하는지 여부를 나타내는 비트값과 보조기억장치에서의 위치 정보도 같이 저장되어 있다.
- 세그먼트를 메모리에 적재하려면 자신을 수용할 수 있을 만큼 충분히 큰 메모리의 사용 가능한 영역에 놓으면 된다.
10. 페이징 기법에서 가상 주소는 페이지 번호 p와 페이지 내의 변위 d로 구성된다. 실주소로의 변환은 어떻게 하는가?
① p만 실제 페이지 프레임 번호 p'로 변환한다. |
② d만 실제 변위 d'로 변환한다. |
③ p와 d를 모두 실제 페이지 프레임 번호 p'와 실제 변위 d'으로 변환한다. |
④ (p, d)가 실주소이다. |
- 페이징 기법
- 페이징 기법 : 가상 메모리를 고정된 크기의 블록, 즉 페이지(page) 단위로 나누어 관리하는 기법이다.
- 가상주소 v는 순서쌍 (p, d)로 나타내는데, p는 페이지 번호, d는 페이지 p의 시작위치로부터의 변위이다.
- ex) a 위치는 3번 페이지 안에 있고, 3번 페이지 시작 위치로부터 8byte떨어져 있으므로 가상주소 v=(3, 8)이 된다.
- 메모리 영역도 가상 메모리와 동일하게 고정된 크기의 블록으로 나누어 두고 각 블록을 페이지 프레임(page frame)이라 한다.
- 페이지는 비어 있는 페이지 프레임 아무 곳에나 적재되면 된다.
- 프로세스가 사용하는 가상주소를 메모리에 적재된 후에 찾을 수 있또록 실주소로 동적 변환을 해야하며 이를 위해 페이지 사상표를 이용한다.
- 연관/직접 사상은 연관 사상표에는 가장 최근에 참조된 페이지 항목만 보관하고 나머지는 페이지 사상표에 수록하여 연관 사상표에 없을 때는 직접 사상 기법으로 구현하는 방법이다.
- 실행 프로그램은 가상주소 v=(p, d)를 참조한다.연관 페이지 사상표에서 가장 페이지 p를 찾고, p가 그곳에 있다면, 연관 페이지 사상표는 가상 페이지 p에 사상하는 프레임 p'를 반환하고, p'는 변위 d와 합하여 가상주소 v=(p, d)에 사상하는 실주소 r을 생성한다.
- 마지막으로 페이징 기법은 메모리가 동일 크기의 페이지 프레임으로 나누어져 사용되므로 외부 단편화가 발생하진 않지만 페이지 내에 내부 단편화는 발생할 수 있다.
11. 요구 페이지 호출기법에서 어떠한 페이지를 주기억장치에 가져오는 시점은?
① 주기억장치에 여유 공간이 생기면 즉시 적재한다. |
② 그 페이지의 이전 페이지가 적재되면 즉시 적재한다. |
③ 그 페이지를 실제로 참조하는 시점에 적재한다. |
④ 프로세스의 시작과 동시에 적재한다. |
- 요구 페이지 호출기법
- 한 프로세스의 페이지 요구가 있을 때 비로소 요구 페이지를 메모리로 이동한다.
- 각 페이지는 실행 중인 프로세스에 의하여 명백히 참조될 때에만 보조기억장치에서 메모리로 옮겨진다.
- 프로세스의 실행순서는 정확히 예측될 수 없기 때문에 명령어나 데이터가 실제로 참조되면 해당 페이지를 메모리에 적재하는 방식이다.
- 어느 페이지를 메모리에 옮길지 결정하는 데 있어서의 오버헤드를 최소화, 메모리에 옮겨진 페이지는 모두 프로세스에 의해 실제로 참조된 것임을 확신할 수 있다.
12. 가상기억장치의 페이지 교체 대상을 선택하기 위한 최적화 원칙은 무엇인가?
① 앞으로 가장 오랫동안 사용되지 않을 페이지를 선택한다. |
② 가장 최근에 사용한 페이지를 선택한다. |
③ 주기억장치에 적재한지 가장 오래된 페이지를 선택한다. |
④ 가장 빈번하게 사용되고 있는 페이지를 선택한다. |
- 최적화 원칙 : 최적의 성과를 얻기 위해서는 교체되어야 할 페이지가 그 이후로 가장 오랫동안 사용되지 않을 페이지를 교체 대상으로 선택한다.
- 그러나 이론적으로는 최적이나 미래를 예측할 수 없기 때문에 실제로 실현은 불가능하다.
- 따라서 다른 페이지 교체 기법이 얼마나 최적성을 갖고 있는지 비교하는 데 사용된다.
13. 다음 중 가장 오랫동안 사용되지 않은 페이지를 선택하여 교체하는 페이지 교체 기법은?
① FIFO | ② NUR |
③ LRU | ④ PFF |
- LRU(Least Recently Used)
- 가장 오랫동안 사용되지 않은 페이지를 선택하여 교체하는 전략
- 최근의 상황이 가까운 미래에 대한 좋은 척도라는 국부성 휴리스틱에 의존
- 참조 시간과 리스트를 이용하는 두 가지 방법이 있다.
- Belady의 이상현상이 발생하지 않지만 경험적 판단이 맞지 않는 상황도 존재할 수 있고 막대한 오버헤드를 초래하여 별로 이용되지 않는 기법이다
- FIFO(First-In First-Out) : 한 페이지를 교체할 떄는 메모리 내에 가장 오래 있었던 페이지를 교체한다.
- NUR(Not Used Recently) : 참조 여부와 수정 여부에 따라 페이지들을 네 그룹으로 구분하며 참조 비트와 수정 비트를 가진다.
- PFF(Page Fault Frequency) : 프로세스의 상주 페이지 세트를 바꾸게 되는데, 상주 페이지 세트란 프로세스가 페이지 부재 때문에 멈추게 되는 빈도에 기초한 페이지 세트이다. 즉, 두 페이지 부재가 일어난 사이의 시간에 따라 빈도를 계산한다.
14. 2차 기회 페이지 교체 기법에서 페이지 사용 이력에 대한 큐가 다음 그림과 같다. 각 항목은(페이지, 참조비트)이다. 페이지 E를 참조하였을 때 교체 대상은 무엇인가? (그림은 기출문제 PDF 참조)
① A | ② B |
③ C | ④ D |
- 가장 선두에 있는 A의 참조 비트가 1이므로 A의 참조 비트를 0으로 변경 후 FIFO 큐 뒤에 넣는다.
- 그 다음 선두로 오는 B는 참조 비트가 0이므로 B를 교체 대상으로 선택하고 E를 FIFO 큐 뒤에 넣는다.
15. 어떠한 프로세스에 할당된 프레임 수가 워킹세트의 크기에 비해 작다면 운영체제는 어떤 조치를 하는 것이 좋은가?
① 새로운 프로세스를 추가로 투입한다. |
② 그 프로세스에 프레임을 추가로 할당한다. |
③ 그 프로세스에서 프레임을 일부 회수한다. |
④ 참조비트가 1인 프레임을 모두 회수한다. |
- 운영체제는 각 프로세스의 워킹세트를 감시하여 워킹 세트 크기에 해당하는 충분한 프레임을 할당한다.
- 만일 충분한 여분의 프레임이 존재하면 다른 프로세스를 들여와 실행 프로세스의 수를 늘인다.
- 만일 워킹세트 크기의 합이 증가하여 총 프레임 수를 넘어서면 운영체제는 가장 우선순위가 낮은 프로세스를 일시적으로 중지시켜 여유 페이지 프레임을 확보된다. 워킹세트에 포함되지 않는 페이지를 담고 있는 프레임은 필요시 교체 대상으로 선택할 수 있다.
틀린 부분이 있거나 오타가 있으면 댓글로 알려주세요. 감사합니다.
- 출처 : 방송통신대학교 운영체제 기출문제
반응형