5.18 VMM
Shared on June 7, 2026
수요일은 계속 기획이지. 기획 기획은 반드시. 그러니까 놀아야겠다. 그냥 수업하면 안 되지. 수업했다가 이런 데다. 수업은 역시 동영상으로 올려줄게 하지. 동영상으로 주면. 그리고 다음 주 또 월요일 또 놀아야 하는 거지. 여러분들은 나를 볼 수 있는 기획이 몇 번 안 남았네요. 지방선거 같이 합치네요
동영상으로 진동하지 말고 동영상 보고 좀 하세요 다음주 수요일에 다음주 수요일에 자 준비가 하면 자 전화창에 페지포트 해야겠죠? 페지포트 해야겠고
이번 이야기하기 전에 좀 더 이야기하고 치러가 좀 더. 아마 이런 게 더 많이 치러가 될 것 같아요.
이제 디멘트 페이지를 실행 파일을 배송해야겠죠. 실행 파일을 제 침에 실행할 때 파일을 택트하고 그리고 데이터 그리고 비엣스 섹션을 가상 메모리에 매핑시켜 놓고 이제 매핑만 시켜 놓고 메모리 상에 올리지 않는다. 접근할 때 페이지 포트가 발생할 때 그렇게 써야 필요할 때 디스크에서 실행 파일에 접속한 부분, 그러니까 어세스한 부분만
자 이것도 디멘트 페이지이고 또 다른 디멘트 페이지 있습니다.
- Ah, here we go.
4공근로 4공근로 폐지 크기나 있지 4공근로 폐지 크기
3개의 크기를 M을 놓고 한참 뒤에서 PTR 0에 100을 제작했고 PTR 4096 두 번째 페이지에 200을 제작했고 세 번째는 4096 곱하기 2, 그러니까 세 번째 페이지에 시작집취에 갑을 지장해서 있죠.
자 그러면 여기 봅시다 자 엘몰로크에서 엘몰로크에서 페이지 3개를 엘몰로크를 잡았어요 힙 공간에 아직도 피기 못하고 있는데 빨리 해라 열심히 하고 있어야 되겠습니다 계단이 없을게요
자 보면 어떻게 됐냐면 MRL에서 살계 페이지의 공간을 힙 영역에서 할당 받았어요. 할당 받았다. 그런데 이게 살계 페이지를 코딩하다 보면 쫙 뒤쪽에서 접근할 수 있지. 이 중간에 많은 동작이 이루어졌어요. 그런데 이 중간에 빈 공간을 필요로 할지 모르겠지.
그럴 수 있는데도 아직 접근 되지 않은데도 이 M-mollock한 공간을 D-램 상에 잡게 되면 언제 상이 될지 모르겠다 공간적으로 비효율적으로 비효율성이 있으시죠 그러니까 뭐냐면 M-mollock한 M-mollock 3개의 프레즈는 그러니까 핥다 핥다 핥다 한 것 핥다 그래서 D-램에 바로 공간을 잡는 게 아니라 -디 라면을
공간을 잡는게 아니고 단지 페이지 0번, 1번, 2번이 지금 3개의 페이지가 디멘드 페이징으로 연결됐다는 정도만 하더래요. 디멘드 페이징으로 연결됐다. 디멘드 페이징으로 일단 디멘드 페이징으로 그러니까 하당 내꺼다.
그 정도만 표시를 해 줘요. 지난 시간에도 어떤 영역이 파일에 맵핑되어 있다. 등도만 표시해 놨죠. 지금도 얘네들은 힙 공간이고 얘네들은 필요할 때 메모리를 할당할 거다. 등보만 표시해 놨죠. 그러다가 이 부분을 접근하자. 그리고 지금 들어간다니요.
표시를 안 해두면 표시가 안된, 연결이 이루어지지 않은 놈에 대해서는 접근하게 되면 메모리 접근이 오류가 발생해야 그렇지 근데 얘는 일단 단지 메모리만 할 때 안될 뿐이지 이제 유효한 메모리 공간이라는 것을 표시됩니다 유효하다, 당신이 자, 그래서 이 부분에서 접근을 하자 이 부분 접근을 하면, 이제 NMU는 뒤에 비트가 0이래, 0이래, 0이래, 0이래, 그렇지?
지금 베리드 비터가 0이니까 프레임이 페이지 0번에 대해서 페이지 0번, 1번, 2번, 메모리상에 프레임이 올라와 있지 않다는 것을 판단하게 되죠 판단하게 되어서 페이지 포인트 17번 상이에요 페이지 0번은 프레임과 연결이 되지 않았지, 유용한 페이지다 라는 것을 확인한 다음에
먼저 여기 0번, 1번, 2번, 3번, 4번 프레임이 1번에 합당한다. 여기 1로 바꾸고 지금 프레임 너버가 1이 되겠죠. 다시 하면 M-Lock 하는 순간에 M-Lock 내부에서는 패턴하는 패지가 유연하지만 프레임을 했다는 패시만 해도 되어야겠죠.
그리고 여기 부분 페이지 2번 동작에서 라이트를 하면 페이지 2번이 되겠지 페이지 2번이니까 지금 임팩이 되겠지 임팩이 되니까 내 위치에 프레임을 이렇게 하다가 막겠지 그럼 얘도 이해를 하고 얘는 3으로 바꿔주겠지 마찬가지로 마찬가지로 마찬가지로
마찬가지로 여기 접근하면 5번에 아무리 큰 공간을 할 때가 하더라도 접근도 아직 안 된 것에 대해서 프레임을 할 때가 되면 메모리가 비효율적으로 사용될 수 있다 그러니까 접근할 때 그때서야 프레임의 메모리를 잡아본다
그것도 일종의 디멘트 페이지가 되겠죠 다음 M1록 하는 순간에 핫당된 버츄어로 디레스 공간이 이런 곳으로 잡혔다 이런 곳으로 공간을 잡혀요 M1록을 잡혀요 힙 공간에 힙에 이런 곳의 공간이 딱 잡히면 지금 이 공간은 디멘트 페이지인 거랑 접근되면 할당할거다. 라는 정도만 표시가 됩니다.
이렇게 하면 안 되겠죠 자 그러면 바로 여기 봐요 만약에 여기서 이렇게 하면 안 되겠지 여기서 PTR PTR 4096 곱하기 3 한 다음에 여기에 400이란 숫자가 되었어요 이렇게 되면 PTR 3번을 적게 하는거지 PTR 3번 PTR 3번을 적게 하는거지 우리가 앰모로톤에서 3개 페이지만 하단 했지 4개 페이지만 하단 했지
이런 경우는 페이지 4권에 대해서는 페이지 4권에 대해서는 이제 디멘트 페이징이 된다고 허용되지 않았죠 그러니까 이 공간을 접근할 때는 어떻게 해요? 지금 연기 때문에 페이지 포인트 휴생이 맞상 안했죠? 나중에 OLS에 대해서 큰일로 들어갔더니 버셀메모리가
페이지 포트 설정 처리할 때 들어가면 어떻게 아 이 부분은 디멘드 페이징이 오래된 페이지가 아니다 그렇지? 디멘드 페이징으로 설정된 힙 공간이 아니다 라는 것을 확인하고 이제 어떻게 메모리 참조 오류를 이렇게 돼 그렇지? 메모리 참조 오류를 그러니까 세금어 텍션 포트 바탕이 있지? 맞죠? 자 그러니까 힙 말로 통해서 어떤 영역만 이렇게 디멘드 페이징으로 나중에 접근할 때 이제 프레임을 하타했다 하타했다 를 표시할 뿐이지 그 외에는 그렇게 표시하잖아요
자 그래서 디멘트 페이지는 이쪽으로다.
ご視聴ありがとうございました
그 이후에는 가능하나 메모리를 적게 사용하려고 노력 많이 하는지 어떻게 사용할 때만 할당했고 사용되지 않은 상태에서 차단하지 않고 가능하나 많은 프로세스들이 덜 할 수 있겠죠. 메모리 사용이 적극적으로 됩니다.
이 시장에 우리가 page fault, 그니까 VAT에 쓸 때 effective memory assess time 같은 거 구해져, 그치? 알죠? 여기 보면 effective memory assess time은 page fault 곱하기 page fault ratio 곱하기 page fault time 그리고 memory assess time 곱하기 메모리 적그라시가 P, P하면 이제 얘가, 뭐야, effective memory assess time, 그치?
결국은 페이지포트가 늘어나면 늘어날수록 에펙티브 메모리 어색 타임이 증가할 수 있습니다. P가 늘어나면 P가 증가하는 페이지포트 레이셔드에 P가 증가하면 증가할수록 에펙티브 메모리 어색 타임이 증가가 된 것입니다. 그래서 만약에 P가 0이면 모든 접근은 메모리에서 마련이 되겠죠. P가 만약에 1이면
메모 적극을 하자마자 페이지 포트 다 과상하게 되겠지. 페이지 포트 타임은 그리고 디스크에서 데이터를 읽어오는 그 실환이 페이지 포트 타임이 되겠지. 그래서 페이지 포트 타임을 줄여주는 게 제일 좋다는 게 없지. 페이지 포트 타임을 줄이려면 가장 좋은 건 일반 상료들은 메모리를 가장 적게 하는 거지. 메모들은 큰 메모를 사용하고 디스크 세트 타임이
작은 고성능 스토지를 사용하면 좋겠죠. 메모리 체크를 하면 확실하게 페이지 폴드 레이저과 트루드에요. 이번에는 페이지 리포스먼트. 우리 진행사항이 있죠. 여기 보면, 메모리 봅시다. 프로세스 1번이 있고, 프로세스 2번이 있어요. 그리고 여기는 메모리, 디레모면. 이렇게 꽉 찼어요. 빔 프레임이 딱인다. 그렇지? 그럼 페이버 봅.
지금 이 상태에서 프로세스 2가 b라는 페이지를 접근했다. b는 disk에서 이렇게 전자하고 페이지를 읽어드리려고 했지. 지금 공원에 있다는 거지. 빈 공원에 있어요.
자 이렇게 되면 어떻게 될 거냐 지난 시간에 얘기한 것처럼 해결 방법은 프로세스를 그냥 죽인다 페이지 포인트를 일으킨 그 프로세스를 종료시킨다 이 카드가 안되겠지 개발 사용자 이만적으로 사용하는데 메모리가 부족하다고 실행하고 있는 이런 앱을 종료시켜버리면 이제 다 알겠죠 첫 번째는 프로세스 스와핑 프로세스 스와핑이라고는
프로세스가 사용하고 있는 전체 모든 프레임들을 디스크로 진행한다. 예전에서, 지금 프로세스 2가 돌아가고 있는데 페이지 폴드가 발생했어요. 그럼 여기 공간이 부족하자. 공간이 부족하니까 없어요. 그러면 프로세스 1이 사용하고 있는, 그러니까 예전에 사용하고 있던 프로세스에 메모리 공간이 어떤거죠? 표현이
3,4,5,2,3,4,5,6 그러니까 프로세서2가 사용하고 있는 공간입니다. 이 3개의 프레임을 디스크로 백업시켜 버린다고. 백업시키고 이 공간을 빔 프레임으로 재사용한다. 이때 백업시키는 동작을 보고 우리가 수삭아웃이라는 장량이 있어요. 수삭아웃이고 그러면 3개의 공간이 빔 프레임이 남았으니까
B를 로드할 때 이 병원화를 사용하고 있는 사람들이요 그런 다음에 나중에 다시 프로세스 1이 이제 희생될 때 아까 전에 백업된, 스왑아웃된 페이지를 체크할 수 있겠지? 체크하려는데 없어요 그치? 그러니까 매매매매도 없어요 그런 경우는 다시 프로세스 1이 사용했던 백업된
3,4,5에 해당하는 페이지를 다시 들어올리는 겁니다. 한 방울에 들어올린다. 3개 빼고 그랬지? 3개를 다시 들어올린다. 여기가 Sub-In입니다. Sub-In-Out는 프로세스가 사용하고 있는 모든 프레임입니다. 모든 프레임을 디스크로 제작하는 게 Sub-In이고 Sub-In입니다. 이번에는 그 다음에는
페이지 프레스모트 여기서 빈 프레임이 없다 존재하지 않으면 현재 사용되지 않는 페이지를 하나 선택해서 얘네들을 비워버린다 비어버릴 때, 비어버린다고 말해요 아까 전에
비어질 프레임을 디스크로 빼고 하다 그러니까 데이터니까 다는 빼고 파야 되겠죠 이때 빼고 파는 동작을 보면 페이지 아웃이라고 되겠죠 Swap out하고 페이지 아웃이 달라요 페이지 아웃은 페이지 아니고 Swap out은 프로세스가 사용하는 모든 프레임이에요 프로세스에 다릅니다 Swap은 저 페이지 없이 불린다.
페이지 압수 시키고 빈 공간을 이제 새로 접근한 페이지가 사용하도록 한다 이 밑에 이하가고 있어요 자 그림 보면, 그림 보면 자, 지금 보면 봅시다 지금 여기 그림에서 우리 책에서 수합 아웃한 페이지가 다 홈전하고 있어요 그리고 또는 페이좌���
3번에 보면 page in, page out. 이 그림 상태는 지금 page 101번을 적어내세요. - 감사합니다.
초기 상태는
그러면 우선 메모리에 빔팸이 하나도 없어요 그다가 어떤 어떤 알고리즘으로 하다보니 F가 쫓겨날 비틈으로 선택이 됐어요 그럼 얘를 디스크로 배급한다 배급하고요 얘를 빈 공원으로 사용하면 되겠지
끝까지 봐주세요!
at God
그럼 어떻게 되죠? 100번에 대한 페이지 테이블에 엔트리를 바꿔줘야 되겠죠. 0번 1번 이렇게 바꿔줘요. 그리고 어떻게 이번에는 페이지 101번에 대한 디밍트 페이지가 디스크에 있어요. 디스크에 있는 걸 저장한다. 이 빅틈으로. 저장하면 아마존의 101번에 해당하는 놈이 지금
F 프레임에 지정됐으니까 101번 F로 맵핑됐다고 표시를 하고 얘를 벨리대로 바꿔줘야 되겠지? 얘가 이런 형태로 바뀐다. 100번에 대한 페이지가 쫓겨났으니까 쫓겨났고 그 프레임이 101번에 대해서 재사용되니까 페이지 탭을 그에 맞게 변경을 해줘야 된다.
자, 버리지 않죠? 자, 이 이야기를 앞쪽에서 이렇게 드리고 있어요. 짠, 땅, 땅, 땅! 아, 그렇죠? 이렇게 드리고 있어요.
그림을 보면 페이지 리프레스먼트가 발생할 때 페이지 아웃은 메모리 입장에서 기준으로 나가는 상태로 페이지 아웃이고 메모리 기준으로 디스크에서 데이터가 들어오는 상황을 보고 페이지입니다.
다음 프로세스 단위입니다. 그게 swap, in, swap, out, shot. 그래서 이 그림에 보면, 페이지 리플러스 몰트가 발생할 때마다 ier가 몇 번 나죠? 두 번 나죠. 페이지 out 한번 발생하고, 페이지 in 한번 발생하고 있어요. 그 다음 디스커스 테스트가 두 번 발생하는 거지. 자, 예를 들면 페이지 리플러스 몰트에 부화가 많이 발생할 수 있거든.
그래서 디스크 IO가 두번씩 나면 되게 부담스럽다는거죠 자 그러면 IO를 한번 줄여보자 이렇게 보면 이제 더티 비트, 모디파이 비트라는게 나오게 되어있어요 자 봅시다 만약에 이제 가지나, 보세요 지금 얘가 쫓겨날 때, 쫓겨나는데
이미 얘하고 똑같은 온본에 온본에 데이터가 디스크에 있어요 디스크에 있단 말이에요 이렇게 되면 다시 디스크를 제작할 필요가 있을 것 같을까? 메모리에 있는 데이터랑 내용이랑 디스크에 있는 내용이랑 동일하면 디스크로 빼고 가야 그렇게 하지 그 말은 뭐냐면 내용이 똑같은 말은 메모리상에 올라온 이 페이지가
리드 언니였다는 거 그렇지 단지 읽기만 했다는 거 그렇지 변경하지 않고 단지 읽었다는 거 그렇지 자 그런 거는 굳이 디스크로 저장할 필요 없어요 그렇지 자 만약에 그런데 얘가 저쪽에 있는 디스크에 있는 데이터보다 최신이다 최신이면 얘를 디스크로 빼고 빼야 돼 그제
최신 데이터를 설치하려면 디스크로 백업을 해야 돼요. 이 말은 어떻게 하면 디스크보다 메모리 있는 프레임이 최신이라고 하면 메모리에서 해 올라와서 변경이 된다는 겁니다. 변경이 된 점에 대해서는 리프레스먼트에 대한 디스크로 백업을 해야 됩니다. 메모리에서 해 올라온 프레임이 리덤인 경우는 그냥 날려버립니다. 스펙크 화장고, 업데이트 된 페이지라는 페이지는
그리고 최신 데이터를 설치하지 않기 위해서 디스크로 라이트합니다. 다시 리프리스바드 로사이핑 작성할 때 그래서 이번에는 뭐냐면 우리가 페이지 탭을 해보면 여러가지 비트 기약이 있죠? 페이지 탭을 해야죠. 페이지 탭을 해야죠. 페이지 탭을 해야죠.
컨택션, 비트하이제, 그리고 그 다음에는 뭐, 그러니까 모디파이어, 더 디비트라고요.
자 이제 보통은 우리 DUT이라는 용어가 자주 컴퓨터에서 자주 용어로 나오거든요 DUT는 업데이트 됐다고 보면 돼요 업데이트, 모디파이 됐다 라는 의미를 말해보세요 그러니까 이야기같죠, 그렇죠 아니 용어로 그렇죠 더럽혀졌다는 거지 우리나라가 어렵기입니다 더럽혀진 데이터 더럽힌 데이터가 그러니까 업데이트 됐다는 거지 맞죠 그래서 모디파이트된 부분은 DUT라고 말해요 자 그러면 봅시다 지금 격힌가 페이트북 행테리에
그 세로로 하나의 비트가 더 추가됐다는 것입니다. 그래서 보면 프로그램이 들어갈 때 우리가 아까 전에 페이지에 어떤 갑을 제작했죠? 아까 전에 학판에서 예지했을 때, PKR에 어떤 갑을 제작했죠? 그래서 갑을 제작하게 되면 MMU가 특정한 페이지에 갑을 제작했다는 것을
그러니까 알 수 있어야 할지 하대적으로 알 수 있어요 그러면 MNU는 해당하는 페이지가 업데이트 되게 되면 모디파이 비트를 1로 바꾸면 되겠지 해당하는 페이지가 변경됐다 그러면 모디파이 비트를 1로 바꾼다 자 그걸 누가 확인하냐? CP가 메모를 접근할 때마다 매번 이게 Read Assess나 Right Assess나를 확인한 다음에
라이트가스 같은 경우는 Modify 비트를 1로 바꿔버린다 그래서 이 그림을 보면 지금 상에서 보면 페이지 테이블에서 페이지 1번, 페이지 2번이 Modify 비트가 됐어요 나중에 페이지 데스마티를 하게 돼요 페이지 2번은 1번에 제정되어 있죠 지금 Repressment 할 때
애를 빅템으로 선택해서 메모리에서 프리할 때 비울 때 지금 모디파이 빅터가 1이다. 1이면 애를 디스크로 떨어진다. 왜냐하면 애를 최신 데이터고 디스크앤덤이 몰드 데이터니까 최신 데이터를 제작하고 계세요. 그런데 만약에 얘가 페이지 2번이 모디파이 빅터가 1이 아니고 0이다.
단지 리드만 됐다. 리드만 했다면 어떻게? 얘가 빅티모를 택받을 때 얘는 그냥 디스크를 뺄겁하지 않고 이렇게 딱 그냥 날려버린다. IRR하지 않고 날려버린다. 모드 비티가 만약에 여기 나면. 자 이런 형태로서 페이지를 아홉 때 발생하는 디스크를 뺄을 수 있다.
그래서 이야기했어요. 페이지를 리플레이싱 할 때 이제 카널은 모디파이어 비트를 1인지를 확인하고 만약에 1이면 그 해당 페이지는 디스크로 백업되고 그렇지 않으면 그냥 디스카드 날려버린다. 날려버린다. 그냥 삭제해버린다. 자, 그랬어.
어려운 것 없죠? 어려운 것 없죠 이번에는 페이지 리플레스먼트 알고리즘 페이지 리플레스먼트 알고리즘은 메모리가 빈 공간이 없을 때 빈 공간을 확보 어떤 페이지를 빅틈으로 선택할 거냐에 대한 방법 방식, 알고리즘을 보고 페이지 리프레스먼트
페이지와 텀빅팀을 선택하느냐에 따라서 나중에 주어진 메모리 접근 횟수에 대해서 페이지포트 횟수가 다르지게 되요. 주어진 페이지 접근 횟수에 대한 페이지포트 개수가 다르지게 되요. 중요하죠 가능한 한 폐질
이 페이지리프레스먼트는 적게 하면서 사용하는 게 좋겠지 페이지 리프레스먼트가 발생하면 발생할수록 많이 발생할수록 많이 발생할수록 페이지보트 레이터가 전환하지 않겠지 페이지보트 레이터가 전환하면 안 되면 어떻게 그만큼 디스크 아유가 많이 발생할수록 많이 발생할수록 그래서 보면 빅티머셋터를 하는 안전이 페이지보트 레이터이고
페이지 보트 레이트는 페이지 리프레스먼트 알고리즘에 의해서 좌우된다 그래서 좋은 OS는 페이지 보트 레이트를 가장 적게 하는 게 좋다 그래서 여기 보면 이건 아마 옛날에 알고 있지만 레퍼런스라면 어셋사가 동일한 의미에요 내 프랑스는 어디?
10불 플러스의 레퍼런스가 아니고 메모리 어세스라는 말으로 적용해요 메모리 레퍼런스는 메모리 어세스 메모리 접근이라는 말은 똑같아요 자 일련의 메모리 접근에 접근을 그러니까 일련의 메모리 접근들 우리가 레퍼런스 스캔이라고 하는 거지 일련의 메모리 접근 순서들 순서들을 보고 레퍼런스 스팀
그러니까 이 그림을 말하고, 대표적으로 레퍼런스틱은 지금 페이지 1번째 건, 그 다음 페이지 2번째 건, 그 다음 페이지 3번째 건, 그 다음 페이지 4번. 그러면 1, 2, 5 하여튼 이런 순서대로 페이지가 접근되고 있다는 것을 보여주는 게 레퍼런스 스틸이라고 그래요. 페이지가, 넘버가 여러분의 이름으로 제 건 되고 있다는 것을 보여주는 게 레퍼런스 스틸이라고 합니다.
페이지 레플레스먼트 알고 주면 첫 번째인게 P4 P4는 무조건 다 안좋아야겠죠 첫 번째 P4 여러 가지 있는데 차를 드시려봅시다 여기 보면 뭐였어요 가장 오랫동안
가장 오랫동안 메모리상에 머물렀던 놈을 빌템으로 선택한다 메모리상에 가장 오랫동안 머물렀던 놈은 뭐죠? 가장 먼저 들어 놈이겠지 메모리상에 가장 오랫동안 머물던 놈은 메모리가 가장 일찍 들어 놈이야 자, 여기 뒤에 보면
하늘은 페이지를 리프레스 못하게 되는데 어떤 순서로 페이지가 메모리상으로 들어온 순서대로 리프레스 못한다. 비포제. 페이지가 메모리상으로 들어온 순서대로 리프레스 못한다. 그래서 보면 지금 이 그림상에 보면 위에 보면 이 멘트로 레퍼런스 스팅으로 쭉 지어지고
지금 3개의 프레임이다. 그러니까 3개의 프레임 밖에 없다는 겁니다. 자 그러면 제일 처음에 이제 페이지 7번이 접근했지? 일단 페이지 7번에 대한 프레임이 확장되겠지? 맞죠? 그리고 0번이 접근 됐지? 페이지 0번 접근 됐으면 자, 0번에 대한 프레임이 이 가운데 프레임에 지향됐어요. 그러면 이리 봐, 이리 봐대니, 이제 도핀
여기서부터 페이지 페이스먼트가 마상하게 됩니다. 2번 작권을 했죠? 여기서 메모로 사항이 들어가 있는 게 뭐죠? 701이지 맞지? 701. 2번 작권을 했어요. 지금 왼쪽 그림을 보면 701이지. 701이지 맞지? 701 중에 가장 먼저 되는 얘기죠? 체제.
7이니까 7을 달려버려야겠지 7을 빌딩으로 선택하고 7을 공간에 1을 제작하게 된다 자 이번에는 그 다음에는 0이 접근됐지 0분이 접근됐어요 0분이 지금 현재 메모리가 저장되어 있지 저장됐기 때문에 히트가 발생한 거였지 페이지볼트가 발생하지 않았다 그치 자 그러면 3번
3번 제작에 접근 됐죠? 3번 페이지 3번 제작 됐어요 페이지 3번 앞쪽에 있는 이 상태에서 2001 중에 어느 놈이 가장 먼저 일어났죠? 0번이 먼저 일어났죠? 맞죠? 0번이 가장 먼저 일어났죠? 그러니까 0번이 날려버렸죠? 0 대신에 3번 제작이 돼요 자 이번에는
이 상태에서 몇 번 있죠? 2, 3이 저장된 상태에서 몇 번 접근했죠? 몇 번 접근 됐으면 1, 2, 3 중에 가장 먼저 먼저 떨어진 부분이 1이죠. 맞죠? 가장 먼저 떨어진 부분이 1이죠. 1을 날려버리죠. 맞죠? 1을 날려버리죠. 그러면 쭉 해보면 이렇게 바뀌는 우리가 하늘에 왔어요. 이렇게 보면 빈칸 있죠?
네모난 그림에서 네모난 게 없이 빈칸 부분은 페이지 폴트가 발생하지 않은 부분입니다. 네모난 부분이 있는 부분이 페이지 폴트가 발생한 거고 비어있는 부분이 페이지 폴트가 발생하지 않은 부분 그러니까 메모리 히트가 발생하는 부분이에요. 전체 페이지 폴트 개수를 조회해보면 페이지 폴트가 15번이 발생하세요. 15번.
그림이 있는 부분이 페이지 보트에 발생하는 거예요.
자 두번째는, 옵티말 페이지 리프레스먼트 옵티말, 보통 우리가 컴퓨터에서 옵티말 나오면 보통 이런적인 이야기가 많지 옵티말, 맞지? 자 이것도 이런적인 방법이 아니지, 이런적인데 뒤에 이기기거에요. 자 그러니까 미래에 가장 오랫동안
가장 오랫동안 사용되지 않을 것 같은 페이지를 리프레스 못하다 가장 오랫동안 사용되지 않을 페이지를 리프레스 못하다 그게 제일 좋겠지요, 그렇죠? 가까운 미래에 당장 사용될 놈은 대신에 한참 뒤에 사용된 페이지를 빅티미로 선택해주는 게 더 좋겠지 그거는 보통 그렇잖아요, 그렇죠? 자 그래서 그림은
여기 701 접근할 때까지는 앞쪽과 동일하지 빔 프레임에 701 접근해서 로드하는 것과 똑같아요 여기서 빛 폐지가 꽉 찼었대요 더 이상 빔 프레임을 할 때부터 시작합니다 여기서 2번 접근했죠?
이번에는 107이제, 107 시점에서 가장 멍미래에 접근될 페이지 7번이다. 7번은 날려버리고 페이지 2를 재생한다. 그리고 0은 히트와 상했고, 이 상태에서 3번 접근을 하게 되면
012 중에 가장 멍멸하게 접근될 름인거죠 012 1번이세요 맞죠 1번 맞죠 1번이죠 1번 그러니까 1번을 필수만 해봅니다 그리고 이제 0번이 접근됐을 때는 0번이 있으니까 히트가 상한 거고 그 다음에 4번 4번 체크합니다 다음은 023 중에 023 중에 가장 멍멸하게 접근될 름이 023 중에
자, 023 중에 3번인가? 지금 여기죠, 4번이처죠 4번이처니까, 023 중에 가장 먼 물리아 접근이라면 0번이처 0번이처죠?
명분을 낮아본다. 쭉 하다보면 이런 그림이 나오고 페지포트가 몇 번 발생했어요? 1, 2, 3, 4, 4, 5, 6, 7, 8, 9번 발생했어요. 페지포트 9번 발생했어요. 앞쪽보다 앞쪽 피퍼보다 페지포트 개수가 줄어들죠.
자, 그런데 문제는 이거죠. 이거. 자, 이거. 자, 이제 그런데 문제는 이거죠. 미래에 어떤 페이지가 가장 오랫동안, 아니, 가장 오랫동안 사용될 건지 아닌 건지는 어떻게 알 수 있는지. 이거 이런 적은 불가능하지. 어떤 페이지가 미래에 가장 오랫동안 사용된 만상표지를 예측하는 게 십자탄입니다. 그렇지. 그래서 이론적인 방법입니다.
So, I just, I guess, I guess I'm okay.
- Uh, uh, and I'll do.
이제 줄임말 L, I, 이런식으로요. 이거는 컴퓨터에서 가장 많이 사용되는 알고잠집이에요. 간단해서, 여러분들이 많이 사용되요. 실제 하드웨어 캐시에서도 많이 사용되고, 컴퓨터에 있는 캐시에서 일할 일과 많이 사용되요.
何を言えるのかよ
자 얘는 뭐냐면, 얘 봐요. optimal 리프레스먼트 알고리즘을 흉내는 것. 대략적인 optimal 리프레스먼트 알고리즘이다. 자 그리고 얘는 뭐냐면 우리가 보면 이제 어
학생들 성적이 보면 이런 경우가 많더라고요. 이제 2학년 2학기 때 성적이 좋으면 상영학 1학기에도 성적이 줄과한 것이 좋다고 하지. 그렇다면 1학년 1학기 때 성적이 좋았다고 해서 3학년 1학기 때 성적이 좋다는 보장죄. 먼 과거니까 그렇지. 먼 과거의 사실을 가지고 지금 현재 몇 시간인지는 좀 정확하지 않은데.
이제 가까운 과거를 가지고 가까운 미래를 예측하면 개통하죠. 이왕 2학기 때 승객이 좋으면 3학년 기 때 승객이 좋을 가능성이 높고 3학년 1학기 때 승객이 좋으면 3학년 기 때 승객이 좋을 가능성이 높다. 그런데 그것처럼 이제 보통의 누구의 행동을 보면 좀 전에 그런 행동을 했으면 가까운 미래로 그런 행동을 할 가능성이 높다는 겁니다.
지난 시간에 취급할 학생은 오늘 취급할 가능성이 높고 지난 시간에 결정할 학생은 오늘 결정할 가능성이 높다는 것이지 대체로 모든 자연 현상에서 보면 가까운 각을 보고 가까운 미래를 판단할 때 많이 상대해 보지 실제 그리킹을 보면 파일 접근, 파일 접근, 메모리 접근, 필터를 보면
파일 안에 있는 파일에 보면 많은 블록들이 있죠 로지칼 블록은 0부터 0까지 있다면 현재 접근되고 있는 블록에 블록 보면 현재 과거에 접근된 블록들이 또 가까운 미래에 접근될 가능성이 높고 메모리에도 같은 특정한 메모리 접근되는 부분이 또 가까운 가거에 활발하게 접근되는 부분이 가까운 미래에 접근 될 가능성이 높아야 되죠
코드도 그렇고 메모리는 알겠지? 자, 그래서 이제 이런 알고리즘이 대충 잘 맞다는 겁니다. 잘 맞아요. 자, 봅시다. 자, 그래서 보면 미래에 대한 메모리 접근, 접근의 패턴을 과거의 메모리, 가장 최근의 과거, 알겠지? 가장 최근의 과거의 접근을 이용해서 접근을 사용한다. 패턴을 사용한다. 자, 그래서 그림 봅시다. 자, 이거 보면 701까지 맞지?
70에까지, 앞쪽하고 앞쪽하고 동일해요. 자 그러면 여기서 이 부분에서 2가 접근된다. 2가 접근되는데, 70 중에 가장 최근에 접근된 놈이죠. 가장 최근에 접근된 놈이, 가장 멍미리에 접근된 놈. 최근이죠. 가장 멍미리에 접근된 놈을 이제 날리거려다. 왜냐하면 가장 최근에 접근된 놈은 또 가까운 미래에 다시 접근될 가능성이 높으니까 가장 멍미리에 접근된 놈은 가장 과거에 접근된 놈은 가장 멍미리에 접근될 가능성이 높다는 겁니다.
그리고 이번에는 이 상태에서 0번이 접근 됐더니 히트가 발생했어요 이번에는 0입니다. 3번 접근했다. 현재 메모리에 0,1에 접근했어요 영역의 중에 가장 먼 미래에 접근 된 점이 뭐죠? 먼 각오에 접근 된 점이
1번이제 0,0,2,1중에 1번 가장 멈 밀려 접근했죠 현저시간을 비준해서 1번을 날려버린거죠 그리고 여기서 보면 0번이 히트 발생했고 4번 접근했는데 0,2,3중에 어디에 접근했죠 그러니까 2번이제 0,2,3중에 0,2,3중에 2번이 가장 각오의 제거 되죠
맞죠 가장 강한 거에 접근했어요 그러니까 이제 2번을 날려버려요 맞지? 자 그리고 여기서 그 다음에 2번 접근했죠? 2번 2번 접근했어요 2번 접근했는데 034 중에 가장 멍미래 있는 놈이 034 중에 가장 멍미래 있는 놈이 3이죠 맞죠? 034 중에 가장 먼 각오에 접근했죠? 맞죠?
자, 지금 034가 있어요. 034가 있고 2번 적군했어요. 2번 적군했는데 하단을 비워야 된다고 했지. 034 중에 가장 멈추려 있는 게 034 중에 3일 가고 있죠. 예규션에서, 그치. 3을 날려버린 거죠. 그래서 쭉 해보면 페이팅포트 개수가 몇번 내렸지. 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 맞지?
P판은 5번이고, Optimal은 9번이고, 얘는 12번이지, 그렇지?
자, 맞죠? 어렵지 않죠. 이 부분을 예를 봅시다. 자, 이번에는 1번 접근이 된거죠. 1번. 1번 접근이 됐는데, 1번 접근이 됐는데, 매물에 보면 0, 2, 3 있죠. 0, 3인데, 1번 접근이 됐는데, 이 현재 기준에서 0, 2, 3 중에 가장 먼 각을 접근이 된다면 0번이죠. 맞죠? 0번. 그러니까 0번에 달려 봅니다. 맞죠? 맞죠? 자, 이게 이제,
그 유명한 LRU 방식이라고 할지 LRU는 개념도 같다고 알아야 하는 내용인거죠 요거 특히 OSNATS 많이 이런 방식으로 보인다고 해서 할지 본미를 예측할 위해서 가거를 예측하다 가거의 행시라면 미래의 행시라고 말씀드렸잖아요
オーブンで焼き込みます。
자, 근데 봅시다. 자, 우리가 LRL를 여러분들 쉽게 구현할 수 있지? 스텝으로, 그렇지? 자료 구조를 보면 쉽게 구현 가능하지? 그렇지? 구현이 가능하지? 스텝으로 구현하면 되잖아, 그렇지? 스텝이라는 건 뭐, 변호도 구현할 수도 있고, 링크지스트도 구현할 수도 있지, 그렇지? 자, 그래서 보면, 여기 봅시다. 여기처럼, 여기가 메모리, 그러니까 메모리 리퍼런스가 이런 식으로 주어져 있고, 현재 현재 요 7 7
7 이전에 A시점에서 봤더니 스탭이 이렇게 됐어요 21074 형태로 순서되는데 얘가 탁입니다 얘가 가장 최근에 접근된 놈이고 얘가 가장 면밀히 접근된 놈입니다 여기저... 아... 해보면...
아... 얘 반대만이거죠? 모스트 하겠지? 모스트. 자 이제 모스트는 가장 최근. 예, 최근에 내려오고. 자, 마지막이에요. M, R, U 페이지 페이지.
에나리오 페이지라고 하면 가장 최근에 접근된 페이지 에나리오 페이지는 가장 접근된 페이지 자, 그럼 봅시다
그러니까 이렇게 주어진 페이지들을 집합하고 있어요. 여기 주어진 스택인다. 주어진 페이지를 집합했는데 가장 꼭대게 되는 게 뭐냐면 M.I.U 페이지야. 얘가 M.I.U 페이지고 얘가 L.I.U 페이지야. 그러니까 지금 A 시점에서 E가 가장 최근에 접합된 페이지야. 예능, 가장, 문학에 집중되고 있다
가장 최근에 접근 된다면 무조건 탑을 합니다. 밑바닥에 있는다면 가장 과학과 접근 되는 거고 그러면 실 앞에 2가 접근 됐죠? 그러니까 2가 최근에 접근 됐으니까 얘가 MRU 피지입니다. 자 그러면 이번에 B시죠. 치료증까지 했죠?
7이 가장 최근적이 된다. M1U 페이지가 된다. 접근된 놈을 무조건 일어낸다. 스테이크 탑으로. 자, 이런 면트를 우리가 구현하면 LRU 페이지, 크리스마트를 신고해서 구현했었겠지. 스테이크 탑으로 사용하면 LRU를 구나 쓰지 않겠지.
가장 앞쪽에 있는 건 MRU, 가장 뒤쪽에 있는 건 LRU 그래서 나중에 프레스먼트 할 때 LRU 페이지를 날려면 돼, 그치? 석터주우니까 권한수다. 근데 문제는 이건 나겠지. 문제는, 이야기했죠? MRU 이야기했지? MRU 페이지가 이야기했고, 맞죠? 그리고 스택에는 페이지 번호를 넣는다. 이것을 관리한다. 스택에는 페이지 번호를 넣고 관리한다. 자, 팔다시 뽑은
자 문제 스택 방법은 뭐가 문제죠? 뭐가 문제라고 했어요? 자 이거 보세요
자 이게 배보다 배꼽이 커지는 상황이 발생할 수 있어요 자 우리가 메모리 접근할 때 메모리 접근할 때 이제 명령을 하나씩 접근하죠 뭐 모브엘 맞지 모브엘 이런 거 통해서 명령을 접근할 때마다 메모리 접근하면 되겠지 자 명령을 하나 접근할 때마다 접근할 때에는 접근할 때에는 서비스에 있는 것입니다
C코드 보면 몇랑되지? 맞죠? 링크 데이터 C코드를 보면 얘를 앞쪽으로 당기려면 자, 얘가 링크 데이터가 그린데 있어요. 얘를 앞쪽으로 당기려면 코드가 몇랑 필요하죠? 두세, 두세라인 들어가죠? 맞지? 두세, 두 라인 정도 두 라인 같은 것을 실제 어셈브리로 까보면 이게 어셈브리 코드 두 라인 아니에요. 그치? 그니까 12일이 될 수 있어요 그치?
자 그러면 매몬이 접근할 때마다 그러니까 섭탈적으로 스테이크하려고 해서 이제 뭐야 매몬이 접근한 어셈블릭 코드보다 드만이 코드가 그러니까 시행된다면 배보다 백업이 커질 거예요. 그렇지? 배보다 백업이 커져. 맞죠? 그럼 어떻게? 엄청 내리게 되겠지? 맞지? 엄청 엄청 내리게 돼요. 그렇지? 맞지? 자 그러니까 이렇게 여기 귀하게 나오세요.
각 명령마다 스택 리워드링 하는게 우아하게 발생할 수 있다는게 이야기하고 있습니다 각 명령마다 리워드, 리퍼런스에 대한 리워드링 안에 재손서가 이루어진다 이게 코드, 부피 라는 코드가 수확가 되기 때문에 이제 안되다
결국 석터적으로 뭔가 끼우면 안 된다 그 다음에 하드적으로 그것도 안 해야 하지 결국은 또 뭐가 나오죠? 결국은 또 뭐냐? 이게 나옵니다 얘는 NRL6 RepressMont가 아니고 NRL6 Approximation입니다 이게 뭐냐면 합터적으로 NRL6으로 그러니까 버츠버브라그에서
스테이지리워딩이 되서 스테이지리워딩이 불가능하니까 이제 LR류를 휙내야 되겠다 그래서 LR Approximation E-pressment라고 해요 이거는 우리가 동영상을 준비해야지 스테이지리워딩을 듣더라고요 근데 중요한거요 실제로 우리가 LR류는 앞쪽 스테이지리워딩이죠 특택 형태로 관리된 것은 도체 메모리에서는 Approximation 사용하는데
실제로는 빠지템 있죠 빠지템에서 사용하는 도퍼캣이라든지 이런 것들은 내부적으로 선택적으로 선택형태로 관리되고 있어야 되지 실제로 선택형태로 관리된다 많은 선택 부분에 있어야 되지 심지어 데이터베이트라든지 어떤 네트워크라든지 어떤 내부적으로 리트런스먼트 발생하는 대부분은 LRL을 기본으로 하고 있고 LRL은 내부적으로 선택형태로 관리되고 있다 정확하게 이런 것들로 그러니까 이어딘인데요 이렇게.
정확하게 리오딩되겠죠? 그런데 아까 지금 석태에서 에랄료를 구현하면 부하가 크지 않다고 그런데 보시해보니까 그러니까 안 된다고 에랄료를 구현하면 부하가 크지 않다고 왜냐하면 능력한 수준에 때마다 스테크가 되어야 하니까 다음 페트북은 우리가 를 구현할 수 있습니다. 정상으로 구현할 수 있습니다.
Thank you. So, thank you for your time.
쫓겨날, 비어질 프레임을 디스크로 백업하다 데이터인데, 당장 백업해야 합니다 백업하는 동작을 보면 페이지 아웃이라고 합니다 Swap out하고 페이지 아웃이 달라요 페이지 아웃은 페이지 아니고 Swap out은 프로세스가 사용하고 있는 모든 프레임입니다 프로세스의 다름입니다 Swap은 페이지 아웃이 버린다
페이지 압수 시키고 빈 공간을 이제 새로 접근한 페이지가 사용하도록 한다 이렇게 이야기하고 있어요 자 그림 보면, 그림 보면, 자 봅시다 그림에서 책에서 Swap out 하고 페이지 out 하고 혼자 나오고 있어요 Swap out 하고 페이지 out 하고 싶어요 한 바울 시 안에 외도 3번째 보면 페이지
그래서 이 그림 상태는 페이지인, 페이지아웃 그래서 이 그림 상태는 보면 페이지 101번을 접근해서 사용했지 페이지 102번, 초기 상태는 초기 상태는 됐고
그러면 우선 머리에 빔팜이 하나도 없어요 그다가 어떤 알고리즘으로 하다보니 F가 쫓겨내야 빅틈으로 선택이 되었어요 애를 디스크로 배급한다 배급하고요 빈 공원으로 사용하면 되겠지
이 페이지 테이블의 엔트리를 바꿔줘야 되겠지 이렇게 0번 1번 이렇게 바꿔줘야 되겠지 그리고 이번에는 페이지 101번에 대한 디멘트 페이지가 디스크에 있어요 디스크에 있는 걸 재정한다 이 빅틴으로 재정하면 아가지는 101번에 해당하는 놈이 지금 F에 지정된다 그치
F 프레임이 지정됐으니까 101번 F로 매핑됐다고 표시를 하고 얘를 valid로 바꿔줘야 되겠죠? 그러니까 얘가 여러 형태로 바뀐다. 100번에 대한 페이지가 쫓겨났으니까 쫓겨났고 그 프레임이 101번에 대해서 재사용되니까 페이지 탭으로도 그에 맞게 변경을 유지해야 된다. 빨리 잘 좋아해.
이 이야기를 앞쪽에서 이렇게 해주세요 알겠지? 이렇게 해주세요 그림을 보면 페이지 리프레스먼트가 발생할 때 다시 한번 페이지 아웃, 페이지는 다 알겠죠? 페이지 아웃은 메모리 입장에서 기준에서 나가는 상태를 페이지 아웃이고 메모리!
기준으로 디스크스 데이터가 들어오는 상황이 보고 페이지인이다. swap out은 페이지 단위가 아니고 프로세스가 사용하는 모든 프레임, 프로세스 단위입니다. 그게 swap in swap out이다. 그래서 보면 페이지 리플레스 원트가 발생할 때마다 아이어가 몇 번 나죠? 페이지 out 한번 발생하고 페이지 인 한번 발생하고 있어요.
이렇게 되면 페이지 디프리스먼트에 부화가 많이 발생할 수 있겠죠 한 번 페이지 디프리스먼트에 맞다가 계속 디스크 아이오가 두 번씩 나오면 태기 부담스럽다는 거죠 그러면 이런 아이오를 줄여보자 양쪽이 뭐냐면 T비트, Modify 비트라는 게 나오게 되어있어요
자, 봅시다. 만약에, 이제 가정한 말, 보세요. 지금 얘가 쫓겨날 때, 쫓겨나는데 이미 얘하고 똑같은, 그러니까 원본에, 원본에 데이터가 지속혀 있어요. 지속했단 말이에요. 그렇지. 이렇게 되면, 그러니까 다시 데이터 제작할 필요가 있을까, 없을까? 그렇죠. 그러니까 메모리에 있는 데이터랑, 내용이랑 디스크인 내용이랑 동일하면
그러니까 디스크로는 깨끗하게 그렇겠지. 그 말은 뭐냐면 내용이 똑같은 말은 메모리상에 올라온 이 페이지가 리드언니어 단지 읽기만 했다는 겁니다. 변경하지 않고 단지 읽었다는 겁니다. 그런 것은 굳이 디스크로 저장할 필요 없어요. 만약에 그런데 제가 내가 이제 저쪽에 있는 디스크에 있는
데이터 최신입니다 최신 최신이면 얘를 디스크로 백업 해야 되요 최신 데이터를 설치를 안가면 디스크로 백업을 해야 되요 이 말은 어떻게 하면 디스크보다 메모리 있는 프레임이 최신이라고 하면 메모리에서 올라와서 변경이 되잖아요 변경이 된 것에 대해서는 리프레스먼트에 대한 디스크로 백업을 해야 됩니다 감사합니다.
그래서 메모리스의 프레임이 리더인 경우는 그냥 날려줍니다. 집배고 하지 않고, 모디파이된, 업데이트 된 페이지는 최신 데이터를 손실하지 않기 위해서 디스크로 라이트합니다. 리프리스받으로 사용할 때. 그래서 이번에는 뭐냐 하면, 우리가 페이지 탭을 해보면 여러가지 비트 기업이 있어야 해요.
페인테이블에 밸리드 밸리드가 있고 프로텍션, 나이제, 그리고 그 다음에는 모디파이드, 더티 비트라고 해요. 보통은 더티라는 용어가 자주 컴퓨터에서 자주 용어로 나오거든요. 더티는 업데이트 됐다고 보면 돼요. 업데이트, 모디파이드 됐다는 의미를 받으세요.
그러니까 이야기같은데, 그렇죠. 아니 용어로도 그렇죠. 더럽혀졌다는 거지. 우리나라가 어떻게 되니까 더럽혀진 데이터. 더럽혀진 데이터는 껍데기 됐다는 거지. Modified 된 건 뭐 Dirty라고 말이에요. 자, 그러면, 봅시다. 지금 Dirty가, PTAB의 엔트리에 또 새로운 하나의 비트가 하나 더 추가됐다는 거지. 더 추가됐어요. 자 그래서 내가 보면
프로그램이 들어갈 때 우리가 가전에 페이지에 어떤 갑을 제작했지? 가전에 학판에서 예제했을 때 PTR에 어떤 갑을 제작했지? 갑을 제작하게 되면 MMU가 특정한 페이지에 갑을 제작했다는 것을 알 수 있지? 하대적으로 알 수 있어요. 그러면 재미료는 이제
생활 페이지가 업데이트 되게 되면 이제 모디파이 비트를 1로 바꾸버려야 되겠지 1로 바꾸버려야 되겠지 생활 페이지가 변경됐다 그러면 모디파이 비트를 1로 바꾼다 그거를 누가 확인하냐 그러니까 cp가 메모리를 접근할 때마다 매번 이게 read assess냐 write assess냐는 것을 확인한 다음에 그러니까 write assess 같은 경우는 이제 모디파이 비트를 1로 바꾸버린다 그래서 앞으로
그래서 이 그림을 보면, 지금 상에서 보면 페이지 탭에서 페이지 1번, 페이지 2번이 모디파인 비트으로 됐어요. 나중에 페이지 레프레스먼트를 하게 돼요. 페이지 2번은 탭 1번에 제한돼요. 페이지 레프레스먼트 할 때 얘가 비트으로 선택돼서
메모리에서 프리할 때, 비울 때, 모디파이 필터가 1이다. 1이면, 얘는 디스크로 떨어진다. 왜냐하면, 얘가 최신 데이터이고, 디스크들이 몰드 데이터니까, 최신 데이터를 제작하고 있어. 그런데, 만약에 얘가 와요. 얘가 페이지 2번이 모디파이 필터가 1이 아니고 0이다. 단지 리드만 됐다 리드만 낸기였다면 어떻게?
이 부분은 디스크가 비틈으로 택배됐을 때 디스크를 뺄겁하지 않고 이렇게 날려버린다. IR을 하지 않고 날려버린다. 모드비티가 만약에 여기가 안 돼. 이런 편에서 페이지를 발생하는 디스크 라이버를 지을 수 있다. 그래서 여기가 안 되었어요. 페이지를 리플레이싱 할 때 이제...
하나는 1인지를 확인하고 만약에 1이면 그 해당 페이지는 디스크로 백업되고 그렇지 않으면 디스크 카드를 날려버린다 삭제해버린다 그래서 어려운 것 없죠? 이번에는 페이지 인플레스먼트
페이지 리플레스먼트 알고리즘은 메모리가 빈 공간이 없을 때 빈 공간을 합보, 어떤 페이지를 빌템으로 선택할 거냐에 대한 방법, 방식 알고리즘을 보고 페이지 리플레스먼트 알고리즘을 알려주세요 페이지와 템플레스먼트를 선택하느라 따라서 나중에 메모리가
주어진 메모리 접근 횟수에 대해서 페이지포트 횟수가 다르지 주어진 페이지 접근 횟수에 대한 페이지포트 개수가 다르지 중요하죠 가능한 페이지 리플레스먼트는 적게 하면서 사용하는게 좋겠지 현재 리프레스먼트가 발생하면 발생할수록 아니ません
많이 받아놨습니다. 페이지포트 레이트가 전화하지 않죠. 페이지포트 레이트가 전화하면 어떻게 해요? 그만큼 디스크 아이디어가 많이 받아놨습니다. 그래서 보면 빅티머 센터를 하는 아이디어는 페이지 리프레스먼트 아이디어점이고 페이지포트 레이트는 페이지 리프레스먼트 아이디어점에 의해서 적용된다. 그렇죠? 그래서 좋은 보이스는
페지보트 레이트를 가장 적게 하는게 좋다. 그래서 여기 보면, 이거는 아마 옛날에 알고 있지만, 레퍼런스라면, 어세스하고 동일한 의미에요. 레퍼런스는 10불 플러스의 레퍼런스가 아니고 메모리 어세스 라는 말은 동일해요. 메모리 레퍼런스는 메모리 어세스, 메모리 제품들과 똑같아요.
1년에 메모리 접근에 접근이 있습니다. 1년에 메모리 접근을 우리가 레퍼런스 스팀이라고 하는 거지 1년에 메모리 접근 순서들 순서들을 보고 레퍼런스 스팀 이 그림 말고 그림으로는 대표적으로 레퍼런스 스팀은 지금 메모리 페이지 1번째 건, 그 다음 페이지 2번째 건
그 다음에 페이지 3번 접근, 그 다음 페이지 4번, 1,2,5, 하여튼 그 이런 순서대로 페이지가 접근되고 있다는 것을 보여주는게 레퍼런스 스틸이라고 해요 그러니까 페이지 넘버가 여러 명대로 접근되고 있다는 것을 페이지 레퍼런스 합니다 페이지 레퍼런스 알고 주면 첫 번째인게, People 자, People는 우리 거 다 안좋지 않겠지? People는 다 안좋지 않겠지?
그래서 첫 번째 기포까지 있는데 차를 드시만 합시다 여기 보면 뭐였어요? 가장 오랫동안 메모리상에 머물렀던 놈을 끝음으로 선택한다 메모리상에 가장 오랫동안 머물렀던 놈은 뭐죠? 가장 멀리서 들었는데 그치?
메모리상 가장 어렵다는 머무릎은 머무릎은 머무릎은 머무릎은 머무릎은 머무릎이 가장 일찍 들어오는 놈이야. 그치? 자, 그러니까 여기 뒤에 보면 그래서 칸헌은 페이지를 리프레스만 타는데 어떤 순서로? 페이지가 메모리상으로 들어온 순서대로 이제 리프레스만 타는다. 리프제? 페이지가 매물사로 들어온 순서대로
그래서 보면 지금 이 그림상에 보면 위에 보면 이 면트로 레퍼런스 스팅으로 쭉 지워지고 지금 3개의 프레임이다. 그러니까 3개의 프레임 밖에 없다는 겁니다. 그러면 제일 처음에 페이지 7번이 접근했지? 페이지 7번에 대한 프레임이 할당되겠지? 맞죠? 그리고 연본이 접근 됐지 폐지 연본이 접근 됐지
그래서 랩번에 대한 프레임이 거운데 프레임에 제한됐어요. 1번이 빈 프레임이 제한됐죠. 여기서부터 페이지 플레이스먼트가 마상화됩니다. 2번 접근했죠. 여기서 2번 접근했는데 메모로서가 들어있는 게 뭐죠? 701이제
이번 적금 했어요. 이번 적금 했는데 지금 왼쪽 그림 보면 701이죠. 701 맞지? 701 중에 가장 먼저 들어온 적인 거죠? 7제. 맞죠? 7이니까 7을 달려버려야겠지? 7을 빌딩으로 선택하고 7을 7 공간에 1을 제작하게 된다. 됐지? 이번에는 그 다음으로 0이 적금됐지? 0분이 적금됐어요. 연구원이 지금 현재
페이지 볼트가 발생하지 않았다. 그러면 3번, 3번 제작에 접근 됐죠. 페이지 3번 앞쪽에 있는 메모리가 이 상태에 있죠. 2001 중에 어느 명이 가장 먼저 나왔죠? 1번이 먼저 나왔죠.
연관리를 날려버리죠. 명대신에 사과 지장이 되요. 이번에는 이 상태에서 2,3,1이 지장된 상태에서 몇 번 접근 되죠. 몇 번 접근 되었으면 1,2,3 중에 가장 먼저 들어온 번째 단계는 1이죠. 가장 먼저 들어온 1이죠. 1을 날려버리죠.
이렇게 보면 빈칸이죠. 네모난 그림에서 네모난 게 없이 빈칸 부분은 페이지포트가 발생하지 않은 부분입니다. 네모난 부분이 있는 부분이 페이지포트가 발생한 부분이고, 그러니까 메모리 히트가 발생하는 부분이에요.
페이지 버터가 15번이 나타났어요. 그림이 있는 부분들이 페이지 버터가 나타나는 부분이에요. 두 번째는 옥티말 페이지 리프레스먼트. 옥티말 페이지 리프레스먼트.
미래에 가장 오랫동안 사용되지 않을 것 같은 페이지를 프레스받한다. 그게 제일 좋겠죠. 가까운 미래에 사용될 놈은 대신에 한참 뒤에 사용될 것 같다. 한참 뒤에 사용될 것 같다.
사용된 페이지를 빅티미로 선택해주는게 더 좋겠죠 보통 그렇잖아요 그림을 보면 701 앞쪽과 동일하죠 빔 프레임에 701 접근해서 로드하는과 똑같아요 여기서 페이지가 꽉 찼었대요
대상 빈프레임을 시작합니다. 여기서 2번 접근했지? 2번 접근했는데, 107일제, 107시 중에서 가장 멍미래에 접근 될 가능성이 궁금했죠? 10번이제, 맞죠? 가장 멍미래에 접근 될 페이지 7번이다. 시원한 달이 보다
그리고 페이지 1을 재생한다. 0에 히트와 생긴 것이고 이 2, 3, 1 상태에서 3번 접근을 했죠. 3번 접근을 하게 되면 0, 1, 2 중에 가장 문별의 접귄될 것이죠. 0, 1, 2. 1번이세요. 1번. 1번이죠. 1번. 그러니까 1번을 필수 못해 본다. -끄리티. -끄리티.
0번이 접근됐을때는 0번이 있으니까 히트가 상한거고 그 다음에 4번 3번째가 합니다 다음은 0,2,3 중에 0,2,3 중에 가장 멀밀히 접근된 놈이 0,2,3 중에 자, 0,2 보면 0,2,3 중에 0,2,3 중에 3번인가? 일단, 일단, 일단, 일단.
4번이 치니까 여기서 고음이 3 중에 가장 먼 물량 접근자로는 0번이예요 0번이예요 0번을 낮아보면 쭉 하다보면 그런 그림이 나오죠 페이지포트가 몇 번 맞으셨어요? 1 2 3 4 4 5 5 5 5 5 5 5 5
앞쪽 보다 앞쪽 피퍼보다 페지포트 개수가 줄어들죠. 그런데 문제는 이거죠. 미래에 어떤 페지가 가장 오랫동안 사용될 건지 아닐 건지 어떻게 알 수 있냐고. 이런 적은 불가나지 그렇지?
이런 페이지가 미래에 가장 오랫동안 사용된 완산 페이지를 예측하는게 십자탐이다. 이륜적인 방법이다. 그래서 놓은게 뭐냐면 LRU LRU 그러니까 세트웨이 일대 줄임만 LRU -뭘요.
그래서 가장 많이 사용되는 알고즘 중에 하나예요. 간단해서. 여러분들이 많이 사용되요. 여러분 알고즘이. 실제 하드웨어 캐시에서도 많이 사용되고, 컴퓨터에 있는 캐시, 다양한 캐시에서도 일할 일 같은 경우가 많이 사용되요. 얘는 뭐냐면, 오티말 리프레스 모터 알고즘을 흉내는 것.
그래서 이것은 알고리즘입니다. 옵티바의 대략점입니다. 그러니까 확률형입니다. approximation 그리고 얘네가 뭐냐면 우리가 보면 이제 학생들 성적이 보면 성적이 보면 이런 경우가 많더라고요. 2학년 2학기 때 성적이 좋으면 상여망 1학기에도 성적이 절감 성적이 높아지지 그렇다면 1학기 때 성적이
이제 바탕에서 3학년 1학기 때 성격이 좋다는 보장제. 먼 과거니까 그렇지. 먼 과거의 사실을 가지고 지금 현재 예측하기는 좀 정확하지 않은데 이제 가까운 과거를 가지고 이제 먼 가까운 과거를 가지고 가까운 미래를 예측하면 개통하잖아 그렇지. 이왕 2학기 때 성격이 좋으면 3학년 1학기 때 성격이 좋을 가능성이 높고 사망일 낙기 때 생각 좋으면
그는 누구의 행동을 보면 좀 전에 그런 행동이 있으면 가까운 미래로 그런 행동을 할 가능성이 높다는 것이지. 맞죠? 그래서 지난 시간에 지각한 학생은 오늘 지각할 가능성이 높고 지난 시간에 계속한 학생은 오늘 지각할 가능성이 높다는 것이지. 맞죠? 그렇죠? 그래서 이제 모든 자연, 그러니까 자연현상에서 보면,
그 부분은 가까운 각을 보고 가까운 비례를 판단할 때 많이 상대되었지 실제로 그렇게 보면 파일 어세스, 파일 접근, 메모리 접근도 필터를 보게 되면 파일 안에 있는 파일에 보면 많은 블록들이 있죠 로지칼 블록이 0부터 N까지 있다면 그러니까 현대 채권 되고 있는 블록에 이제 블록 보면
현재, 과거에 접근된 블록들이 또 가까운 미래에 접근될 가능성이 높아야 되겠지 코드도 그렇고 메모리가 많지 그래서 이런 알보드름이 대충 잘 맞아요 그래서 보면 1회에 대한 메모리 조건
패턴을 과거의 메모리 가장 최근에 가고 가장 최근에 과거의 접근을 이용해서 패턴을 사용한다 그래서 그림 봅시다 여러분 701까지 맞지? 701까지 앞쪽하고 앞쪽하고 두통이래요 그러면 여기서 이 부분에서 2가 접근이 됩니다 2가 접근이 되는데 최강의 중입니다.
최근에 접근된 놈이죠. 가장 멍미리에 접근된 놈이죠. 가장 멍미리에 접근된 놈을 날려버린다. 왜냐하면 가장 최근에 접근된 놈은 또 가까운 미래에 다시 접근될 가능성이 높으니까 가장 멍미리에 접근된 놈은 가장 멍미리에 접근될 가능성이 높다. 자 그리고 이번에는
이 상태에서 N번이 접근 됐더니 히트가 발생했어요 이번이 여기입니다 3번 접근했다 3번 접근했는데 현재 메모리에 012에 접근했어요 012 중에 가장 먼 미래에 접근 된 점이 뭐죠? 먼 과거에 접근이 되니? 그 번째 021 중에 1번 가장 먼 미래에 접근이 되었죠
현재 시간에 비중해서 1번을 날려버리고 그리고 여기서 보면 0번이 히터 발생했고 4번 접근되는데 023중에 가구에 접근됐죠 그러니까 2번이죠 023중에 023중에 2번이 가장 가구에 접근됐죠
날려버려요. 맞지? 그리고 2번 접근했죠? 2번 접근했어요. 034 중에 가장 멍미래에 있는 놈이 3이지? 3개 중에 3, 034 중에 제일 가장 가구에 접근했지? 자, 지금 033 있어요.
영상차가 있고 2번 접근했어요. 2번 접근했는데 하나를 비워야 된다고 했지. 영상차 중에 가장 멈추려 있는게 영상차 중에 3일 과거에 3을 날려버린거죠. 그래서 쭉 가보면 헤드코트 개수가 몇번 늘었지. 1, 2, 3, 4, 5, 6, 7, 8, 8, 9, 10, 11, 12 맞지. 피퍼는 10분이고
옵티마를 9번이고 얘는 12번이죠. 맞죠? 자, 맞죠? 자, 이번에는 1번 접근이 됩니다. 그렇죠? 1번. 1번 접근이 됐는데, 1번 접근이 됐는데, 매물에 보면 0, 2, 3 있죠? 응상인데, 1번 접근이 됐는데, 현재 기준에서, 0, 2, 3 중에 가장 먼 각을 접근이 되면 0번이죠. 0번. 그러니까 0번에 달고 있는 거죠. 아
이게 유명한 LRU 방식입니다. LRU는 개념도 같다고 알아야 하는 내용이겠죠. 이것은 OS, NES 이런 방식으로 보인다고 하죠. 국미래를 예측하기 위해서 과거를 예측하다. 과거의 행시라면 미래의 행시를 말씀드렸잖아요.
우리가 LL를 여러분들이 쉽게 구현할 수 있지 스텝으로 그렇지 자료 구조를 보면 쉽게 구현 가능하지 그렇지 구현이 가능하지 스텝으로 구현하면 되잖아 그렇지 스텝은 그냥 뭐 배원도 구현할 수도 있고 링크지스트도 구현할 수도 있지 그렇지 자 그래서 보면 여기 봅시다 여기처럼 메모리 그러니까 메모리 레퍼런스가 이런 식으로 주어져 있고 현재 요 7
A시점에서 봤더니 스테이크에 반응이 이렇게 되었어요 21074 형태로 순서되는데 얘가 탑이 되었지 얘가 가장 최근에 접근 된다 최근에 접근 된다 얘가 가장 면밀히 접근 된다 그쵸? 해보면
아... 얘 반대말이 거죠 모스트 모스트 모스트는 가장 최근에 접근된 페이지 마지막에 M.R.U. 페이지 M.R.U. 페이지 가장 최근에 접근된 페이지 알겠죠? 에라 류
페이지는 가장 가부의 끝인데, 페이지. 그럼 여기 봅시다. 이렇게 주어진 페이지를 집합하고 있어요. 주어진 스펙인다. 주어진 페이지 집합이 있는데, 가장 꼭대기 있는게 뭐냐면 mru페이지압이지 여기가 mru페이지고
얘가 LRU 페이지야 그치? 그러니까 지금 A시점에서 E가 가장 최근에 접근된 페이지야 그치? 얘는 가장 먼 각에 접근된 페이지다. 이 집합중국사 그치? 가장 최근에 접근된 너들은 무조건 탑을 넣는다. 밑바닥에 있는 건 가장 각에 접근된 너로. 자 그러면
7 앞에 2가 접근됐지 2가 접근됐지 그러니까 2가 가장 7가 접근됐으니까 얘가 M-A-L-U 자 그러면 이번에 B 7가 접근됐지 7이 가장 7가 접근됐다 M-A-L-U 접근된 놈을 무조건 1으로 한다고 탑으로 여러분이 제일 우리가
그러면 LRU 페이지를 실컷 구현하셨겠지? 스택을 사용하게 되면 LRU는 구현하셨지 않겠지? 그러니까 가장 앞쪽에 있는 건 MRU, 가장 뒤쪽에는 LRU 그래서 나중에 크리스먼트 할 때 LRU 페이지를 날려면 돼, 석태주 오니까 구현하셨다. 그런데 문제는 이거면 다겠지. 그리고 에만
스택에는 페이지번호를 넣는다. 이것을 관리한다. 스택에는 페이지번호를 넣어 관리한다. 자, 빨라스 부분. 문제는, 문제 스택 방법은, 뭐가 문제죠? 뭐가 문제라고 그랬어요? 자, 이거 보세요. 이게 배보다 배꼽이 커지는 사람이 발생할 수 있어요.
메모리 접근할 때 메모리 접근할 때 이제 명령을 하나씩 접근하자 뭐 모브엘 맞지 모브엘 모임을 통해서 명령 접근할 때마다 메모리 접근하면 되겠지 그러니까 명령을 하나 접근할 때마다 석터적으로 링크 데이터 스택을 순서를 바꾸게 되면 C컷을 보면 분환되지 링크대트 시크에서 보면
얘를 앞쪽으로 당기려면 자, 얘가 링크젝트에 올려드렸어요 얘를 앞쪽으로 당기려면 코드가 맨날 필요하죠 두세, 두세 라인 들어가죠 맞지? 두세, 두 라인 정도 두 라인 같은 것을 깎아 두 라인 같은 것을 시제 어셈블리로 까보면 이게 두, 어셈블리 코드 두 라인 아니에요 여러 줄이 될 수 있어요 그러면 매번 메모리 측근할 때마다 그러니까 적절적
그래서 이제 모집권을 접근한 어셈블릭 코드보다 더 많은 코드가 실행된다면 여기다 백과목이 크죠. 배보다 백과목이 크죠. 그럼 어떻게 엄청 내리게 되겠죠. 엄청 내리게 돼요. 그러니까 이 이야기 라고 하시네요. 각 명령보다 리워딩 스탠프가
리워드링 하는게 우아가 발생할 수 있다는게 이야기하고서 맹력마다 리워드 리퍼런스 리퍼런스에 대한 리워드링 아니 지혜 순서가 이루어진다 요게 코드 불필요한 코드가 추가가 되기 때문에 안되다 그리고 소프트웨어적으로 뭔가 깨우면 안된다 마지막에 만난다.
하대적으로 단위합이지, 하대적으로 단위합이다 자, 결국은 또 뭐가 나오자? 이건 또 뭐냐? 이게 나옵니다, 그치? 얘는 LR6 페이지 리프레스 모터가 아니고 뭐가 나오죠? LR6 어플로시메이션이다, 그치? 이게 뭐냐면, 합초적으로 LR6으로, 그러니까 버츠반벌이라는 게, 페이지 리워딩이 돼서 이제 스택관리로 하는 게 불가능하니까 이제
그는 LR Approximation Represment라고 해요. 이거는 우리가 동영상을 줄게 알겠지. 페일러를 듣도록 해요. 그런데 중요한 건 실제로 우리가 LRU는 앞쪽 스펙이죠. 스펙 행태로 관리된 것은 도출 메모리에서는 Approximation 사용하는데 실제로는 빠지템이죠. 빠지템에서 사용하는 Doppler cache이라든지 내 옆으로 세탁자 없이 세탁금 들어갔어요
관리되고 있어야지. 실제로 선택형태로 관리된다. 아래 석테보건이 있어야지. 심지어 데이터베스트라든지 어떤 네트워크라든지 내부적으로 리클런스먼트로 발사하는 대부분은 LRL을 기본으로 하고 있고 LRL은 내부적으로 선택형태로 관리되고 있다. 정확하게 형태로 리어딩되어 정확하게 형태로 석테리아 쪽으로 관리되니까 정확하게 리어딩되겠지. 그런데 아카시아
섬태에서 에랄료를 구현하면 부화가 크지 않다고 합니다. 그런데 더 시험해보니 어떻게 해야 할까요? 그러니까 안 된다. 에랄료를 바로 구현하면 부화가 크는다. 왜냐하면 명령을 할 수 있는 때마다 부터가 되어야 할 것 같아요. 그래서 다음 주에 붙으면 우리가 공사 그래서 우리 다음 주에