Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

3주차 질문 #7

Open
EvergreenTree97 opened this issue Aug 2, 2022 · 3 comments
Open

3주차 질문 #7

EvergreenTree97 opened this issue Aug 2, 2022 · 3 comments

Comments

@EvergreenTree97
Copy link
Contributor

EvergreenTree97 commented Aug 2, 2022

가상메모리란?

메모리에 로드된, 실행중인 프로세스가 메모리가 아닌 가상의 공간을 참조해 마치 커다란 물리 메모리를 갖는 것처럼 사용할 수 있게 해주는 기법


프로세스에서 사용하는 메모리 주소와 실제 물리적 메모리 주소는 다를 수 있음

따라서 메모리 = 실제 + 가상 메모리라고 생각하면 안됨

메모리가 부족해서 가상메모리를 사용하는 건 맞지만, 가상메모리를 쓴다고 실제 메모리처럼 사용하는 것은 아님

실제 메모리 안에 공간이 부족하면, 현재 사용하고 있지 않은 데이터를 빼내어 가상 메모리에 저장해두고, 실제 메모리에선 처리만 하게 하는 것이 가상 메모리의 역할이다.

즉, 실제 메모리에 놀고 있는 공간이 없게 계속 일을 시키는 것. 이를 도와주는 것이 '가상 메모리'

@EvergreenTree97 EvergreenTree97 changed the title 가상메모리란? 3주차 질문 Aug 2, 2022
@EvergreenTree97
Copy link
Contributor Author

메모리 할당 알고리즘 First fit, Next fit, Best fit 결과

First fit : 메모리의 처음부터 검사해서 크기가 충분한 첫번째 메모리에 할당
Next fit : 마지막으로 참조한 메모리 공간에서부터 탐색을 시작해 공간을 찾음
Best fit : 모든 메모리 공간을 검사해서 내부 단편화를 최소화하는 공간에 할당

@EvergreenTree97
Copy link
Contributor Author

페이지 교체 알고리즘에 따른 페이지 폴트 방식

OPT : 최적 교체. 앞으로 가장 오랫동안 사용하지 않을 페이지 교체 (실현 가능성 희박)

FIFO : 메모리가 할당된 순서대로 페이지를 교체

LRU : 최근에 가장 오랫동안 사용하지 않은 페이지를 교체

LFU : 사용 빈도가 가장 적은 페이지를 교체

NUR : 최근에 사용하지 않은 페이지를 교체

@EvergreenTree97
Copy link
Contributor Author

외부 단편화와 내부 단편화란?

외부 단편화 : 작업보다 많은 공간이 있더라도 실제로 그 작업을 받아들일 수 없는 경우 (메모리 배치에 따라 발생하는 문제)

내부 단편화 : 작업에 필요한 공간보다 많은 공간을 할당받음으로써 발생하는 내부의 사용 불가능한 공간

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant