OS 2

[운영체제] 19. TLB란

19. 페이징을 위한 더 빠른 변환, TLB의 등장 : 가상 메모리를 지원하고자 등장한 핵심 메커니즘인 페이징은 엄청난 퍼포먼스 오버헤드를 불러일으키게 된다,,, 라는 것을 지난 시간에 같이 알아보았다. 주소 공간을 작고, 획일적인 고정 사이즈의 조각들(이 조각들을 페이지라고 부른다.)로 잘라냈기 때문에, 페이징이라는 기법은 엄청난 매핑 정보를 요구하게 되었다. 매핑 정보가 일반적으로 물리 메모리에 상주하게 되기 때문에, 이대로라면 페이징은 프로그램이 생성한 각각의 가상 주소들의 실제 위치로 찾아가기 위해 추가적으로 메모리를 조회해야 하는 운명이다,,, 명령어를 fetch 하기도 전에, 그리고 외부로 load/store를 처리하기 위해, 우리는 정보 번역을 하려면 메모리로 가야만 하고 이러한 행위는 연산..

OS 2022.01.24

[운영체제] 18. Paging이란

18. 페이징 소개 : OS가 대부분의 공간 관리 문제를 해결하고자 할 때 두 가지 중에 하나의 방식을 사용한다. 첫 번째는 어떤 작업을 가변적인 사이즈의 조각들로 잘라내는 것이다.(가상 메모리에서 세그멘테이션과 같이) 근데 이 방법은 단점이 있는데, 공간을 서로 다른 사이즈의 청크들로 채우다 보니, 공간이 점차 단편화되고, 공간 할당이 점점 더 힘들어진다. 두 번째 접근방식은 페이징인데, 공간을 고정 사이즈 조각으로 나누는 것이다. 가상 메모리에선 이를 페이징이라고 부른다. 힙, 스택처럼 가변적인 논리적 세그먼트로 나누는 것이 아니고, 페이지라 불리는 고정 사이즈 유닛으로 나눈다. 사실 OS는 물리 메모리를 페이지 프레임이라고 부르는 고정 사이즈 슬롯(말 그대로 페이지를 위한 틀이다. 붕어빵의 틀처럼)..

OS 2022.01.21