[운영체제] 페이징이란?(1) / 페이지 테이블, 페이징 동작 순서 페이징(Paging) 프로세스는 생성되면 실제 필요한 데이터를 일정한 특정 단위의 메모리로 조각낸다. 이 조각낸 메모리들은 모두 크기가 같으며, 조각낸 것들을 묶어서 물리 메모리에 넣고 필요할 jerryjerryjerry.tistory.com 이전 포스팅 글의 내용에서 다뤘던 페이징이 일어나는 순서에 대해서 다시 요약해보겠다. 페이징 동작 순서 큰 틀로 요약 ① CPU가 특정 프로세스를 실행시키기 위해 가상 주소를 운영체제에게 요청한다. ② 이 가상 주소를 받아서 처리하는 것은 MMU이다. MMU가 맨 처음 CPU에 있는 CR3 레지스터에 접근하여, 메모리에 있는 처리할 프로세서의 페이지 테이블의 주소를 가져온다. MMU는 특정 프로세스..
페이징(Paging) 프로세스는 생성되면 실제 필요한 데이터를 일정한 특정 단위의 메모리로 조각낸다. 이 조각낸 메모리들은 모두 크기가 같으며, 조각낸 것들을 묶어서 물리 메모리에 넣고 필요할 때 조회하며, 필요없어지면 다시 프로세스에게 반환한다. 프로세스는 작업을 처리하기 위해 가상 주소를 CPU에게 전달하며, CPU는 받은 가상주소를 물리주소로 변환하고 데이터를 가져와야 한다. 이때, 특정 데이터가 들어있는 데이터 조각 묶음을 계산하는 알고리즘을 페이징이라고 한다. 각 페이지들의 크기는 같으며, 생성된 순서대로 순번을 차례대로 부여받는다. 페이지 테이블(Page Table) 페이지 테이블이란 물리 주소(physical address)의 페이지를 실제 물리 주소 정보와 매핑한 표를 담고 있는 테이블이다..
가상 메모리 등장 배경 컴퓨터는 프로세스 1개 또는 여러 개의 프로세스를 처리할 수 있다. 그리고 프로세스는 생성되면 작업을 처리하기 위해 메모리를 할당 받아야 한다. 우리의 컴퓨터는 여러 프로세스들을 처리할 수 있어야하는데, 작업을 처리하기 위해 존재하는 컴퓨터의 실제 메모리 자원은 한정적이다. 즉, 컴퓨터의 실제 메모리 공간보다 프로세스가 처리해야할 메모리 공간이 더 많을 수 있다는 말이다. 그렇다면 여러 개의 프로세스를 처리하거나, 메모리가 큰 프로세스를 처리해야할 때는 실행하지 못하는 걸까? 이 부분을 해결하기 위해 가상 메모리가 등장하게 되었다. 가상 메모리는 물리 메모리보다 큰 프로세스나 여러 개의 프로세스들을 동시에 실행시킬 수 있도록, 컴퓨터의 메모리가 무한하다고 느끼게하는 방법이다. 컴퓨..