방통대 운영체제 2012학년도 1학기 기말시험 기출문제 해설 및 설명 - 1

2022. 5. 23. 23:57·방통대 컴퓨터과학과/3학년1학기
반응형

 

 

순전히 공부 목적으로 작성된 게시글이며 이익을 위한 게시글이 아닙니다.
그러므로 혹여나 저작권과 관련된 문제가 있다면 댓글로 남겨주세요!
바로 삭제하겠습니다. 감사합니다.

 

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인 프레임을 모두 회수한다.
  • 운영체제는 각 프로세스의 워킹세트를 감시하여 워킹 세트 크기에 해당하는 충분한 프레임을 할당한다.
  • 만일 충분한 여분의 프레임이 존재하면 다른 프로세스를 들여와 실행 프로세스의 수를 늘인다.
  • 만일 워킹세트 크기의 합이 증가하여 총 프레임 수를 넘어서면 운영체제는 가장 우선순위가 낮은 프로세스를 일시적으로 중지시켜 여유 페이지 프레임을 확보된다. 워킹세트에 포함되지 않는 페이지를 담고 있는 프레임은 필요시 교체 대상으로 선택할 수 있다.

 

 


틀린 부분이 있거나 오타가 있으면 댓글로 알려주세요. 감사합니다.

  • 출처 : 방송통신대학교 운영체제 기출문제
반응형
저작자표시 비영리 변경금지 (새창열림)
'방통대 컴퓨터과학과/3학년1학기' 카테고리의 다른 글
  • 방통대 데이터베이스시스템 2012학년도 1학기 기말시험 기출문제 해설 및 설명
  • 방통대 운영체제 2012학년도 1학기 기말시험 기출문제 해설 및 설명 - 2
  • 관계형 모델
  • [운영체제] 스케줄링 알고리즘
데부한
데부한
어차피 할 거면 긍정적으로 하고 싶은 개발자
    반응형
  • 데부한
    동동이개발바닥
    데부한
  • 전체
    오늘
    어제
    • 분류 전체보기 (307)
      • 방통대 컴퓨터과학과 (27)
        • 잡담 (9)
        • 3학년1학기 (17)
      • 프로젝트 및 컨퍼런스 회고 (1)
        • 프로젝트 (4)
        • 한이음 프로젝트 (0)
        • 회고 (3)
      • 공부 (165)
        • Spring (37)
        • JPA (71)
        • 인프런 워밍업 클럽_BE (10)
        • Java (6)
        • React.js (27)
        • 넥사크로 (11)
        • 기타 (3)
      • 알고리즘 (85)
        • 알고리즘 유형 (10)
        • 알고리즘 풀이 (57)
        • SQL 풀이 (18)
      • 에러 해결 (13)
      • 잡담 (7)
        • 국비교육 (2)
        • 구매후기 (5)
        • 진짜 잡담 (0)
  • 블로그 메뉴

    • Github
    • Linkedin
    • 홈
    • 방명록
    • 글쓰기
    • 관리
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    SQL
    기출문제
    방통대
    백준
    인프런
    oracle
    Java
    에러해결
    넥사크로
    react
    자바스크립트
    SpringBoot를 이용한 RESTful Web Service 개발
    Spring
    QueryDSL
    IT
    개발자
    RESTful
    코딩테스트
    운영체제
    알고리즘
    egov
    프로그래머스
    springboot
    MSA
    토비의스프링부트
    전자정부프레임워크
    JPA
    토이프로젝트
    프론트엔드
    스프링부트
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
데부한
방통대 운영체제 2012학년도 1학기 기말시험 기출문제 해설 및 설명 - 1
상단으로

티스토리툴바