검색어 입력폼

[운영체제]OS 과제 가상 메모리

등록일 2006.01.11 파일확장자 압축파일 (zip) | 45페이지 | 가격 2,000원

소개글

OS수업 과제입니다. 주제는 `가상 메모리`입니다. 그대로 복사하시기보다는 직접 작성할 때 참고하는 용도로 사용하시기 바랍니다^^

컴파일 실행환경

- OS: Redhat Linux 9 (2.4.20-8)
- compiler: gcc 3.2.2
- editer: vi Improved 6.1

본문내용

3. 배경지식
a. 가상 주소 vs 물리 주소
1) 가상 주소
- 프로세스의 관점에서 사용하는 주소
- Logical이기 때문에 주소공간을 의미있는 단위로 나누어 사용할 수 있다.

2) 물리 주소
- 컴퓨터의 메인 메모리를 접근할 때 사용되는 주소
- 기억 장치의 주소 레지스터에 적재되는 주소

b. Page Table
1) Page Table
- 각 프로세스의 페이지 정보를 저장한다. (프로세스마다 하나의 페이지 테이블을 가진다.)
- 인덱스: 페이지 번호
- 내용: 해당 페이지에 할당된 물리 메모리(frame)의 시작 주소 (이 시작 주소와 페이지 주소를 결합하여 원하는 데이터가 있는 물리 메모리 주소를 알 수 있다.)

2) Page Table Entry (PTE)
- 페이지 테이블의 레코드이다.
- Page base address: 해당 페이지에 할당된 프레임의 시작 주소를 저장하고 있다. 이를 통해 물리 메모리에 접근할 수 있다.
- Accessed bit: 페이지에 대한 접근이 있었는지
- Present bit: 현재 페이지에 할당된 프레임이 있는지
- Dirty bit: 페이지 내용의 변경이 있었는지
- Read/Write bit: 읽기/쓰기에 대한 권한 표시

c. Page Fault
프로세스가 페이지를 참조하였을 때 해당 페이지가 할당받은 프레임이 없는 경우 발생한다.

1) 할당받은 프레임이 있는 경우 (present bit = true)
- page base address를 통해 해당 프레임에 접근한다.

2) 할당받은 프레임이 없는 경우 (present bit = false)
- Page Fault가 발생한다. -> 프레임을 새로 할당받아야한다.
- Page Fault Handler를 수행한다.

3) Page Fault Handler가 수행하는 내용
- 새로운 프레임을 할당받음
- Backing store에서 페이지의 내용을 다시 프레임에 불러들인다.
- 페이지 테이블을 재구성한다.
- 프로세스의 작업을 재시작한다.

압축파일 내 파일목록

os_hw2_report-.hwp
os_hw2.tar

참고 자료

없음
다운로드 맨위로