반응형
가상메모리
- 주어진 기계에서 실제로 사용가능한 저장리소스의 이상화된 추상 메모리
- 운영체제에서는 프로그램에서 사용하는 가상 주소라는 메모리 주소를 컴퓨터 메모리에 있는 물리적 주소와 mapped 됨
- 프로세스마다 실제 물리 메모리가 아닌 가상의 주소 공간을 보이게 한다는 의미
- 효과
- 주기억장치의 효율적인 관리
- 메모리 관리의 단순화
- 메모리 용량 및 안전성 보장
- 가상 주소
- 프로세스가 생성되어 독립적으로 할당 받는 주소
- Memory manage unit (MMU)에서 관리함
- 멀티 태스킹 OS에서 흔히 사용
- 가상 기억 장치의 개념에서 가상 공간의 연속적 주소가 실제 물리적인 공간 상에서 연속적일 필요가 없음인위적인 연속성 (artificial continuity)
Paging
- 가상 주소 공간을 page라는 단위로 나누어짐
- 크기가 정해져있음
- 내부 단편화
- page 영역 > 실행 프로그램
Page Table
- 가상 메모리 주소를 물리 주소로 변환해준다.
- 실제 메모리를 사용하는지 아닌 플래그를 가짐
- 실제 메모리 안에 있으면 실제 메모리를 페이지 테이블 항목에 가지고 있음
- 그게 아닐경우 page fault exception 발생함 ⇒ interrupt
- 가상메모리 공간에는 존재하지만 시스템의 RAM에서 존재하지 않을 때
Page Supervisor
- 페이지 테이블과 쉬고 있는 페이지 프레임 리스트를 생성하고 관리함
- page fault를 해결하기 위해서 페이지 교체 알고리즘을 이용하여 잠깐 동안 할당된 페이지 프레임을 훔침
Pinned Page
- OS는 고정된 메모리를 가짐
- 페이지 슈퍼바이저도 고정된 메모리 가짐
Thrashing
- 페이징과 페이지을 훔칠때 thrashing 발생가능
- 모든 활성 프로그램의 작업들을 저장하는 메모리가 충분하지 않을 때 발생
Segementation(분할)
- 페이지와 다르게 서로 다른 크기의 논리적 단위인 세그먼트로 분할
- 외부 단편화
- 주기억 장치 내 사용자 영역 < 실팽 프로그램
- 페이지와 세그먼트는 혼용해서 사용이 가능함
Paging 과 Segmentation의 차이
- 메모리 분할 차이
- 세그먼트는 사용자 프로세스에서 볼 수 있음
- page가 segmentation에 비해 빠름
- 페이징은 운영체제에서 사용 가능한 프레임 목록을 유지, segmentation은 운영체제에서 주메모리의 누수 목록을 유지 관리함
- 페이지는 정보의 물리적 단위 / 분할은 정보의 논리적 단위
'TIL' 카테고리의 다른 글
prisma - update error : An operation failed because it depends on one or more records that were required but not found. Record to update not found. (0) | 2023.01.05 |
---|---|
알고리즘 강의 정리 (간략) (0) | 2023.01.03 |
MySQL grant all privileges 문법 (0) | 2022.11.15 |
20210521:: font-face / div 둥굴게 만들기 / div 투명하게 만들기 (0) | 2021.05.22 |
[pieces] 스터디 해왔던 기록들 (0) | 2021.05.12 |