1. 기억장치 (memory)
- 주기억장치 : cpu가 명령이나 자료를 직접 인출 혹은 반환할 수 있는 기억장치
- CPU가 보조기억장치에 있는 프로그램이나 데이터를 참조하기 위해서는 먼저 주기억장치로 옮겨와야한다.
- 가상기억장치 : 주기억장치의 확장된 공간 (디스크)
- 사용자가 주기억장치의 용량에 제한받지않고 보조기억장치의 용량에 해당하는 커다란 기억장소를 갖고 있는 것처럼
- 단일 사용자 시스템 : 한사람이 모든 주기억장치를 점유하여 사용하는 방법
- 다중프로그래밍 시스템 : 다수의 프로그램 또는 프로세스라 불리는 단위들을 주기억장치 내에 유지하여, CPU를 공유해가며 처리
2. 다중사용자 기억장치 할당기법
고정(정적) 분할 기억장치
주기억장치 사용자 영역을 여러개의 고정된(일정한) 크기로 분할하여 관리하는 기법
1) 내부 단편화
하나의 분할 영역에 작업을 할당하고 남은 빈 공간 (사용하고 남은 공간)
2) 외부 단편화
기억장치가 너무 많은 수의 매우작은 공간들로 단편화, 공간 중 일부를 사용할 수 없는 빈 공간 (사용할 수 없는 공간)
가변 (동적) 분할 기억장치
주기억장치 사용자영역을 각 작업에게 가장 합리적인 분할의 크기를 결정하여 주기억장치를 할당하는 기법
- 각 작업에 필요한 만큼의 기억장치를 할당, 내부단편화 발생 X 외부단편화 발생 O
1) 단편화 해결방법
- 기억장치 통합 : 이웃되는 가용공간을 하나의 커다란 가용공간으로
- 기억장치 집약 : 기억장치의 모든 내용들을 한군데로 몰고, 자유공간을 몰아서 큰블럭으로
- 쓰레기 수집 : 여러개의 작은 단편화 공간 (가용공간)을 모아서 하나의 큰 가용공간을 만드는 것
3. 기억장치 관리 정책
(1) 반입 FETCH 정책
CPU에 의해 실행되거나 참조되기 위해서 주기억장치로 적재할 다음 프로그램이나 자료를 언제 가져올 것인가 결정하는 정책
- 요구반입 : 실행중인 프로그램에 의해 어떤 프로그램이나 자료가 참조될 때 옮김
- 예상반입 : 앞으로 요구될 가능성이 큰 자료 또는 프로그램을 예상
(2) 배치 (Placement) 정책
주기억장치에 적재되어야할 페이지나 세그먼트를 주기억장치 어느 곳에 적재할 것인가
- 페이징 시스템 : 주기억장치에 적재될 페이지가 주기억장치의 가용 페이지 프레임 어디에 적재되되어도 무관 (배치기법 불필요)
- 세그먼트 시스템 : 최초 적합, 최적 적합, 최악 적합 같은 배치 기법 필요
1) 최초 적합 (First Fit)
- 가용공간중 첫번째 분할 영역에 할당
- 빈공간을 찾기위해 전체 조사하지 않아도 되어 결정이 빠르다.
2) 최적 적합 (Best Fit)
- 가용공간 중 사용한 후 남은 공백이 가장 적은 분할 영역에 할당
- 가용공간이 정렬되어 있다면 반만 탐색해도 필요한 공간 찾기 가능
3) 최악 적합 (Worst Fit)
(3) 교체 (Replacement) 정책
새로들어온 프로그램이 들어갈 장소를 마련하기 위해서 어떤 프로그램이나 자료를 주기억 장치로부터 제거할 것인가
- 최적화 정책
- FIFO
- SCR (Second Chance Replacement)
- LRU (Least Recently Used)
- NUR (Not Used Recently)
- LFU (Least Frequence Used)
- Working Set
- PFF (Page Fault Frequency)