이 글을 혼자 공부하는 컴퓨터구조 + 운영체제 (한빛미디어) 책을 읽고 혼자 공부한 내용입니다.
잘못 이해한 부분이 있을 수 있고, 문제가 있는 부분 댓글로 알려주시면 수정하겠습니다.
스와핑
프로세스들을 임시로 보조기억장치 일부 영역으로 쫓아내고, 그렇게 해서 생긴 메모리상의 빈 공간에 또 다른 프로세스를 적재하여 실행하는 방식
스왑 영역 프로세스들이 쫓겨나는 보조기억장치의 일부 영역
스왑 아웃 현재 실행되지 ㅇ낳는 프로세스가 메모리에서 스왑 영역으로 옮겨지는 것
스왑 인 스왑 영역에 있던 프로세스가 다시 메모리로 옮겨오는 것
스왑 아웃 되었던 프로세스가 다시 스왑 인될 때는 스왑 아웃 전의 물리 주소와는 다른 주소에 적재될 수 있음

스와핑을 이용하면
프로세스들이 요구하는 메모리 주소 공간의 크기가 실제 메모리 크기보다 큰 경우에도 프로세스들을 동시 실행 가능

검은색 부분이 프로세스를 적재할 수 있는 메모리 영역
메모리 할당
최초 적합
- 운영체제가 메모리 내의 빈 공간을 순서대로 검색하다가 적재할 수 있는 공간을 발견하면 그 공간에 프로세스를 배치하는 방식
- 검색을 최소화, 빠른 할당 가능

최적 적합
운영체제가 빈 공간을 모두 검색해 본 후, 프로세스가 적재될 수 있는 공간 중 가장 작은 공간에 프로세스를 배치하는 방식

최악 적합
운영체제가 빈 공간을 모두 검색해 본 후, 프로세스가 적재될 수 있는 공간 중 가장 큰 공간에 프로세스를 배치하는 방식

외부 단편화
프로세스를 할당하기 어려울 만큼 작은 메모리 공간들로 인해 메모리가 낭비되는 현상
프로세스들이 메모리에 연속적으로 할당되는 환경에서 프로세스들이 실행, 종료를 반복하며 메모리 사이사이에 빈 공간이 생김
프로세스 바깥에 생기는 이러한 빈 공간들은 분명 빈 공간이지만 그 공간보다 큰 프로세스를 적재하기 어려운 상황을 초래하고, 결국 메모리 낭비로 이어짐
외부 단편화를 해결하는 대표적인 방법 "압축"
- 메모리 조각 모음
- 여기저기 흩어져 있는 빈 공간들을 하나로 모으는 방식
- 프로세스를 적당히 재배치시켜 여기저기 흩어져 있는 작은 빈 공간들을 하나의 큰 빈공간으로 만드는 방법
- 하지만 이 과정을 거치는 동안 시스템은 하던 일을 중지해야 하고, 이건 오버헤드를 야기함
'CS > 운영체제' 카테고리의 다른 글
[운영체제] 14-3 페이지 교체와 프레임 할당 (0) | 2024.08.29 |
---|---|
[운영체제] 14-2 페이징을 통한 가상 메모리 관리 (6) | 2024.08.28 |
[운영체제] 13-2 교착 상태 해결 방법 (0) | 2024.08.26 |
[운영체제] 13-1 교착 상태란 (0) | 2024.08.25 |
[운영체제] 12-2 동기화 기법 (0) | 2024.08.24 |