일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- 가장 긴 팰린드롬 파이썬
- 백준 1043 거짓말 파이썬
- 백준 1516 게임 개발
- 다리 만들기 파이썬
- 프로그래머스 여행경로
- SWEA
- 백준 1034 램프 파이썬
- 프로그래머스 순위 파이썬
- 백준 2146 다리 만들기
- 프로그래머스 등굣길
- 프로그래머스 순위
- SQL SERVER 장비교체
- 트리의 지름 파이썬
- 베스트앨범 파이썬
- 다중 컬럼 NOT IN
- 백준 1167 트리의 지름 파이썬
- 프로그래머스 베스트앨범
- 백준 11054.가장 긴 바이토닉 부분 수열
- 등굣길 파이썬
- 역사 파이썬
- 게임 개발 파이썬
- 백준 2352 반도체 설계 파이썬
- 램프 파이썬
- 반도체 설계 파이썬
- 가장 긴 바이토닉 부분 수열 파이썬
- 백준 1238 파티 파이썬
- 순위 파이썬
- SQL SERVER MIGRATION
- 프로그래머스 가장 긴 팰린드롬
- 백준 1613 역사
Archives
- Today
- Total
공부, 기록
가상메모리 본문
가상메모리는 주기억장치의 부족한 물리적 공간을 보조기억장치를 이용해서 가상으로 늘려주는 기술.
주요 기능
-
주기억장치의 효율적 관리 : 주기억장치를 하드디스크에 대한 캐시로 설정하여, 당장 사용하는 영역만 유지하고 쓰지 않는 데이터는 하드디스크로 옮긴 뒤, 필요할 때만 램에 데이터를 불러와 올리고 다시 사용하지 않으면 하드디스크로 내림으로써 램을 효과적으로 관리한다.
-
메모리 관리의 단순화 : 각 프로세스마다 가상메모리의 통일된 주소 공간을 배정할 수 있으므로 메모리 관리가 단순해진다.
-
메모리 용량 및 안정성 보장 : 한정된 공간의 램이 아닌 거의 무한한 가상메모리 공간을 배정함으로써 프로세스들끼리 메모리 침범이 일어날 여지를 크게 줄인다.
MMU : CPU에서는 가상메모리 주소를 MMU(하드웨어 장치)로 보내며 MMU에서는 해당 주소 값을 통하여 물리 메모리에 접근 MMU는 물리 주소를 확인하기 위해 메모리에 갔다와야 함 이로 인하여 비용이 발생
요구 페이징(Demand Paging)
- 프로세스 모든 데이터를 메모리로 적재하지 않고, 실행 중 필요한 시점에서만 메모리로 적재함
- 선행 페이징(anticipatory paging 또는 prepaging)의 반대 개념: 미리 프로세스 관련 모든 데이터를 메모리에 올려놓고 실행하는 개념
- 더 이상 필요하지 않은 페이지 프레임은 다시 저장매체에 저장 (페이지 교체 알고리즘 필요)
페이지 폴트(Page fault)
- 어떤 페이지가 실제 물리 메모리에 없을 때 일어나는 인터럽트
- 운영체제가 page fault가 일어나면, 해당 페이지를 물리 메모리에 올림
페이지 교체 알고리즘
- FIFO Page Replacement Algorithm
- 가장 먼저 들어온 페이지를 내리자
- 최적 페이지 교체 알고리즘 (OPTimal Replacement Algorithm)
- 앞으로 가장 오랫동안 사용하지 않을 페이지를 내리자
- 일반 OS에서는 구현 불가
LRU(Least Recently Used) Page Replacement Algorithm
- 가장 오래 전에 사용된 페이지를 교체
LFU(Least Frequently Used) Page Replacement Algorithm
- 가장 적게 사용된 페이지를 내리자
NUR(Not Used Recently) Page Replacement Algorithm
- LRU와 마찬가지로 최근에 사용하지 않은 페이지부터 교체하는 기법
- 각 페이지마다 참조 비트(R), 수정 비트(M)을 둠 (R, M)
- (0, 0), (0, 1), (1, 0), (1, 1) 순으로 페이지 교체
참조
https://namu.wiki/w/%EA%B0%80%EC%83%81%20%EB%A9%94%EB%AA%A8%EB%A6%AC?from=%EA%B0%80%EC%83%81%EB%A9%94%EB%AA%A8%EB%A6%AC
https://www.fun-coding.org/virtualmemory.html