728x90
반응형

페이징 7

Paging, 페이징이란?(+단편화)

Paging 기법은 가상메모리의 기법에서 더욱 효율적이게 메모리를 관리하는 것이다. 가상 메모리에서는 해당 프로세스의 관련된 데이터 모두를 적재하는 것이 아니다.라고 말했다. 단순히 레지스터에 시작주소 값을 담아 사용하기에는 연속된 메모리영역이 필요하다. 하지만 연속된 메모리영역을 확보하는 것은 무척이나 힘든 일이기 때문에 이제 프로세스의 물리 주소 공간이 연속되지 않아도 되는 메모리 관리 기법인 페이징을 쓰는 것이다. 페이징이란? 페이징은 virtual memory를 page로 나누는 기법을 말한다. 일반적으로 물리메모리는 동일한 크기의 frame으로 논리메모리는 동일한 크기의 page로 나눈다. **page size는 하드웨어에 의해 결정된다. 페이징이 작동하는 원리 page table을 사용하여 논..

CS Interview 2021.10.10

Virtual Memory, 가상메모리란?

가상메모리란 메모리를 관리하는 방법으로 실제 메모리 주소가 아닌 논리적 주소를 이용해서 관리한다. 이로써 실제 주기억장치보다 큰 프로그램도 적재할 수 있다고 사용자에게 Illusion을 준다. 다시 말하면 프로그램의 일부만 실제로 적재함으로써 즉, 실제로 프로그램 수행에 필요한 부분만 메모리에 올려놓음으로써 주기억장치의 용량보다 큰 프로그램파일이라도 사용자가 메모리에 올려놓을 수 있게 하는 기법이다. 왜쓰냐?? 실제 주기억장치의 크기보다 더 큰 공간을 사용할 수 있다. 가상 주소 공간을 통해 논리적으로는 연속성을 가지게 되고(물리적 x) Translation을 통해 실제 물리적 메모리에 매핑되기 때문에 물리적주소에 대해 알 필요가 없어진다. -> 메모리에 직접 올리게 되면 주기억장치의 한계로 파편화가 발..

CS Interview 2021.06.28

XXXXXXXXXXX

페이징이 하나로 끝나지가 않는다. 왜냐? 엄청 중요한 내용이거든..ㅎㅎ 솔직히 이용할 땐 모르지만 설계하려면 알아야지 저번 글에서 페이지 테이블(page table)을 배웠다.// page number + page offset 이다. 페이지 테이블은 프로세스 별 자료구조이므로 페이지 테이블에 대한 포인터는 각 프로세스의 PCB에 다른 레지스터 값과 함께 저장된다. CPU 스케줄러가 실행할 프로세스를 선택하면 사용자 레지스터를 다시 적재하고 저장된 사용자 페이지 테이블로부터 적절한 하드웨어 페이지 테이블 값을 다시 적재해야한다. ++페이지 테이블의 하드웨어 구현은 여러가지 방법으로 수행할 수 있다. 페이지 테이블은 전용 고속 하드웨어 레지스터 세트로 구현되므로 페이지 주소 변환이 매우 효율적이다. 그러나 ..

카테고리 없음 2020.06.10

Virtual Memory, 가상메모리 [운영체제]

앞서 페이징에 대해 먼저 알고와야한다. [컴퓨터(Computer Science)/운영체제(Operation System)] - Paging, 페이징, 불연속 메모리 할당 [운영체제] Virtual Memory란 별 거 아니다. 진짜 가상메모리다. 가상 메모리는 실제 물리 메모리 개념과 개발자의 논리 메모리 개념을 분리한 것이다. 가상 주소 공간은 그 프로세스가 메모리에 저장되는 논리적인 형태를 말한다. 이런 아이디어는 여기서 나왔다. 만약 프로그램을 일부만 올려놓고도 실행할 수 있게 된다면?? **실제로 프로그램이 실행될 때 모든 부분이 실행되지 않는다. 1. 프로그램은 물리 메모리 크기에 의해 더는 제약을 받지 않는다. ** 즉, 큰 가상 주소 공간을 가정하고 프로그램을 만든다 2. 각 프로그램이 더 ..

Paging, 페이징, 불연속 메모리 할당 [운영체제]

[Memory Management, 메모리 할당 방식 [운영체제] 에 이어서 불연속 할당에 대해서 알아보자 그 중 가장 대표적인 페이징에 대해서 알아보자 Paging 기법은 앞서 설명했던 것처럼 해당 프로세스의 관련된 데이터 모두를 적재하는 것이 아니다. 단순히 레지스터에 시작주소 값을 담아 사용하기에는 연속된 메모리영역이 필요하다. 이제 프로세스의 물리 주소 공간이 연속되지 않아도 되는 메모리 관리 기법인 페이징을 쓰는 것이다. 페이징은 연속 메모리 할당을 괴롭히는 2가지 문제인 외부 단편화, 관련 압축의 필요성을 피할 수 있게 한다. 이러한 많은 이점을 제공하기 때문에 대형 서버용 시스템부터 모바일 장치용 시스템까지 대부분의 운영체제에서 다향한 형태의 페이징이 사용된다. ++페이징은 운영체제와 컴퓨터..

ㅌㅌㅌXXXXXXX

메모리 관리는 프로세스의 물리 주소 공간이 연속적이어야 한다고 생각했다. 많은 이점을 제공하기 때문에 대형 서버용 시스템에서부터 모바일 장치용 시스템까지 대부분의 운영체제에서 다향한 형태의 페이징이 사용된다. ++페이징은 운영체제와 컴퓨터 하드웨어 간의 협력을 통해 구현된다. • Physical address space of a process can be noncontiguous; process is allocated physical memory whenever the latter is available 1. Avoids external fragmentation 2. Avoids problem of varying sized memory chunks • Divide physical memory into f..

카테고리 없음 2020.06.03
728x90
반응형