페이징교체

    [OS] 메모리

    [OS] 메모리

    [프로세스에 할당되는 메모리의 각 영역] 프로세스의 주소 공간은 코드, 데이터, 스택 힙 영역으로 구성된다. 이렇게 나눔으로써 데이터를 공유할 수 있게 되고 메모리 사용량이 줄어든다. 코드 영역 : 사용자가 작성한 프로그램 함수 코드가 CPU에서 수행할 수 있는 기계어 명령 형태로 변환되어 저장되는 공간 (컴파일 타임에 결정되며, 읽을 수만 있다.) 데이터 영역 : 전역 변수 또는 static 변수 등 프로그램이 사용하는 데이터를 저장하는 공산 스택 영역 : 호출된 함수의 수행을 마치고 복귀할 주소 및 데이터(지역변수, 매개변수, 리턴값 등)을 임시로 저장하는 공간. 힙 영역 : 프로그래머가 필요할 때마다 사용하는 메모리 영역으로 런타임 시점에 결정된다. [메모리 구조의 순서 (CPU에서 가까운 순으로 ..

    [운영체제] 페이징 교체

    [운영체제] 페이징 교체

    메인 메모리에 빈 프레임이 없을 때 어떻게 해야할까? 1 ) 페이지 폴트 발생시킨 알고리즘 종료 2 ) swap out 3 ) 교체 [페이지 교체 과정] 1 ) 보조저장장치에서 필요한 페이지의 위치를 알아낸다. 2 ) 빈 페이지 프레임을 찾는다. 비어 있는 프레임이 있다면 사용한다. 비어 있는 프레임이 없다면 희생 프레임을 선정한다. (페이지 교체 알고리즘 이용) 희생될 페이지를 보조저장장치에 기록하고, 관련 테이블을 수정한다. 3 ) 빼앗은 프레임에 새 페이지를 읽어오고 테이블을 수정한다. 4 ) 페이지 폴트가 발생한 지점에서부터 프로세스를 계속한다. [페이지 교체 장점] 1 ) 메모리 과할당 방지 2) 페이지 교체가 논리 메모리와 물리 메모리 분리를 완성시킴. [페이지와 프레임 교체 알고리즘] 페이지..