기본 콘텐츠로 건너뛰기

방송대 방통대 컴퓨터과학개론 7강 - 운영체제 (1) - 요약 노트 시험족보 예상문제 - 올에이클래스

컴퓨터과학개론 7강 - 운영체제 (1)

컴퓨터과학개론 7강 - 운영체제 (1)

운영체제가 사용자와 하드웨어 사이에서 어떤 역할을 수행하는지 살펴보고, 일괄처리·다중프로그래밍·시분할 처리 시스템의 차이를 학습한다. 또한 기억장치의 계층 구조, 주기억장치 할당과 단편화, 가상기억장치의 페이징 및 세그먼테이션 기법을 이해한다.

1. 운영체제의 개념과 역할

운영체제란 무엇인가

운영체제(operating system)는 컴퓨터 하드웨어와 응용 프로그램을 포함한 컴퓨터 사용자 사이에서 인터페이스를 제공하는 시스템 소프트웨어이다. 사용자가 하드웨어의 세부 동작을 직접 알지 않아도 컴퓨터를 편리하게 사용할 수 있도록 돕고, 시스템 개발자에게는 제한된 컴퓨터 자원을 효율적으로 활용할 수 있는 환경을 제공한다.

컴퓨터 시스템을 층으로 바라보면 가장 아래에 하드웨어가 있고, 그 위에 운영체제, 응용 프로그램, 사용자 프로그램이 놓인다. 응용 프로그램은 하드웨어를 직접 제어하기보다 운영체제가 제공하는 기능을 이용하며, 운영체제는 하드웨어 자원을 안전하고 일관된 방법으로 관리한다.

운영체제의 핵심 기능은 사용 편의성을 제공하는 것과 한정된 시스템 자원을 효율적으로 관리하는 것이다.

운영체제의 네 가지 자원 관리자

운영체제가 관리하는 대표적인 자원은 프로세서, 주기억장치, 입출력장치, 파일이다. 운영체제는 자원의 종류에 따라 관리 기능을 나누어 수행한다.

관리자관리 대상주요 역할
프로세서 관리자중앙처리장치(CPU)프로세스에 CPU를 할당하고 상태를 감시하며 실행 상태를 변경한다.
주기억장치 관리자주기억장치프로세스에 메모리를 할당하고 사용 후 회수하며, 할당된 영역을 보호한다.
장치 관리자키보드, 프린터, 디스크 드라이브 등입출력장치를 배정하고 다른 프로세스가 사용할 수 있도록 회수한다.
파일 관리자프로그램과 데이터 파일파일에 대한 읽기·쓰기와 접근을 관리하고 저장공간의 할당과 회수를 담당한다.

프로세서와 주기억장치 관리

프로세서 관리자는 실행할 프로세스에 CPU를 배정한다. 여러 프로세스가 CPU를 요구하면 어떤 프로세스가 언제 실행될지를 정하고, 각 프로세스의 상태를 지속적으로 확인한다. 입출력 대기처럼 CPU가 필요하지 않은 상태가 되면 다른 프로세스가 CPU를 사용할 수 있도록 실행 상태를 바꾸기도 한다.

주기억장치 관리자는 프로세스에 필요한 메모리 영역을 할당하고, 프로세스가 종료되거나 더 이상 해당 공간을 사용하지 않으면 이를 회수한다. 여러 프로세스가 동시에 메모리를 사용할 때는 각 프로세스가 배정받은 영역을 침범하지 않도록 보호하고 관리해야 한다.

장치와 파일 관리

장치 관리자는 운영체제의 스케줄링 기법에 따라 입출력장치를 배정한다. 한 프로세스가 장치 사용을 마치면 장치를 반환받아 다른 프로세스가 사용할 수 있게 한다. 입출력장치는 종류와 동작 방식이 다양하므로 운영체제가 장치별 차이를 조정해 일관된 사용 환경을 제공한다.

파일 관리자는 컴파일러와 인터프리터 같은 시스템 프로그램, 응용 프로그램, 데이터 파일의 읽기와 쓰기를 관리한다. 또한 프로세스별 파일 접근 권한을 통제하여 데이터를 보호하고, 파일을 저장할 컴퓨터 자원의 할당과 회수도 수행한다.

운영체제는 단순히 프로그램을 실행하는 도구가 아니다. CPU·메모리·장치·파일이라는 서로 다른 자원을 조정하여 여러 프로그램이 충돌 없이 실행되도록 하는 종합적인 자원 관리자이다.

2. 운영체제의 작업 처리 방식

일괄처리 시스템

일괄처리 시스템(batch processing system)은 작업 간 전환에 따른 시간을 줄이고 컴퓨터 시스템의 활용도를 높이기 위해 여러 작업을 한꺼번에 모아 처리하는 방식이다. 처리할 작업이 발생할 때마다 즉시 실행하지 않고 일정량이 모일 때까지 기다렸다가 묶어서 처리한다.

세탁물이 생길 때마다 세탁기를 작동시키지 않고 일정량을 모은 뒤 색상이나 종류별로 분류하여 세탁하는 것과 비슷하다. 컴퓨터 자원의 사용 효율은 높아질 수 있지만, 사용자는 자신의 작업 결과를 빠르게 확인하기 어렵고 작업이 모일 때까지 기다려야 한다. 실행 도중 사용자와 상호작용하기도 어렵다.

다중프로그래밍 시스템

다중프로그래밍 시스템(multiprogramming system)은 여러 프로그램을 효율적으로 실행하기 위해 컴퓨터의 여러 자원을 관리하는 방식이다. 주기억장치에 여러 작업이 동시에 존재하며, 한 작업이 입출력장치를 사용하는 동안 CPU는 다른 작업을 처리한다.

작업 A가 CPU를 사용하다가 입출력 작업을 요청하면 CPU를 계속 점유한 채 기다리지 않는다. 입출력이 진행되는 동안 CPU는 작업 B에 할당되고, 작업 A의 입출력이 끝난 뒤 다시 실행 기회를 얻을 수 있다. 이렇게 CPU와 입출력장치가 쉬는 시간을 줄여 자원의 활용도를 높인다.

다중프로그래밍은 여러 작업을 주기억장치에 함께 두고, 한 작업이 입출력을 기다리는 동안 다른 작업에 CPU를 할당하여 자원의 유휴 시간을 줄이는 방식이다.

시분할 처리 시스템

시분할 처리 시스템(time-sharing processing system)은 동시적인 대화식 사용을 지원하기 위해 발전한 방식이다. CPU 시간을 일정 간격의 짧은 시간 단위로 나누어 여러 사용자나 작업에 차례로 할당한다. 각 사용자는 할당된 시간 동안 컴퓨터와 직접 대화식으로 작업한다.

시간 간격이 충분히 짧으면 여러 사용자가 한 컴퓨터를 공유하면서도 각자 컴퓨터를 독립적으로 사용하는 것처럼 느낄 수 있다. 그러나 기억장치 관리, 디스크 스케줄링, 실행 중인 작업 관리, 입출력장치 제어 등 복잡한 기능이 필요하다. 컴퓨터 자원의 효율성과 사용자 만족도는 높아질 수 있지만 운영체제의 관리 부담도 커진다.

방식핵심 원리장점주의점
일괄처리여러 작업을 모아 순차적으로 처리작업 전환 비용 감소, 시스템 활용도 향상결과 확인이 늦고 대화식 처리가 어려움
다중프로그래밍여러 작업을 메모리에 두고 자원을 번갈아 사용CPU와 입출력장치의 유휴 시간 감소작업과 자원에 대한 체계적인 관리가 필요함
시분할 처리CPU 시간을 짧게 나누어 사용자·작업에 할당다중 사용자의 대화식 작업 지원스케줄링과 자원 관리가 복잡해짐

3. 기억장치의 계층 구조

기억장치를 계층으로 구성하는 이유

컴퓨터 시스템의 기억장치는 접근 속도, 비용, 용량의 관계에 따라 계층적으로 구성된다. CPU에 가까울수록 속도는 빠르지만 일반적으로 용량이 작고 비용이 높으며, 아래 계층으로 갈수록 속도는 느려지지만 더 큰 용량을 경제적으로 제공한다.

대표적인 계층은 레지스터 → 캐시 → 주기억장치 → 보조기억장치의 순서이다. 자주 사용하는 데이터는 빠른 상위 계층에 두고, 많은 양의 데이터는 용량이 큰 하위 계층에 저장함으로써 속도와 비용 사이의 균형을 맞춘다.

계층위치와 특징역할
레지스터CPU 내부, 가장 빠르고 용량이 매우 작음현재 연산에 필요한 프로그램 코드와 데이터를 직접 보관
캐시 기억장치CPU와 주기억장치 사이, 빠르지만 용량이 제한됨자주 사용할 가능성이 높은 코드와 데이터를 임시 보관
주기억장치실행 중인 프로그램과 데이터가 놓이는 공간CPU가 처리할 프로그램과 데이터를 보관
보조기억장치상대적으로 느리지만 용량이 큼프로그램과 데이터를 장기간 저장

프로그램과 데이터의 이동

프로그램과 데이터는 일반적으로 주기억장치보다 크기 때문에 보조기억장치에 저장된다. 실행 요청이 발생하면 필요한 프로그램과 데이터가 보조기억장치에서 주기억장치로 이동한다. CPU는 주기억장치에 있는 내용을 사용하며, 자주 사용할 것으로 예상되는 일부 정보는 캐시에 복사한다.

CPU의 처리 속도와 주기억장치의 접근 속도 사이에는 차이가 있다. CPU가 매번 상대적으로 느린 주기억장치만 조회하면 기다리는 시간이 길어진다. 이를 줄이기 위해 CPU가 주기억장치를 직접 검색하기 전에 더 빠른 캐시를 먼저 검색한다. 원하는 내용이 캐시에 있으면 즉시 사용할 수 있고, 없으면 주기억장치에서 가져와 캐시에 저장한 뒤 사용한다.

CPU 내부에는 여러 레지스터가 있으며 CPU에 직접 내장되어 있으므로 기억장치 계층에서 가장 빠른 처리 속도를 제공한다. CPU가 프로그램 코드나 데이터를 실제로 처리할 때는 이를 레지스터에 놓고 연산을 수행한다.

기억장치 계층은 하나의 기억장치만으로 속도·용량·비용을 모두 만족시키기 어렵기 때문에 사용한다. 빠른 기억장치와 큰 기억장치의 장점을 계층적으로 결합하는 것이 핵심이다.

4. 단일 사용자 연속 기억장치 할당

기본 개념과 문제점

단일 사용자 연속 기억장치 할당은 하나의 사용자 프로그램에 전체 주기억장치를 할당하는 방식이다. 구조가 단순하고 구현하기 쉬우며 프로그램을 실행할 수 있다는 장점이 있지만, 실행 중인 프로그램 하나가 대부분의 메모리와 주변장치 및 CPU를 독점하므로 자원 활용 측면에서 낭비가 발생한다.

한 프로그램의 실행이 끝날 때까지 다른 프로그램은 기다려야 하므로 대기 시간이 길어질 수 있다. 또한 주기억장치의 크기보다 큰 프로그램은 그대로 적재할 수 없다. 이 문제를 해결하기 위해 초기 시스템에서는 오버레이 기법을 사용했다.

오버레이 기법

오버레이(overlay) 기법은 주기억장치의 이용 가능한 영역보다 큰 프로그램을 작은 단위로 나누어 실행에 필요한 부분만 주기억장치에 적재하는 방법이다. 실행 기간 동안 계속 필요한 프로그램 코드와 데이터, 초기화 단계의 코드, 처리 단계의 코드, 출력 단계의 코드처럼 프로그램을 논리적인 부분으로 분할한다.

늘 필요한 공통 부분은 메모리에 계속 두고, 서로 동시에 필요하지 않은 부분들은 같은 기억장치 영역을 번갈아 사용한다. 예를 들어 초기화 부분의 실행이 끝난 뒤 그 영역에 처리 부분을 덮어 쓰고, 처리 후에는 출력 부분을 적재할 수 있다. 이 방법으로 물리적 주기억장치보다 큰 프로그램도 실행할 수 있다.

오버레이는 프로그램을 필요한 시점에 따라 나누고, 현재 실행에 필요한 부분만 메모리에 올려 같은 공간을 재사용하는 기법이다.

5. 다중프로그래밍과 연속 기억장치 할당

고정 분할 다중프로그래밍 기법

고정 분할 다중프로그래밍 기법은 주기억장치를 여러 개의 고정된 크기 영역으로 나누고, 실행 중인 여러 프로세스에 각 영역을 할당하는 방식이다. 단일 사용자 방식처럼 한 번에 하나의 프로그램만 실행할 수 있다는 한계를 개선한다.

여러 프로세스가 주기억장치에 함께 존재하므로 한 프로세스가 입출력을 기다리는 동안 CPU가 다른 프로세스의 연산을 처리할 수 있다. 그러나 미리 정한 분할 크기와 실제 작업 크기가 정확히 맞지 않으면 할당된 영역 내부에 사용하지 못하는 공간이 생긴다.

내부 단편화

내부 단편화(internal fragmentation)는 프로세스에 할당된 고정 영역 안에 사용되지 않는 공간이 생기는 현상이다. 예를 들어 100MB의 분할 영역에 95MB 작업을 할당하면 5MB가 남지만, 이 공간은 해당 영역 안에 포함되어 있으므로 다른 작업에 따로 줄 수 없다. 반대로 5MB 작업을 100MB 영역에 할당하면 95MB가 낭비될 수 있다.

고정 분할 방식은 구현이 비교적 단순하지만, 다양한 크기의 작업을 미리 정해진 영역에 맞춰 넣어야 하므로 각 분할 영역에서 낭비가 반복될 수 있다.

동적 분할 프로그래밍 기법

동적 분할 프로그래밍 기법은 고정 분할의 내부 단편화 문제를 줄이기 위해 개발되었다. 프로그램이 주기억장치에 적재될 때마다 작업에 필요한 크기만큼 연속된 공간을 할당한다. 처음부터 고정된 크기로 메모리를 나누지 않으므로 분할 영역 내부에 남는 공간, 즉 내부 단편화는 발생하지 않는다.

외부 단편화

동적 분할에서는 작업이 적재되고 종료되는 과정이 반복되면서 메모리 곳곳에 작은 빈 공간이 흩어질 수 있다. 외부 단편화(external fragmentation)는 사용 가능한 빈 공간의 총합은 충분하더라도 각각의 빈 공간이 너무 작거나 서로 떨어져 있어 필요한 크기의 연속 공간을 할당하지 못하는 현상이다.

예를 들어 전체 100MB 공간에 여러 작업을 배치한 뒤 일부 작업이 종료되어 3MB씩 여러 빈 공간이 생겼다고 하자. 남은 빈 공간의 합이 5MB 이상이어도 5MB가 연속되어 있지 않다면 5MB 작업을 넣을 수 없다.

통합과 집약

외부 단편화를 완화하는 방법으로 통합(coalescing)집약(compaction)이 있다. 통합은 서로 인접한 빈 공간을 합쳐 더 큰 하나의 빈 공간으로 만드는 방법이다. 떨어져 있는 빈 공간에는 적용할 수 없지만, 바로 붙어 있는 공백을 효과적으로 결합한다.

집약은 주기억장치 안의 사용 중인 영역을 한쪽으로 이동시켜 흩어진 모든 빈 공간을 모으고, 하나의 커다란 연속 공간을 만드는 방법이다. 더 큰 빈 공간을 확보할 수 있지만 프로그램을 실제로 이동해야 하므로 추가적인 처리 비용이 발생한다.

기법·현상발생 위치 또는 방법핵심 내용
내부 단편화할당된 고정 분할 영역 내부분할 크기보다 작은 작업이 들어가 남은 공간을 사용하지 못함
외부 단편화할당 영역들 사이의 빈 공간총 빈 공간은 충분해도 연속 공간이 작아 작업을 배치하지 못함
통합서로 인접한 빈 공간붙어 있는 공백을 하나의 더 큰 공백으로 결합
집약주기억장치 전체사용 영역을 이동하여 흩어진 공백을 한곳에 모음

6. 가상기억장치의 개념

가상기억장치가 필요한 이유

가상기억장치(virtual memory)는 보조기억장치를 이용하여 프로그램의 관점에서 사용할 수 있는 메모리 영역이 실제 주기억장치보다 더 넓게 보이도록 하는 기법이다. 주기억장치에 이용 가능한 영역보다 큰 프로그램을 작은 단위로 나누어 실행하고, 필요한 부분을 보조기억장치에서 주기억장치로 옮긴다.

가상기억장치에서 가장 중요한 과정은 실행 중인 프로세스가 사용하는 주소를 실제 주기억장치의 주소로 변환하는 것이다. 프로그램은 가상 주소를 기준으로 작성되고 실행되지만, CPU가 실제 데이터에 접근하려면 해당 가상 주소가 어느 주기억장치 위치에 대응하는지 알아야 한다.

가상 주소와 실주소

가상 주소는 실행 프로그램이 참조하는 논리적인 주소이고, 실주소는 주기억장치에서 실제로 사용되는 물리적인 주소이다. 가상기억장치 시스템에서는 프로그램이 참조한 가상 주소를 실주소로 변환하여 주기억장치에 접근한다.

가상 주소의 범위는 주기억장치에서 직접 사용할 수 있는 실주소 범위보다 클 수 있다. 운영체제는 가상 주소와 주기억장치 주소, 그리고 보조기억장치의 저장 위치를 연결하여 프로그램이 큰 연속 공간을 사용하는 것처럼 보이게 한다.

가상기억장치는 보조기억장치를 주기억장치처럼 단순히 사용하는 것이 아니라, 프로그램의 가상 주소를 실제 주기억장치 주소로 변환하면서 필요한 부분만 적재하는 메모리 관리 기법이다.

7. 페이징과 세그먼테이션

페이징 기법

페이징(paging)은 보조기억장치의 프로그램 코드와 데이터를 페이지(page)라는 동일한 크기의 블록으로 나누어 주기억장치에 적재하는 기법이다. 주기억장치도 페이지와 같은 크기의 블록으로 나뉘며, 이를 페이지 프레임(page frame)이라고 한다.

CPU에서 프로세스를 실행하려면 필요한 페이지가 주기억장치에 있어야 한다. 운영체제는 보조기억장치에서 필요한 페이지를 가져와 사용 가능한 페이지 프레임에 적재한다. 모든 페이지가 주기억장치의 연속된 위치에 놓일 필요는 없으며, 서로 떨어진 프레임에 들어갈 수 있다.

페이지와 페이지 프레임의 크기가 같으므로 어느 페이지든 빈 프레임에 적재할 수 있다. 따라서 프로그램 전체를 하나의 연속 공간에 배치해야 하는 연속 할당 방식의 외부 단편화 문제를 피하는 데 유리하다.

세그먼테이션 기법

세그먼테이션(segmentation)은 프로그램의 코드나 데이터를 일정하지 않은 서로 다른 크기의 논리적인 블록으로 나누어 주기억장치에 적재하는 기법이다. 각 블록을 세그먼트(segment)라고 한다.

개발자는 일반적으로 프로그램을 하나의 단일한 덩어리로만 생각하지 않고 코드, 데이터, 기능별 모듈처럼 논리적인 부분으로 구성한다. 세그먼테이션은 이러한 논리적 구분을 반영하여 서로 다른 크기의 세그먼트로 나눈다.

구분페이징세그먼테이션
분할 기준물리적 관리에 편리한 고정 크기프로그램의 논리적 구성
블록 이름페이지세그먼트
블록 크기모두 동일함서로 다를 수 있음
주기억장치 대응동일 크기의 페이지 프레임에 적재세그먼트 크기에 맞는 영역에 적재

페이징은 같은 크기로 나누는지가 핵심이고, 세그먼테이션은 코드·데이터·모듈처럼 프로그램의 논리적인 의미에 따라 서로 다른 크기로 나누는지가 핵심이다.

핵심 개념 정리

  • 운영체제는 사용자와 하드웨어 사이의 인터페이스를 제공하고 컴퓨터 자원을 효율적으로 관리한다.
  • 프로세서 관리자는 CPU 할당과 프로세스 상태를 관리하고, 주기억장치 관리자는 메모리 할당·회수·보호를 담당한다.
  • 장치 관리자는 입출력장치를 배정·회수하고, 파일 관리자는 파일 접근과 저장공간을 관리한다.
  • 일괄처리는 여러 작업을 모아 처리하며, 다중프로그래밍은 입출력 대기 중 다른 작업에 CPU를 할당한다.
  • 시분할 처리는 CPU 시간을 짧은 간격으로 나누어 여러 사용자에게 대화식 환경을 제공한다.
  • 기억장치 계층은 레지스터, 캐시, 주기억장치, 보조기억장치 순으로 구성된다.
  • 오버레이는 큰 프로그램을 나누어 필요한 부분만 주기억장치에 적재한다.
  • 고정 분할에서는 할당 영역 안의 내부 단편화가, 동적 분할에서는 흩어진 빈 공간에 의한 외부 단편화가 문제가 된다.
  • 통합은 인접 공백을 합치고, 집약은 사용 영역을 이동하여 모든 공백을 한곳에 모은다.
  • 가상기억장치는 가상 주소를 실주소로 변환하며 보조기억장치를 이용해 더 큰 메모리 공간을 제공한다.
  • 페이징은 동일 크기의 페이지를 페이지 프레임에 적재하고, 세그먼테이션은 논리적으로 구분된 서로 다른 크기의 세그먼트를 사용한다.

최종 정리: 운영체제의 핵심은 한정된 CPU·메모리·장치·파일을 여러 프로그램이 효율적이고 안전하게 공유하도록 만드는 데 있다. 작업 처리 방식은 자원의 유휴 시간을 줄이는 방향으로 발전했고, 기억장치 관리 역시 연속 할당의 단편화 문제를 거쳐 가상 주소와 필요한 부분만 적재하는 가상기억장치 방식으로 확장되었다.

예상문제 20선

1. 운영체제의 개념으로 가장 알맞은 것은?

정답입니다.

오답입니다. 답안을 다시 선택해 보세요.

정답 및 해설 보기

정답: ①
운영체제는 사용자가 하드웨어를 편리하게 이용하도록 인터페이스를 제공하고 CPU, 메모리, 장치, 파일 등의 자원을 관리한다.

2. 프로세서 관리자의 역할은?

정답입니다.

오답입니다. 답안을 다시 선택해 보세요.

정답 및 해설 보기

정답: ②
프로세서 관리자는 실행할 프로세스에 CPU를 배정하고 각 프로세스의 상태를 감시·변경한다.

3. 주기억장치 관리자의 기능에 해당하는 것은?

정답입니다.

오답입니다. 답안을 다시 선택해 보세요.

정답 및 해설 보기

정답: ③
주기억장치 관리자는 필요한 메모리를 프로세스에 배정하고 사용이 끝나면 회수하며 영역 간 침범을 방지한다.

4. 파일 관리자의 역할로 옳지 않은 것은?

정답입니다.

오답입니다. 답안을 다시 선택해 보세요.

정답 및 해설 보기

정답: ④
CPU 할당은 프로세서 관리자의 역할이다. 파일 관리자는 파일 접근, 읽기·쓰기, 저장공간 할당과 회수를 담당한다.

5. 일괄처리 시스템의 특징은?

정답입니다.

오답입니다. 답안을 다시 선택해 보세요.

정답 및 해설 보기

정답: ①
일괄처리는 개별 작업을 즉시 실행하지 않고 여러 작업을 모아 묶음 단위로 처리하는 방식이다.

6. 다중프로그래밍 시스템에서 작업 A가 입출력장치를 사용하는 동안 일반적으로 일어나는 일은?

정답입니다.

오답입니다. 답안을 다시 선택해 보세요.

정답 및 해설 보기

정답: ②
다중프로그래밍은 한 작업의 입출력 대기 시간에 다른 작업이 CPU를 사용하게 하여 자원의 유휴 시간을 줄인다.

7. CPU 시간을 작은 시간 간격으로 나누어 여러 사용자에게 할당하는 방식은?

정답입니다.

오답입니다. 답안을 다시 선택해 보세요.

정답 및 해설 보기

정답: ③
시분할 처리 시스템은 CPU 시간을 짧게 나누어 각 사용자나 작업에 순환적으로 배정하고 대화식 작업을 지원한다.

8. 기억장치 계층을 CPU에 가까운 빠른 순서부터 나열한 것은?

정답입니다.

오답입니다. 답안을 다시 선택해 보세요.

정답 및 해설 보기

정답: ④
CPU 내부의 레지스터가 가장 빠르고, 이어 캐시와 주기억장치가 있으며 대용량 보조기억장치는 상대적으로 느리다.

9. 캐시 기억장치를 사용하는 주된 이유는?

정답입니다.

오답입니다. 답안을 다시 선택해 보세요.

정답 및 해설 보기

정답: ①
캐시는 자주 사용할 가능성이 높은 코드와 데이터를 빠르게 제공하여 CPU가 느린 주기억장치를 기다리는 시간을 줄인다.

10. 오버레이 기법에 대한 설명으로 옳은 것은?

정답입니다.

오답입니다. 답안을 다시 선택해 보세요.

정답 및 해설 보기

정답: ②
오버레이는 주기억장치보다 큰 프로그램을 실행할 수 있도록 필요한 부분만 그때그때 적재하고 공간을 재사용한다.

11. 고정 분할 다중프로그래밍 기법에서 주로 발생하는 단편화는?

정답입니다.

오답입니다. 답안을 다시 선택해 보세요.

정답 및 해설 보기

정답: ③
고정된 분할 크기보다 작은 작업을 할당하면 그 영역 내부의 남은 공간을 다른 작업이 사용할 수 없어 내부 단편화가 된다.

12. 100MB 고정 분할 영역에 5MB 작업을 배치했을 때 사용하지 못하는 95MB 공간은 무엇인가?

정답입니다.

오답입니다. 답안을 다시 선택해 보세요.

정답 및 해설 보기

정답: ④
이미 작업에 할당된 고정 영역의 안쪽에 남아 다른 작업에 배정할 수 없는 공간이므로 내부 단편화이다.

13. 동적 분할 프로그래밍 기법의 설명으로 옳은 것은?

정답입니다.

오답입니다. 답안을 다시 선택해 보세요.

정답 및 해설 보기

정답: ①
동적 분할은 고정 영역을 미리 만들지 않고 각 작업의 실제 크기에 맞는 연속 공간을 할당한다.

14. 빈 공간의 총합은 충분하지만 서로 떨어져 있어 큰 작업을 배치하지 못하는 현상은?

정답입니다.

오답입니다. 답안을 다시 선택해 보세요.

정답 및 해설 보기

정답: ②
외부 단편화는 할당 영역 사이에 작은 공백이 흩어져 충분한 크기의 연속 공간을 확보하지 못하는 현상이다.

15. 인접한 빈 공간을 합쳐 하나의 큰 빈 공간으로 만드는 방법은?

정답입니다.

오답입니다. 답안을 다시 선택해 보세요.

정답 및 해설 보기

정답: ③
통합은 서로 바로 붙어 있는 공백을 합친다. 집약은 사용 영역까지 이동하여 흩어진 공백 전체를 한곳에 모은다.

16. 집약에 대한 설명으로 옳은 것은?

정답입니다.

오답입니다. 답안을 다시 선택해 보세요.

정답 및 해설 보기

정답: ④
집약은 주기억장치의 배치 자체를 조정하여 사용 영역을 한쪽에 모으고 큰 연속 빈 공간을 만든다.

17. 가상기억장치의 핵심 설명으로 옳은 것은?

정답입니다.

오답입니다. 답안을 다시 선택해 보세요.

정답 및 해설 보기

정답: ①
가상기억장치는 프로그램을 작은 단위로 나누고 필요한 부분만 주기억장치에 두어 더 큰 주소 공간을 제공한다.

18. 실행 프로그램이 참조하는 논리 주소를 실제 주기억장치의 물리 주소로 바꾸는 것은?

정답입니다.

오답입니다. 답안을 다시 선택해 보세요.

정답 및 해설 보기

정답: ②
프로그램은 가상 주소를 사용하지만 실제 데이터 접근은 주기억장치의 실주소에서 이루어지므로 주소 변환이 필요하다.

19. 페이징 기법에서 주기억장치를 페이지와 같은 크기로 나눈 블록은?

정답입니다.

오답입니다. 답안을 다시 선택해 보세요.

정답 및 해설 보기

정답: ③
보조기억장치의 프로그램은 페이지로 나뉘며, 주기억장치의 같은 크기 블록인 페이지 프레임에 적재된다.

20. 페이징과 세그먼테이션의 비교로 옳은 것은?

정답입니다.

오답입니다. 답안을 다시 선택해 보세요.

정답 및 해설 보기

정답: ④
페이지는 고정된 같은 크기이고, 세그먼트는 코드·데이터·모듈과 같은 논리적 구성에 따라 크기가 달라질 수 있다.

댓글