9. 메모리 영역이 부족해서 쫓겨난 프로세스를 보관하는 저장장치의 특별한 공간은 무엇인가?
⇒ 스왑 영역
메모리 오버레이는 메모리 보다 큰 프로그램을 모듈 형태로 나누고 필요한 모듈을 메모리에 가져와 사용하는 방법. 프로그램의 기능들을 모듈 A와 B로 나눴다고 가정하고 모듈 A를 사용하다가 모듈 B가 필요하면 모듈 A를 어딘가에 보관한 후에 모듈 B를 메모리로 가져와야 한다. 모듈 a를 원래의 하드디스크 위치에 올려놓으면 되겠지만, 다시 사용할지도 모르고 아직 프로그램이 끝나지 않았기 때문에 저장장치의 별도의 공간에 보관해야 한다. 이 공간을 스왑 영역 (SWAP AREA)라고 부른다.
메모리가 모자라서 쫓겨난 프로세스를 스왑 영역에 모아둔다. 스왑 영역은 하드 디스크에 있지만 저장장치를 관리하는 저장장치 관리자가 아니라 메모리 관리자가 관리한다.
•
스왑 영역 → 메모리 로 데이터를 가져오는 작업: 스왑 인 (swap in)
•
메모리 → 스왑 영역 으로 데이터를 보내는 작업 : 스왑 아웃 (swap out)
10. 가변 분할 방식에서 사용하지 못하는 작은 메모리 공간이 발생하는 현상을 무엇이라 하는가?
다중 프로그래밍 환경에서는 메모리를 어떤 크기로 나눌 것인지를 정하는 가변 분할 방식과 고정 분할 방식이 있다.
•
가변 분할 방식은 프로세스의 크기에 따라 메모리를 나누는 것
•
고정 분할 방식은 프로세스의 크기와 상관없이 메모리를 같은 크기로 나누는 것
가변 분할 방식에서 빈 영역이 있어도 프로그램의 프로세스들이 서로 떨어져있으면 프로세스를 배정하지 못하는 현상을 단편화 또는 조각화 (Fragmentation) 라고 한다.
18KB의 프로세스 B와 17 KB 프로세스 D 가 종료되면 18KB와 17KB 의 빈 공간이 생긴다. 이후 18 KB보다 큰 프로세스가 들어오면 빈 공간이 있지만 프로세스의 크기보다 작기 때문에 메모리를 배정하지 못하는데, 이러한 현상을 외부 단편화 (External Fragmentation)이라고 한다.
11. 가변 분할 방식의 메모리 배치 방식 중 프로세스를 배치하기에 적당한 공간 가운데 가장 작은 공간에 배치하는 방식은 무엇인가?
•
가변 분할 방식의 외부 단편화 문제를 해결하기 위한 메모리 배치 방식으로는 최초 배치 (first fit), 최적 배치 (best fit), 최악 배치 (worst fit)이 있다.
•
이 중 최적 배치는 메모리의 빈 공간을 모두 확인 한 후 적당한 공간 가운데 가장 작은 공간에 프로세스를 배치하는 방법이다.
•
최적 배치는 딱 맞는 공간을 찾을 경우에는 단편화가 일어나지 않지만 그렇지 않으면 아주 작은 조작을 만들어내는 단점이 있다.
◦
eg. 10 MB의 프로세스를 12 MB의 빈 공간에 배치하면 2MB가 남는다. 이런 작은 공간은 다른 프로세스를 배치하기네는 너무 작기 때문에 버려질 가능 성이 크다.
12. 고정 분할 방식에서 똑같이 나누어진 메모리 공간에서 작은 조각이 발생하는 현상을 무엇이라 하는가?
•
고정 분할 방식은 프로세스의 크기와 상관없이 메모리를 같은 크기로 나누는 것
고정 분할 방식에서 일정하게 나뉜 메모리의 크기보다 작은 프로세스가 배치될 경우 낭비되는 공간이 생기는 데 이 현상을 내부 단편화 (internal fragmentation)이라고 한다. 같은 크기로 나뉜 공간 안에서 발생하기 때문에 이렇게 불린다.
이런 현상을 줄이기 위해서는 신중하게 메모리의 크기를 결정해서 나누어야 하지만 사용하는 프로세스의 크기가 제각각이기 때문에 메모리를 얼마로 나누느냐에 관한 정답은 없다.
내부조각
프로세스의 크기 < 분할의 크기
프로세스의 크기가 분할의 크기보다 작아서 쓸 수 없는 작은 공간이 남는 경우
외부 조각
프로세스의 크기 > 분할의 크기
프로세스가 남는 공간의 크기보다 커서 배치를 하지 못하는 경우