페이징

· 🛠️ OS
이론적인 fork() 프로세스는 기본적으로 자원을 공유하지 않는다 → 부모 프로세스가 적재된 별도의 공간에 자식 프로세스가 통째로 복제되어 적재 단점: 프로세스 생성 시간 지연, 메모리 낭비 → 이를 해결하는 쓰기 시 복사(copy on write) 1. 쓰기 시 복사 부모 프로세스와 동일한 자식 프로세스가 복제되어 생성되면, 자식 프로세스는 부모 프로세스와 동일한 프레임을 가리킴(쓰기 작업 없다면 이 상태 유지 부모 프로세스/자식 프로세스 둘 중 하나가 페이지에 쓰기 작업 수행 시 해당 페이지는 별도의 공간으로 복제 → 프로세스 생성 시간 절약, 메모리 절약 2번 페이지만 별도 공간 사용함 2. 계층적 페이징 페이지 테이블을 페이징하여 여러 단계의 페이지 페이지를 두는 방식 페이지 테이블을 여러 페이지..
· 🛠️ OS
연속 메모리 할당의 두 가지 문제점 외부 단편화 물리 메모리보다 큰 프로세스 실행 불가 가상 메모리 실행하고자 하는 프로그램을 일부만 메모리에 적재하여, 실제 물리 메모리 크기보다 더 큰 프로세스를 실행할 수 있게 하는 기술 페이징, 세그멘테이션 1. 페이징이란 외부 단편화가 발생했던 근본적인 문제? 각기 다른 크기의 프로세스가 메모리에 연속적으로 할당되었기 때문 그러면, 프로세스를 일정 크기로 자르고, 이를 메모리에 불연속적으로 할당할 수 있다면 어떨까? → 외부 단편화는 발생하지 않겠죠! 페이징: paging 프로세스의 논리 주소 공간을 페이지(page)라는 일정 단위로 자르고, 메모리의 물리 주소 공간을 프레임(frame)이라는 페이지와 동일한 일정한 단위로 자른 뒤 페이지를 프레임에 할당하는 가상..
· 🛠️ OS
연속 메모리 할당: 프로세스에 연속적인 메모리 공간을 할당 1. 스와핑 현재 사용되지 않는 프로세스들을 보조기억장치의 일부 영역으로 쫓아내고, 그렇게 생긴 빈 공간에 새 프로세스 적재 프로세스들이 요구하는 메모리 공간 크기가 실제 메모리 크기보다 큰 경우에도 프로세스들을 동시에 실행시킬 수 있음 스왑 영역의 크기 확인하는 명령어: free, top 2. 메모리 할당 프로세스는 메모리의 빈 공간에 할당되어야 한다.. 빈 공간이 여러 개 있다면? 어떤 방식으로 할당하느냐에 따라 다른 세 가지의 할당 방식: 최초 적합, 최적 적합, 최악 적합 최초 적합: first fit 운영체제가 메모리 내의 빈 공간을 순서대로 검색하다 적재할 수 있는 공간을 발견하면 그 공간에 프로세스를 배치하는 방식 검색 최소화, 빠른..
JINiOS
'페이징' 태그의 글 목록