페이징 문서 원본 보기
←
페이징
둘러보기로 이동
검색으로 이동
문서 편집 권한이 없습니다. 다음 이유를 확인해주세요:
요청한 명령은 다음 권한을 가진 사용자에게 제한됩니다:
사용자
.
문서의 원본을 보거나 복사할 수 있습니다.
{{위키데이터 속성 추적}} {{출처 필요|날짜=2010-9-13}} {{다른 뜻|페이지 매기기}} '''페이징 기법'''({{lang|en|paging}})은 컴퓨터가 [[기억 장치|메인 메모리]]에서 사용하기 위해 [[기억 장치|2차 기억 장치]]{{Efn|Initially [[드럼 메모리|drums]], and then [[하드 디스크 드라이브|hard disk drive]]s and [[솔리드 스테이트 드라이브|solid-state drive]]s have been used for paging.}}로부터 데이터를 저장하고 검색하는 [[메모리 관리]] 기법이다.<ref name="ostep-1">{{인용|title=Operating Systems: Three Easy Pieces (Chapter: Paging)|url=http://pages.cs.wisc.edu/~remzi/OSTEP/vm-paging.pdf|publisher= Arpaci-Dusseau Books|year = 2014|first1 = Remzi H.|last1 =Arpaci-Dusseau|first2=Andrea C.|last2 = Arpaci-Dusseau}}</ref> 즉 [[가상기억장치]]를 모두 같은 크기의 [[블록 (컴퓨팅)|블록]]으로 편성하여 운용하는 기법이다. 이때의 일정한 크기를 가진 블록을 '''페이지'''(page)라고 한다. 주소공간을 페이지 단위로 나누고 실제기억공간은 페이지 크기와 같은 [[프레임 (컴퓨터 과학)|프레임]]으로 나누어 사용한다. 페이징 기법이 적용된 시스템에서 [[가상주소]]는 [[순서쌍]] <math>(p, d)</math>로 나타낼 수 있다. <math>p</math>는 [[가상기억장치]] 내에서 참조될 항목이 속해 있는 페이지 번호이고, <math>d</math>는 페이지 <math>p</math> 내에서 참조될 항목이 위치하고 있는 곳의 [[변위]]이다. 어떤 프로세스가 현재 참조하고 있는 페이지가 [[주기억장치]] 내에 있다면 그 프로세스는 수행될 수 있다. 반대로 주기억장치 내에 없다면 그 해당 페이지를 보조기억장치로부터 읽어와서 페이지 프레임의 한 블록에 저장한다. == 역사 == 최초의 메모리 페이지는 램과 디스크 간에 페이지가 이동하느냐에 관계 없이 컴퓨터 구조의 한 개념이었다.<ref>{{서적 인용 | first = Harvey M. | last = Deitel | title = An Introduction to Operating Systems | publisher = Addison-Wesley | pages = 181, 187 | year = 1983 | isbn = 0-201-14473-5 | postscript = <!--None--> }}</ref><ref>{{서적 인용 | contribution = Operating systems | title = Encyclopedia of computer science and technology | editor1-last = Belzer | editor1-first = Jack | editor2-last = Holzman | editor2-first = Albert G. | editor3-last = Kent | editor3-first = Allen | publisher = CRC Press | volume=11 | page = 433 | year = 1981 | url = https://books.google.com/books?id=uTFirmDlSL8C&printsec=frontcover | isbn = 0-8247-2261-2 | postscript = <!--None--> }}</ref> == 프레임과 페이지 == 프레임과 페이지는 메모리를 일정한 크기의 공간으로 나누어 관리하는 단위이며, 프레임과 페이지의 크기는 같다. * 프레임(Frame) : 물리 메모리를 일정한 크기로 나눈 블록이다. * 페이지(Page) : 가상 메모리를 일정한 크기로 나눈 블록이다. 페이지가 하나의 프레임을 할당 받으면, 물리 메모리에 위치하게 된다. 프레임을 할당 받지 못한 페이지들은 [[외부 저장장치]]에 저장되며, 이때도 프레임과 같은 크기 단위로 관리된다. == 페이지 테이블 == {{본문|페이지 테이블}} 페이지 테이블(Page Table)은 프로세스의 페이지 정보를 저장하고 있으며, 하나의 프로세스는 하나의 페이지 테이블을 가진다. 테이블은 다음과 같이 색인과 내용으로 구성되어 있다. * 색인 : 페이지 번호. * 내용 : 해당 페이지에 할당된 물리 메모리(프레임)의 시작 주소. 이 시작 주소와 페이지 주소를 결합하여 [[물리 메모리 주소]]를 알 수 있다. === 페이지 테이블 엔트리 === '''페이지 테이블 엔트리'''(Page Table Entry, 줄여서 PTE)는 페이지 테이블의 [[레코드]]이다. PTE의 각 필드에는 일반적으로 다음 내용이 기록된다. * 페이지 기본주소(Page base address) * 플래그 비트 ** 접근 비트(Accessed bit) : 페이지에 대한 접근이 있었는지를 나타낸다. ** 변경 비트(Dirty bit) : 페이지 내용의 변경이 있었는지를 나타낸다. ** 현재 비트(Present bit) : 현재 페이지에 할당된 [[프레임 (컴퓨터 과학)|프레임]]이 있는지를 나타낸다. ** 읽기/쓰기 비트(Read/Write bit) : 읽기/쓰기에 대한 권한을 표시한다. == 페이지의 크기 == 페이지의 크기는 하드웨어에 의해 정의된다. 대개 컴퓨터 구조에 따라 512 Byte에서 16MB 사이이며 2의 제곱으로 증가한다. 만약 논리 주소 공간의 크기가 2의 m승이고, 페이지가 2의 n승이라면 논리주소(logical address)의 상위 m-n Bit는 페이지 번호를 하위 n비트는 페이지 변위(offset)을 나타낸다. 하나의 페이지는 x86과 amd64에서는 4KB, ia64에서는 8KB의 크기를 가진다. == 동적 주소 변환 == 페이징 기법에서 동적주소변환 과정은 다음과 같다. # 수행 중인 프로세스가 가상주소 <math>V(p, d)</math>를 참조한다. # 페이징 기법을 통해 페이지 <math>p</math>가 페이지 프레임 <math>p'</math>에 있음을 알아낸다. # 실주소 <math>r = p' + d</math>를 구한다. == 같이 보기 == * [[프레임 (컴퓨터 과학)|프레임]] * [[페이지 테이블]] * [[메모리 할당]] * [[가상 메모리]] * [[가상 주소 공간]] == 각주 == ; 내용주 <references group="lower-alpha" /> ; 참조주 {{각주}} {{메모리 관리}} {{운영 체제}} [[분류:운영체제 기술]]
이 문서에서 사용한 틀:
틀:Efn
(
원본 보기
)
틀:Lang
(
원본 보기
)
틀:각주
(
원본 보기
)
틀:다른 뜻
(
원본 보기
)
틀:메모리 관리
(
원본 보기
)
틀:본문
(
원본 보기
)
틀:서적 인용
(
원본 보기
)
틀:운영 체제
(
원본 보기
)
틀:위키데이터 속성 추적
(
원본 보기
)
틀:인용
(
원본 보기
)
틀:출처 필요
(
원본 보기
)
페이징
문서로 돌아갑니다.
둘러보기 메뉴
개인 도구
로그인
이름공간
문서
토론
한국어
보기
읽기
원본 보기
역사 보기
더 보기
검색
둘러보기
대문
최근 바뀜
임의의 문서로
미디어위키 도움말
특수 문서 목록
도구
여기를 가리키는 문서
가리키는 글의 최근 바뀜
문서 정보