이론적인 fork() 프로세스는 기본적으로 자원을 공유하지 않는다 → 부모 프로세스가 적재된 별도의 공간에 자식 프로세스가 통째로 복제되어 적재 단점: 프로세스 생성 시간 지연, 메모리 낭비 → 이를 해결하는 쓰기 시 복사(copy on write) 1. 쓰기 시 복사 부모 프로세스와 동일한 자식 프로세스가 복제되어 생성되면, 자식 프로세스는 부모 프로세스와 동일한 프레임을 가리킴(쓰기 작업 없다면 이 상태 유지 부모 프로세스/자식 프로세스 둘 중 하나가 페이지에 쓰기 작업 수행 시 해당 페이지는 별도의 공간으로 복제 → 프로세스 생성 시간 절약, 메모리 절약 2번 페이지만 별도 공간 사용함 2. 계층적 페이징 페이지 테이블을 페이징하여 여러 단계의 페이지 페이지를 두는 방식 페이지 테이블을 여러 페이지..
페이지 테이블
연속 메모리 할당의 두 가지 문제점 외부 단편화 물리 메모리보다 큰 프로세스 실행 불가 가상 메모리 실행하고자 하는 프로그램을 일부만 메모리에 적재하여, 실제 물리 메모리 크기보다 더 큰 프로세스를 실행할 수 있게 하는 기술 페이징, 세그멘테이션 1. 페이징이란 외부 단편화가 발생했던 근본적인 문제? 각기 다른 크기의 프로세스가 메모리에 연속적으로 할당되었기 때문 그러면, 프로세스를 일정 크기로 자르고, 이를 메모리에 불연속적으로 할당할 수 있다면 어떨까? → 외부 단편화는 발생하지 않겠죠! 페이징: paging 프로세스의 논리 주소 공간을 페이지(page)라는 일정 단위로 자르고, 메모리의 물리 주소 공간을 프레임(frame)이라는 페이지와 동일한 일정한 단위로 자른 뒤 페이지를 프레임에 할당하는 가상..