-
Notifications
You must be signed in to change notification settings - Fork 4
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
Q6) Memory Fragmentation and its solutions: Paging and Segmentation (Interview Question in OS) #14
Comments
즉석) 페이징: 물리적 메모리를 프레임 단위로 나누고 같은 사이즈만큼 논리적 메모리를 페이지로 나누어서 페이지를 프레임의 올리는 방식을 말합니다. 페이지를 아주 작은 단위로 나누기 때문에 위의 문제점들이 나타나지 않습니다. 세그먼테이션: 페이징처럼 메모리를 물리적 단위로 나누는 것이 아니라 논리적 단위(아마도 코드, 데이터, 스택영역과 같은)로 나누는 방식을 의미합니다. |
😈 메모리 단편화 (Memory Fragmentation)내부 단편화는 내부 조각을 뜻합니다. 하지만 내부 조각이 발생하는 현상을 지칭하는데 사용되기도 하는 것 같습니다. (same with 외부 단편화) 내부 단편화 (Internal Fragmentation)내부 단편화란 프로세스에게 할당된 메모리에서 사용되지 않고 남는 공간을 뜻합니다. 외부 단편화 (External Fragmentation)외부 단편화란 메모리가 할당되고 해제되는 반복된 작업으로 프로세스 사이 사이에 남는 공간을 뜻합니다. 😈 메모리 단편화 해결방법페이징 (Paging)페이징은 물리 메모리와 논리 메모리를 각각 프레임(Frame)과 페이지(Page)라는 동일한 크기로 나눈 후 페이지를 프레임에 매핑하는 기법입니다.
세그먼테이션 (Segmentation)세그먼테이션은 프로세스를 서로 다른 크기의 논리적 내용의 단위인 세그먼트(segment), 즉 프로세스의 코드, 데이터, 스택 등의 기능 단위 또는 의미 단위로 나눈 후 물리 메모리에 할당하는 기법입니다.
보너스👉 👉🏻 👉🏼 👉🏽 👉🏾 👉🏿 가상 메모리와 요구 페이징은 무엇인가요? |
가상 메모리프로그램 실행에 필요한 메모리 용량 전체를 물리 메모리인 RAM에서 할당받는 것이 아니라 최소한의 메모리만 RAM에서 할당받고 나머지는 논리 메모리인 HDD에 저장하는 것을 가상 메모리라 합니다. 가상 메모리는 프로그램이 물리 메모리보다 커져도 되며 더 많은 프로그램을 동시에 수행할 수 있다는 장점이 있습니다. 요구 페이징프로그램이 필요로 하는 페이지가 물리 메모리에 없을 경우를 페이지 폴트라 하는데, 페이지 폴트가 발생하면 운영 체제는 가상 메모리에서 해당 페이지를 찾아 물리 메모리의 불필요한 페이지와의 교체를 요구합니다. 요구 페이징이 발생할 때 교체할 물리 페이지를 선정하는 페이지 교체 알고리즘은 다음과 같습니다.
|
메모리의 단편화(Memory Fragmentation) 란 RAM에서 메모리의 빈 공간 또는 자료가 여러 개의 조각으로 나뉘어 수치상으로는 사용 가능한 메모리가 충분함에도 할당이 불가능한 상태를 말합니다.
여기서 질문 😈
👉 👉🏻 👉🏼 👉🏽 👉🏾 👉🏿 메모리의 단편화 중 내부 단편화 (Internal Fragmentation) 와 외부 단편화 (External Fragmentation) 는 무엇인가요?
👉 👉🏻 👉🏼 👉🏽 👉🏾 👉🏿 또한, 단편화를 해결하기 위한 방법으로 페이징(Paging) 과 세그먼테이션(Segmentation) 에 대해 설명해 주세요.
The text was updated successfully, but these errors were encountered: