7주차 퀴즈
- 7주차 퀴즈
- 페이징과 세그멘테이션의 정의 및 각각의 장단점에 대해 서술하시오. (1점)
- First-fit에 대한 예시를 보고, Next-fit과 Best-fit일 때요청에 대한 메모리 할당 순서를 기록하세요. (1점)
- DMA의 기본 개념을 설명하고, DMA가 시스템 성능에 미치는 이점을 두 가지 이상 제시하시오. (1점)
- 다음 코드의 출력 값을 예측해 보시오. (1점)
- 1 2 4 4 3 5 5 6의 입력이 Do it 알고리즘 책 p.294의 알고리즘에 주어질 때의 상태를 그리면 됩니다. 주어진 입력으로 부터 p.294의 1단계를 거치고 나서 부터 그리면 되고, p.291의 그림을 그릴 때는 좌측의 힙(트리)은 그리 않아도 됩니다. 배열 상태로 부터 힙은 충분히 그릴 수 있기 때문입니다. (2점)
7주차 퀴즈
페이징과 세그멘테이션의 정의 및 각각의 장단점에 대해 서술하시오. (1점)
세그멘테이션(Segmentation)과 페이징(Paging)은 컴퓨터 메모리 관리 방법입니다.
세그멘테이션 : 이는 메모리를 의미 있는 단위인 ‘세그먼트’로 나누는 방법입니다. 각 세그먼트는 시작 주소와 길이를 가지며, 다른 유형의 데이터(예: 코드, 데이터, 스택)를 위해 사용됩니다. 세그멘테이션은 메모리를 더 유연하게 관리할 수 있게 해주며, 프로그램의 논리적 구조를 반영할 수 있습니다.
페이징 : 페이징은 메모리를 동일한 크기의 블록, 즉 ‘페이지’로 나누는 방법입니다. 각 페이지는 가상 메모리 주소와 매핑되며, 페이지 테이블을 통해 물리적 메모리 주소로 변환됩니다. 페이징은 메모리 관리를 단순화하고, 메모리의 낭비를 줄이며, 프로그램 간의 메모리 충돌을 방지합니다.
장단점 :
세그멘테이션
장점 :
메모리를 논리적 단위로 나누어 프로그램의 구조를 반영함.
세그먼트별 보호와 공유가 용이함.
단점 :
외부 단편화 발생 가능성이 있음.
메모리 관리가 복잡해질 수 있음.
페이징
장점 :
외부 단편화 문제를 해결함.
메모리 관리가 상대적으로 단순함.
단점 :
내부 단편화 발생 가능성이 있음.
페이지 테이블 관리에 추가적인 메모리가 필요함.
First-fit에 대한 예시를 보고, Next-fit과 Best-fit일 때요청에 대한 메모리 할당 순서를 기록하세요. (1점)
메모리에는 다음과 같은 블록들이 있으며, 각 블록의 크기는 괄호 안에 표시되어 있습니다.
메모리 블록: A(10), B(50), C(25), D(30), E(40)
다음 순서로 메모리 요청이 들어옵니다.
요청 순서: 1(30), 2(25), 3(25), 4(10)
예) First-fit 1 - B 2 - C 3 - D 4 - A
Next-Fit 1 - B 2 - C 3 - D 4 - E
Best-Fit 1 - D 2 - C 3 - E 4 - A
DMA의 기본 개념을 설명하고, DMA가 시스템 성능에 미치는 이점을 두 가지 이상 제시하시오. (1점)
DMA는 Direct Memory Access의 약자로, CPU의 중재 없이 주변장치가 메모리에 직접 접근하여 데이터를 읽고 쓸 수 있게 해주는 시스템의 한 기능이다. DMA를 사용함으로써, 데이터 전송 과정에서 CPU가 필요하지 않으므로, CPU는 다른 작업을 수행하는 데 더 많은 시간을 할애할 수 있다. 이는 시스템 성능의 향상으로 이어지는데, 특히 I/O 작업이 많은 시스템에서 그 이점이 두드러진다.
첫째, CPU의 부하가 감소하여 전체 시스템의 효율성이 증가한다.
둘째, 데이터 전송 속도가 향상되므로, 전반적인 시스템 응답 시간이 단축된다.
다음 코드의 출력 값을 예측해 보시오. (1점)
#include <stdio.h>
int main(int argc, char *argv[])
{
int arr[2][3] = {1,2,3,4,5,6};
int (*p)[3] = NULL;
p = arr;
printf("%d\n", *(p[0] + 1) + *(p[1] + 2));
printf("%d\n", *(*(p + 1) + 0) + *(*(p + 1) + 1));
return 0;
}
답 : 8 9
1 2 4 4 3 5 5 6의 입력이 Do it 알고리즘 책 p.294의 알고리즘에 주어질 때의 상태를 그리면 됩니다. 주어진 입력으로 부터 p.294의 1단계를 거치고 나서 부터 그리면 되고, p.291의 그림을 그릴 때는 좌측의 힙(트리)은 그리 않아도 됩니다. 배열 상태로 부터 힙은 충분히 그릴 수 있기 때문입니다. (2점)
처음 :6 4 5 2 3 4 5 1 ‘0’ : 5 4 5 2 3 4 1 6 ‘1’ : 5 4 4 2 3 1 5 6 ‘2’ : 4 3 4 2 1 5 5 6 ‘3’ : 4 3 1 2 4 5 5 6 ‘4’ : 3 2 1 4 4 5 5 6 ‘5’ : 2 1 3 4 4 5 5 6 ‘6’ : 1 2 3 4 4 5 5 6 final : 1 2 3 4 4 5 5 6