nearworld.log
로그인
nearworld.log
로그인
[운영체제] 2일차 가상메모리
nearworld
·
2024년 2월 16일
팔로우
0
가상메모리
0
운영체제
목록 보기
2/5
가상 메모리 주소
구성
32비트 시스템에서의 가상 메모리 주소 구조
페이지 넘버 (20비트)와 페이지 오프셋 (12비트) 구성
32비트 시스템은 주소 레지스터의 크기가 32비트
그래서 가상 메모리 주소가 32비트 (0비트부터 31비트까지)
이미지 출처:
http://denninginstitute.com/itcore/virtualmemory/vmideas.html
가상 메모리
프로세스 하나당 독립적인 가상 메모리가 할당된다.
가상 메모리 크기 구하는 방법
가상 메모리 주소가 32비트 길이이고 주소 하나당 1바이트씩 저장공간을 갖고있다.
32비트로 만들 수 있는 주소 갯수는 2^32이다.
가상 메모리 크기 = 가상 메모리 주소 갯수 * 1바이트 (주소 1개당 저장공간)
2^32 * 1바이트 = 2^32바이트 = 4GB (가상 메모리 크기)
2^32 바이트가 4GB가 되는 이유
1kb = 1024바이트, 1mb = 1024kb, 1gb = 1024mb
1024 = 2^10
1gb = 2^10 x 2^10 x 2^10 (2^30) bytes
주소 갯수는 2^32 이므로 2^30 (1gb) x 2^2 (4) = 4gb 가 나온다
페이지
운영체제가 가상 메모리를 다룰때 주소 하나 하나씩 다루면 굉장히 많은 시간이 소요된다.
그래서 주소들을 일정 범위 단위로 나눠서 덩어리로 관리한다. 이 덩어리를 청크 혹은 페이지라고 한다.
예를 들어, 가상 메모리 주소 100개씩 나눠 페이지를 만들었다고 치자.
그리고 페이지에 넘버를 붙여준다. 페이지 0, 페이지 1 처럼.
그리고 가상 메모리 주소 250번에 있는 데이터를 읽어야한다고 하자.
그럼 바로 페이지 2번에 있는 것을 알 수 있다. 페이지 2 (200 ~ 300번 주소)
nearworld
깃허브: https://github.com/nearworld
팔로우
이전 포스트
[운영체제] 1일차 가상메모리
다음 포스트
[운영체제] 3일차 가상메모리
0개의 댓글
댓글 작성