페이징 답변
프로그램을 메모리에 적재할 때, 프로그램의 크기가 주기억장치(램)보다 큰 경우, 해결방안이 여러개있는데 (overlay, 가상...) 그 중 가상기억장치
(롬-보조기억장치)를 사용하는 방법중 하나가 페이징 기법(정적-페이징, 동적-세그먼트)
페이징 기법은 물리적 공간과 논리적(로지컬) 공간을(의) 메모리를 똑같은 크기
로 잘라서 (각각 프레임, 페이지) 논리적 공간(보조 기억 장치)의 메모리와 물리적 공간(주 기억장치)에 연결시켜주는 기법(맵핑)
프로세스가 현재 참조하는 페이지가 주기억장치에 있으면 ok 잘 수행되고 (hit)
만약 참조하려는 페이지가 현재 주기억장치에 적재가 안되어 있으면 (페이지 폴트)fault) 해당 페이지를 보조기억장치로부터 읽어와서 메모리에 저장→ 수행!
몇가지 특징이 있는데
- 물리적 공간에는 쪼개진 공간들으 흩어져있지만 논리적 공간에는 연속적으로 배치되어 있기 때문에 컴퓨터는 논리적 공간을 참조(?) 하기 때문에 문제가 없다.
- 내부단편화만 발생해서 메모리 효율 굳
페이징 - 위키백과
- 페이징 기법은 컴퓨터가 메인 메모리에서 사용하기 위해 2차 기억 장치(ssd, hdd)로부터 데이터를 저장하고 검색하는 메모리 관리 기법 !
- 즉, 가상기억장치를 모두 같은 크기의 블록으로 편성하여 운용하는 기법 ?
- 이 때, 일정한 크기를 가진 블록을 페이지(page)라고 함. !?
- 주소공간을 페이지 단위로 나누고 실제기억공간은 페이지 크기와 같은 프레임으로 나누어 사용
- 페이징 기법이 적용된 시스템에서 가상주소는 순서쌍 (p, d)로 나타냄???
- p는 가상기억장치 내에서 참조될 항목이 속해 있는 페이지 번호
- d는 페이지 p내에서 참조될 항목이 위치하고 잇는 곳의 변위??