7강. 운영체제 (1)

학습개요

운영체제의 역할과 관리 대상이 되는 컴퓨터 자원에 대해서 공부한다. 컴퓨터의 주기억 장치를 관리하기 위한 다양한 기법을 공부하고, 운영체제를 통해 컴퓨터 하드웨어와 소프트웨어 간의 기능적 융합에 대해서 살펴본다. 가상 기억장치의 효용성과 개념을 주의해서 학습한다.

학습목표

  1. 운영체제의 개념과 기능에 대해서 이해할 수 있다.
  2. 주기억장치가 프로그램의 실행에 필요한 이유와 운영체제의 주기억장치 관리 방법에 대해서 이해할 수 있다.
  3. 운영체제의 가상기억장치 관리를 이해할 수 있다.

연습문제

  1. 다음 설명 중 올바른 것은?
    1. 페이징 기법은 주기억장치를 페이지라고 불리는 고정 크기의 블록으로 나누고 보조기억장치에 저장된 프로그램이나 데이터를 고정된 크기의 페이지로 쪼개서 주기억장치의 페이지프레임에 올려서 수행하는 기법이다.
    2. 페이징 기법에서 주기억장치의 부분적인 기억 공간이 프로그램에 의해 사용되지 않고 낭비되는 현상을 해결하기 위한 방법으로는 통합과 압축(집약) 기법이 있다.
    3. 세그먼테이션 기법에서는 작은 기억장치 조각이 발생하지 않아서 통합과 압축 기법이 필요없다.
    4. 가상기억장치 기법은 주기억장치의 크기를 넘어서는 프로그램을 실행시킬 수 없다.
      정답 : 1

      ● 페이징 기법은 보조기억장치로부터 프로그램 코드나 데이터를 페이지(page)라고 불리는 동일한 크기의 블록으로 쪼개어서 주기억장치에 적재하여 접근하는 기법이다. 세그먼테이션 기법에서는 다양한 크기의 세그먼트가 출입되므로 작은 기억장치 조각이 발생한다. 마지막으로 가상기억장치 기법은 주기억장치의 크기를 벗어나는 프로그램을 실행시키기 위해 프로그램을 페이지나 세그먼트라는 작은 크기의 단위로 나눠 주기억장치에 적재하고 실행시킬 수 있도록 한다.

  2. 가상기억장치 구현기법에서 프로그램을 동일한 크기의 영역으로 나눈 것을 무엇이라 부르는가?
    1. 세그먼트
    2. 페이지 프레임
    3. 파티션
    4. 페이지
      정답 : 4

      ● 세그먼트는 프로그램 코드나 데이터를 서로 다른 크기로 분할한 블록이다. 페이지 프레임은 주기억장치가 같은 크기로 분할되며 관리되는 단위이다. 페이지는 보조기억장치로부터 주기억장치로 전달되는 프로그램 코드나 데이터의 단위인 동일한 크기의 블록이다.

  3. 디스크와 같은 장치를 사용해서 프로그램 관점에서 사용 가능한 메모리 영역을 넓게 보이는 기법을 무엇이라 하는가?
    1. 가상기억장치
    2. 다중 프로그래밍
    3. 스풀링
    4. 요구 페이징
      정답 : 1

      ● 가상기억장치란 주기억장치에서 이용 가능한 영역보다 큰 프로그램을 작은 단위로 쪼개어 실행시키기 위해 보조기억장치의 주소를 주기억장치의 주소로 변환하여 프로그램에게 제공되는 가상의 기억장치를 말한다. 보조기억장치의 주소를 주기억장치의 주소로 변환하는 기법을 가상기억장치 관리 기법이라고 한다. 다중프로그램 시스템은 여러 개의 프로그램을 효율적으로 실행시키기 위해 여러 컴퓨터 자원을 관리한다. 즉, CPU를 사용하고 있는 작업 A가 CPU의 사용을 멈추고 입출력 장치를 사용하게 되면, 아무도 사용하지 않는 CPU를 다른 작업 B에게 할당한다. 작업 A가 CPU 사용을 멈추고 입출력 자원 장치를 사용하면, 그 동안에 CPU는 다른 작업에게 할당될 수 있으며 효율적인 컴퓨터 자원의 활용이 가능하다. 요구 페이지 반입 기법은 프로세스가 필요한 페이지의 요구가 있을 때만 주기억장치로 페이지를 옮기는 것이다.

정리하기

  1. 운영체제의 주요 기능(자원의 범주) : 
    .
  2. 운영체제의 작업 처리 방식 :
    • 일괄처리 시스템 : 처리할 작업이 발생할 때마다 즉각적으로 처리하지 않고 처리해야할 작업이 일정량에 도달할 때까지 여러 작업을 모아 놓고 작업을 한꺼번에 처리하는 방식
    • 다중프로그래밍 시스템 : 여러 개의 프로그램을 효율적으로 실행시키기 위해 여러 개의 프로그램들이 컴퓨터 자원이 쉬는 시간에 서로 양보하며 사용하는 방식
    • 시분할 처리 시스템 : CPU의 시간을 일정 간격의 작은 시간으로 쪼개서 각 사용자에게 시간 간격이 할당되고, 그동안 직접 컴퓨터와 대화식으로 작업을 수행하는 방식
      .
  3. 주기억장치 할당 방법 :
    • 단일 사용자 연속 기억장치 할당 : 하나의 사용자 프로그램만이 전체 주기억장치에 할당되는 방식
    • 고정 분할 다중 프로그래밍 기법 : 다중 프로그래밍 시스템(여러 개의 프로그램이 실행되는 시스템)에서 주기억장치를 여러 개의 고정된 크기의 영역으로 분할하고, 실행 중인 여러 개의 프로세스에게 각각 할당하는 방식
    • 동적 분할 프로그래밍 기법 : 프로그램이 주기억장치에 적재될 때마다 모든 작업이 필요로 하는 크기(고정된 크기가 아니라 다양한 크기)만큼 연속된 공간을 할당해주는 방식
      .
  4. 가상기억장치 관리 기법 :
    • 페이징 기법 : 보조기억장치로부터 프로그램 코드나 데이터를 페이지(page)라고 불리는 동일한 크기의 블록으로 쪼개어서 주기억장치에 적재하여 접근하는 방식
    • 세그먼테이션 기법 : 세그먼테이션 기법은 프로그램 코드나 데이터를 일정하지 않은 서로 다른 크기로 분할하여 주기억장치에 적재하여 접근하는 방식

Leave a Comment