연예인

스와핑 (swapping) 핵심 요약 정리

비하인드톡톡 2022. 11. 3. 14:09

스와핑
스와핑

스와핑

이 세션은 메모리 크기가 꽉 차 있을 때 프로세스를 실행하는 데 도움이 되는 스왑 방법과 메모리 크기보다 더 큰 프로세스를 실행할 수 있게 하는 가상 메모리를 설명한다.

 

스와핑 이란?

스와핑이라는 용어는 두 가지 값을 교환하는 것을 의미한다. 운영체제는 비슷한 의미를 갖는다. 이 과정이 잘 되려면 기억 속에 있어야 합니다. 프로세스 공유는 현재 메모리로부터 다른 저장 공간(HDD 또는 SSD)으로 이전하여 이러한 방식으로 실행으로 대체할 수 있음을 의미한다.

 

하드 디스크로 이동한다는 것은 원래 스와핑 프로세스 상태보다 프로그램 상태로 돌아가는 것을 의미하지는 않지만, 이 경우 프로그램은 파일 시스템과 분리된 영역에 남아 있고 프로세스 이미지를 텍스트, 데이터, 스택 등 메모리 상태로 저장한다.

 

따라서 다음번에 대기 또는 준비 프로세스가 프로그램될 때, 실행 중인 스와핑 프로세스로 이동한다., 이 하드 드라이브에 저장된 데이터를 로드하는 과정을 거치지 않고 이 이미지를 그대로 복사하여 메모리에 삽입하면 CPU에서 프로그래밍 및 실행할 수 있습니다.

 

결국, 이 방법은 아래에서 다룰 가상 메모리 기술의 핵심이 된다. 이러한 방식으로 교환은 각 프로세스에 대해 일정한 계획 상태에 따라 운영된다.

 

페이징스페이스(Pagingspace)

페이징 스페이스는 메인 메모리가 낮을 때 사용하는 디스크 공간이며 교체 공간이라고도 합니다.

 

1GB 메모리를 가진 시스템이 운영체제와는 다른 프로세스에 의해 이미 사용 중인 900MB 메모리를 가지고 있으며 300MB 메모리를 사용하여 새로운 프로세스가 실행된다고 가정하자.

 

무료 메모리가 100MB밖에 없어서 새로운 스와핑 프로세스를 시작할 수 없을 것 같습니다. 그러나 운영체제는 메인 메모리 300MB를 저장하고 현재 사용되는 900MB 메모리에서 200MB 정도를 디스크 내 페이지 공간이라는 곳으로 옮겨 새로운 프로세스를 실행합니다.

즉, 페이지 공간은 운영체제가 메인 메모리 크기보다 크거나 동일한 메모리를 사용할 수 있도록 하는 역할을 한다.

 

그러나 시스템 성능의 관점에서 지불 공간은 프로세스 메모리를 디스크에 쓰고 판독 교환 연산에 의한 메모리 액세스만으로 처리하면 상당한 성능 저하를 초래한다. 따라서 성능 능력은 교환이 발생하지 않도록 메모리 여유 비율을 유지하는 것이 중요하다.

 

페이지 스캔율(Page Scan Rate)

운영 체제는 일정량의 자유 스와핑 페이지를 확보하고 필요할 경우 즉시 용이하게 하기 위해 페이지라는 검색을 통해 공개함으로써 확보해야 하는 페이지를 찾습니다.

 

자유 페이지 수가 자유 페이지 목록 임계값보다 작으면 메모리 관리자는 LRU 알고리즘 검색, 페이지 출력 및 자유 페이지로의 변경을 통해 출력이 가능한 기존 페이지를 찾는다.

 

여기에는 페이지 스캔율이 있는데, 이는 페이지 검색 빈도를 의미하며, 높은 빈도는 페이지가 해제될 만큼 많지 않기 때문에 메모리를 자주 검색해야 한다는 의미로 볼 수 있다.

 

프락시 매팅 LRU

운영체제는 비트와 특정 시간마다 스와핑 체크한다. 이 페이지에 접속한 것을 잠시 후에 알 수 있습니다. a==0으로 페이지를 넘기다.

The clock algorithm

운영체제는 PTE를 순차적으로 회전시켜 제로로 만든다. 돌아오면 0이면 쫓아내고, 1이면 쫓아내지 않는다. 주기를 잘 조절하여 적절한 시간을 찾는다.

 

조금 더 진보된 알고리즘으로 두 블록이 로드됩니다. 시계 축은 2개의 시계 축이 있고 지우는 축과 축으로 구성되어 있으며 2개의 다른 시간을 설정한다.


dirty bit 성능적인 이점

dirtybit==1의 경우, 메모리 페이지는 디스크 페이지와 다릅니다. 이 경우 내보낼 때 디스크에 작성해야 합니다. 목록을 작성했을 뿐이라면 기억에서 삭제하기만 하면 됩니다.

 

duty-bit가 설정되어 있으면 설정되지 않은 스와핑 페이지를 내보내야 합니다.-parece 디스크에 이미 로드되어 있는 페이지를 메모리에 임포트하고 메모리에 재로드 하는 경우를 말합니다. 이는 단순히 빨간색일 경우 디스크에 재충전할 필요가 없음을 의미한다.

 

The Page Fault

만약 페이지가 메모리에 존재하지 않고 디스크로 변경된 경우, 운영체제는 페이지 고장을 해결하기 위해 페이지를 메모리로 변경해야 한다.

 

그렇다면 운영체제는 디스크 페이지의 위치를 어떻게 찾을 수 있을까요? 일반적으로 이 정보는 페이지 표에 저장된다. 따라서 운영 체제는 해당 페이지 디스크 주소의 PFN과 같은 일부 PTE 비트에 해당하는 데이터를 사용한다.

 

운영 체제가 한 페이지에 대한 페이지 고장을 받으면 PTE에 문의하여 디스크 주소를 찾고 디스크에 스와핑 페이지를 로드하도록 요청을 보냅니다.

디스크 입출력 완료 시 운영 체제는 페이지 테이블을 업데이트하여 현재 페이지 비트를 1로 변경하고 PTE의 PNP에 새로 수입된 페이지 메모리 위치를 기록한다. 그런 다음 다시 지휘를 시도합니다.

 

2022.11.07 - [운영체제] - 대용량 저장장치 (DiskArray) 핵심 요약 정리 (2)

 

[운영체제] 대용량 저장장치 정리 (2)

디스크 스케줄링이란? 일반적으로 컴퓨터는 데이터를 저장할 때 데이터를 하드웨어 디스크에 순차적으로 저장하지 않는다. 필요에 따라, 상황에 따라 다릅니다. 데이터를 저장하기 때문에 데이

hotpeople.co.kr