1) 최초 적합(first fit)
2) 최적 적합(best fit)
3) 최악 적합(worst fit)
외부 단편화(external fragmentation) : 프로세스를 할다하기 어려운 만큼 작은 메모리 공간들로 인해 메모리가 낭비되는 현상
외부 단편화 해결 방안
메모리 압축(compaction) : 흩어져 있는 빈 공간을 하나로 모아 메모리 내 저장된 프로세스를 적당히 재배치시켜 여기저기 흩어져 있는 작은 빈 공간들을 하나의 큰 빈 공간으로 만드는 것
그 외로 가상 메모리 기법(페이징 기법)이 있음
6주차 기본 과제
Q. 메모리 할당 방식에 대한 설명으로 올바른 것을 다음 보기에서 찾아 써라(p. 400 확인 문제 1번)
A. 최초 적합 : 최초로 발견한 적재 가능한 빈 공간에 프로세스 배치
최악 적합 : 프로세스가 적재될 수 있는 가장 큰 공간에 프로세스 배치
최적 적합 : 프로세스가 적재될 수 있는 가장 작은 공간에 프로세스 배치
/
페이지 테이블(page table) : 페이지 번호를 이용해 페이지가 적재된 프레임 찾기 가능
페이지 테이블 베이스 레지스터(PTBR, Page Table Base Register) : 각 프로세스의 페이지 테이블이 적재된 주소 가리킴
TLB(Translation Lookside Buffer) : 페이지 테이블의 캐시 메모리 역할 수행을 위해 페이지 테이블의 일부를 저장
TLB 히트 : CPU가 발생한 논리 주소에 대한 페이지 번호가 TLB에 있을 경우
TLB 미스 : 페이지 번호가 TLB에 없을 경우
1) 유효 비트(valid bit) : 현재 해당 페이지 접근 가능 여부
2) 보호 비트(protection bit) : 페이지 보호 기능을 위해 존재
3) 참조 비트(reference bit) : CPU가 이 페이지에 접근한 적 있는 지 여부
4) 수정 비트(modified bit) : 해당 페이지에 데이터를 쓴 적 있는지 없는지 수정 여부(더티 비트라고도 함)
/
요구 페이징(demand paging) : 프로세스를 메모리에 적재할 때 필요한 페이지만을 메모리에 적재하는 기법
순수 요구 페이징(pure demand paging) : 아무런 페이지도 메모리에 적재하지 않은 채 무작정 실행부터 하는 것
요구 페이징 시스템이 안정적으로 작동하려면?
1) FIFO 페이지 교체 알고리즘
2) 최적 페이지 교체 알고리즘
3) LRU 페이지 교체 알고리즘
스래싱(thrashing) : 프로세스가 실제 실행되는 시간보다 페이징에 더 많은 시간을 소요해 성능이 저해되는 문제
멀티프로그래밍의 정도 : 메모리에서 동시 실행되는 프로세스의 수
최소한의 프로엠 수 파악 & 적당한 프레임 할당 방식
추가 과제
Q. 프로세스가 사용할 수 있는 프레임이 3개 있고, 페이지 참조열이 '2313523423' 일 때 LRU 페이지 교체 알고리즘으로 이 페이지를 참조한다면 몇 번의 페이지 폴트가 발생하는가
A. 3번