<쉽게 배우는 운영체제> 교재를 참고하였습니다.
메모리 오버레이
메모리 오버레이
- 프로그램의 크기가 실제 메모리(물리 메모리)보다 클 때 전체 프로그램을 메모리에 가져오는 대신 적당한 크기로 잘라서 가져오는 기법
- 메모리 오버레이를 사용하면 물리 메모리보다 더 큰 프로그램도 실행이 가능하다!
메모리 중첩
메모리 오버레이의 작동 방식
- 프로그램이 실행되면 필요한 모듈만 메모리에 올라와 실행
메모리 오버레이의 의미
- 한정된 메모리에서 메모리보다 큰 프로그램 실행 가능. 이것은 가상 메모리의 기본 개념임.
- 프로그램 전체가 아니라 일부만 메모리에 올라와도 실행 가능
- 이것은 메모리를 여러 조각으로 나누어 여러 프로세스에 할당할 수 있다는 의미임.
중첩 (오버레이)
- 실행하려는 프로그램이 메모리보다 클 때는 당장 필요하지 않은 프로그램의 일부는 중첩(오버레이)으로 설정 가능.
- 운영체제 영역과 메모리의 일부 영역에는 프로그램 실행에 꼭 필요한 명령어와 데이터만 저장, 나머지 중첩 영역에는 필요할 때 호출하여 적재하는 방법
- 구조
- 중첩 예
스왑
스왑 영역 (swap area)
- 메모리가 모자라서 쫓겨난 프로세스를 저장장치의 특별한 공간에 모아두는 영역
- 메모리에서 쫓겨났다가 다시 돌아가는 데이터가 머무는 곳이기 때문에 저장장치는 장소만 빌려주고 메모리 관리자가 관리
- 사용자는 실제 메모리의 크기와 스왑 영역의 크기를 합쳐서 전체 메모리로 인식하고 사용
스왑
- [그림 7-15]에서는 메모리에 모듈 B를 가져올 때 먼저 메모리에 올라온 모듈 A는 어떤 곳이든 보관해야 함
- 모듈 A 하드디스크 위치에 옮겨 놓으면 되겠지만, 다시 사용할지도 모르고 아직 작업이 끝나지 않았으면 별도공간에 보관해야 함
더보기
- 메모리가 부족해서 교체된 프로세스는 저장장치의 특별한 공간에 모아두는데 이 영역을 스왑영역(swap area)이라고 함.
- 메모리에서 교체되었다가 다시 돌아가는 데이터가 머무는 곳이기 때문에 저장장치는 장소만 빌려주고 메모리 관리자가 관리
스왑인과 스왑아웃
- 스왑인 : 스왑 영역에서 메모리로 데이터를 가져오는 작업
- 스왑아웃 : 메모리에서 스왑 영역으로 데이터를 내보내는 작업
스와핑 (프로세스 교체)
- 프로세서 할당이 끝나고 수행 완료된 프로세스는 보조기억장치로 보내고(스왑 아웃), 새롭게 시작하는 프로세스는 메모리에 적재(스왑 인). 프로세스는 메모리에 있어야 수행되므로 일시적으로 디스크로 이동했다가 메모리로 되돌아와 다시 수행 가능
- 개념
'전공 > 운영체제' 카테고리의 다른 글
Ch07. 물리 메모리 관리_04)다중 프로그래밍 환경에서의 메모리 할당_2 (2) | 2023.05.20 |
---|---|
Ch07. 물리 메모리 관리_04)다중 프로그래밍 환경에서의 메모리 할당_1 (1) | 2023.05.19 |
Ch07. 물리 메모리 관리_02)메모리 주소 (1) | 2023.05.14 |
Ch07. 물리 메모리 관리_01)메모리 관리의 개요 (1) | 2023.05.13 |
[심화]Ch06. 교착 상태_04)다중 자원과 교착 상태 검출 (0) | 2023.04.29 |
댓글