논리적 주소는 주소 프로그램이 실행되는 동안 CPU에 의해 생성된 것이다.
논리 주소는 물리적으로 존재하지 않는 가상 주소다.
물리적 주소는 메모리의 물리적 위치를 식별하는 기억장치가 취급하는 주소이다.
논리 주소는 MMU(기억장치관리기)라는 하드웨어 장치에 의해 해당 물리적 주소에 매핑된다.
논리적 주소 공간 : 프로그램에 의해 생성된 모든 논리 주소의 집합
물리적 주소 공간 : 이 논리적 주소에 상응하는 모든 물리적 주소의 집합
논리적 주소와 실제 주소의 다른 점을 기술하시오.
논리적 주소와 실제 주소의 차이점은
첫 번째로 논리적 주소는 중앙처리장치(CPU)가 생성한다는 것이고,
물리적 주소는 기억장치에 존재하는 위치라는 것이다.
두 번째로 논리적 주소는 메모리 장치에 물리적으로 존재하지 않는 가상 주소이다.
하지만 물리적 주소는 물리적으로 엑세스 할 수 있는 기억장치의 위치이다.
세 번째로 논리 주소는 프로그램이 실행되는 동안 CPU에 의해 생성되는 반면,
물리적 주소는 MMU에 의해 계산된다.
어떤 경우에 오버레이가 유용한가? 어느 때에 주기억장치의 일부분이 오버레이 되는가?
오버레이는 프로그램 개발 시 어떤 영향을 미치며,
오버레이는 프로그램 수정 가능성에 어떤 영향을 미치는가?
주기억장치보다 더 큰 프로그램의 실행이 필요할 때 유용한 기법이다.
특정한 프로그램의 한 부분이 프로그램의 실행에 더 이상 필요하지 않을 때 다른 프로그램을
보조기억장치로부터 옮겨와서 필요없는 프로그램들이 사용하고 있던 기억장소를 차지해 오버레이된다.
오버레이는 프로그램 개발 시 미치는 영향은
프로그래머가 한정된 주기억장치를 확장하여 사용할 수 있는 방법을 제공한다는 것이다.
오버레이가 프로그램 수정 가능성에 미치는 영향은
사용자가 직접 오버레이 작업을 하는 것은 매우 신경 쓰이고 시간 소모가 크고,
복잡한 오버레이 구조를 가진 프로그램은 수정하기도 어렵다는 것이다.
배치 기법은 새로 들어온 프로그램과 데이터를 주기억장치의 어디에 넣을 것인가를 결정한다.
실행되기를 기다리고 있는 작업의 기억장치 필요조건이 곧바로 충족될 수 있다고 가정할 때,
그 작업을 적재하여 즉시 실행시킬 수 있는 배치 전략에 대해 기술하시오.
배치 전략은 입력되는 프로그램과 데이터를 주기억장치의 어느에 넣을 것인가를 결정하기 위해 사용된다.
가장 일반적으로 사용되는 세 가지 배치 전략이 있다.
최초 적합 기법 :
작업을 적재함에 있어, 그것을 수용할 수 있는 주기억장치의 첫 번째 유용한 공백을 우선적으로 선택하는 방법이다.
최적 적합 기법 :
어떤 작업을 적재할 기억 공간을 선택함에 있어,
그 작업에 가장 적합한 공간을 선택함으로써 기억장치의 단편화를 최소로 하는 방법이다.
즉, 남게 될 공백을 최소로 하는 방법이다.
최악 적합 기법 :
프로그램을 주기억장치 내에서 가장 알맞지 않은 공백, 즉 가장 큰 공백에 배치하는 방법이다.
왜냐면 큰 공백에 배치하면 배치 후 남게 될 공백 역시 크고, 다시 그 공백에 다른 프로그램을 배치할 수 있기 때문이다.
단편화에 대하여 설명하고, 이것을 극복하는 방법은 무엇인가?
단편화란 기억 장치의 빈 공간 또는 자료가 여러 개의 조각으로 나뉘는 현상을 말한다.
RAM에서 공간이 작은 조각으로 나뉘어 사용가능한 메모리가 존재하지만 할당이 불가능한 상태를 말한다.
기억공간의 효율화로 단편화를 극복하기 위한 방안으로 다음과 같은 방법들이 적용되고 있다.
우선 공백의 합병이 있다.
기억 공간의 공백이 발생하였을 때, 인접한 공백들을 결합해 하나의 큰 기억 공간으로 만드는 방법이다.
그리고 기억장소의 집약이 있다.
현재 사용되고 있는 모든 기억 공간을 주기억장치의 한쪽으로 모음으로써, 분산되어 있는 단편화된 빈 공간들을 통합해 하나의 큰 기억 공간으로 만드는 방법이다. 이러한 기억장소의 집약을 일반적으로 쓰레기 수집이라고 부르기도 한다.
내부 단편화와 외부 단편화 사이의 차이점을 설명하고, 어떻게 다른지 설명하시오.
내부 단편화는 주기억장치 내 사용자 영역이 실행 프로그램보다 커서 프로그램 사용 공간을 할당 후
사용되지 않고 남아있는 공간이다.
반면 외부 단편화는 주기억장치 내 사용자 영역보다 실행 프로그램이 커서 프로그램이 할당될 수 없어
사용되지 않고 남아있는 공간이다.
내부 단편화의 경우 주기억장치 내 사용자 영역이 실행 프로그램보다 크지만,
외부 단편화는 주기억장치 내 사용자 영역이 실행 프로그램보다 작다.
내부 단편화란 메모리를 할당할 때 프로세스가 필요한 양보다 더 큰 메모리가 할당되어서
프로세스에서 사용하는 메모리 공간이 낭비되는 현상이다.
반면 외부 단편화란 어떤 분할이 사용되지 않고 이용 가능하지만 대기 중인 작업에게는 너무 작아서
사용할 수 없을 때에 발생하는 현상이다.
'전공 지식 정리 > 운영체제' 카테고리의 다른 글
#4 가상 메모리 관리 (0) | 2022.06.14 |
---|---|
#2 프로세스와 스레드 관리 (1) | 2022.04.19 |
#1 운영체제 소개 (0) | 2022.04.18 |