목록전체 글 (104)
눈팅하는 게임개발자 블로그
가상 메모리 전략 메모리의 범위를 보조기억장치까지 확대하여. 대부분의 메모리들(사용되지 않고 있는)이 보조기억장치에 존재하는 것처럼 운영하는 전략. 이 전략으로 응용 프로그램의 크기가 주 기억장치의 크기보다 크더라도 실행할 수 있다. Demand Paging 프로세스의 모든 페이지를 메모리에 올려 놓지 않고, 페이지가 필요할 경우 물리 메모리로 로딩한다. 해당 기법을 위해 페이지 테이블에 추가되는 정보 Valid/Invalid bit : 해당 페이지가 물리 메모리에 존재하는지에 대한 Flag bit. 물리 메모리에 존재하면 1이고 보조기억장치(스왑 영역)에 존재하면 0이다. Modified bit : 해당 페이지가 물리 메모리에 적재된 이후 수정되었는가에 대한 Flag bit. 수정 되었다면 1이고 수정..
페이징 기법 프로세스의 주소 공간과 물리 메모리를 페이지 단위로 분할하고 프로세스의 각 페이지를 물리 메모리의 프레임에 분산 할당하고 관리하는 기법. 논리 주소의 물리 주소로의 변환은 CPU에 내장되어 있는 MMU(memory management unit)에 의해 이루어진다. 페이지와 프레임 프로세스의 주소 공간을 동일한 크기의 페이지(page)로 나눈다. 물리 메모리 역시 동일한 크기로 나누고, 이를 프레임(frame)이라고 부른다. 코드, 데이터, 스택, 힙 등의 메모리 구성요소에 관계없이 고정 크기로 분할한 물리적 단위. 페이지와 프레임에 번호를 붙이며 페이지의 크기는 보통 4KB, 운영체제마다 다르게 설정 가능. 페이지 테이블 : 각 페이지에 대해 페이지 번호와 프레임 번호를 1:1로 저장하는 테..
멀티스레딩 환경에서 여러 스레드가 동시에 공용 데이터에 접근하는 경우 공용 데이터가 훼손되는 문제가 발생한다. 이를 해결하기 위해 스레드들을 동기화할 필요가 있다. 스레드 동기화 공용 데이터에 접근하고자 하는 다수의 스레드가 충돌 없이 데이터에 접근하기 위해 상호 협력하는 상황을 만드는 것. 한 스레드가 공용 데이터에 배타적 독점적으로 접근한다. 임계 구역과 상호 배제 개념 - 경쟁 여러 스레드가 공유 데이터 혹은 공유 데이터를 액세스하는 임계 구역에 동시에 접근하는 상황 - 임계 구역(critical section) 공유 데이터에 접근하는 프로그램 코드들(공유 데이터, 테이블 갱신, 파일 쓰기 등) - 상호 배제(mutual exclusion) 임계 구역에 대한 경쟁 상황의 해결책. 임계 구역에 오직 ..