본문 바로가기
방통대/운영체제

메모리 관리

by 녹녹1 2025. 4. 6.

1. 프로세스와 메모리

⚒️프로세스의 동작

프로그램 카운터(PC)를 참조하여 수행될 명령을 메모리에서 읽어 CPU로 수행하는 것

 

⚒️ 기억장치 계층구조

: 적절한 비용으로 높은 성능을 내고싶기 위해 계층구조가 등장함

 

추가적인 공간이 필요할 경우 -> 보조 기억장치 사용

더 빠른 속도가 필요할 경우 -> 레지스터/캐시 메모리 사용

 

⚒️ 메모리 관리

- 메모리 호출 : 언제 새로운 프로세스를 메모리에 둘 것인가?

- 메모리 배치 : 다음에 실행될 프로세스를 메모리 내의 어느 곳에 둘 것인가?

- 메모리 교체 : 메모리가 꽉 찬 상태에서 새로운 프로세스를 메모리에 적재해야한다면 어떤 프로세스를 제거할 것인가?

- 그 외 : 고정/동적 분할, 고정/유동 적재영역 등

 

2. 단일 프로그래밍 환경

⚒️ 단일 프로그래밍

(현재는 거의X 초창기 시스템)

- 하나의 프로세스만 메모리를 전용으로 사용하는 것

- 프로세스는 하나의 연속된 블록으로 메모리에 할당(연속 메모리 할당방식)

 

⚒️ 단일 프로그래밍의 문제점

- 메모리의 용량을 초과하는 프로세스는 실행 못함

- 메모리 낭비 심함 

  - 지속적으로 사용되지 않는 프로세스도 메모리에 계속 적재

- 주변장치 등 자원의 낭비 심함

 

3. 다중 프로그래밍 환경

⚒️ 다중 프로그래밍

- 여러 개의 프로세스가 메모리에 동시에 적재되는 것

- CPU 연산과 입출력을 동시에 함으로써 CPU 이용도와 시스템 처리량 증가

 

⚒️ 메모리 분할

- 여러 프로세스를 메모리에 적재하기 위해 고안된 방법

- 하나의 분할하나의 프로세스가 적재되는 방식(초기 버전의 다중 프로그래밍 방식)

- 종류: 고정 분할, 동적 분할

 

⚒️ 고정 분할

- 메모리를 여러 개의 고정된 크기의 영역으로 분할

- 효율성 낮음

- 문제점 : 내부 단편화

  : 프로세스의 크기가 적재된 분할영역의 크기보다 작아서 분할영역 내에 남게 되는 메모리 발생

내부 단편화

⚒️ 동적 분할

- 메모리의 분할경계가 고정되지 않음

- 각 프로세스에 필요한 만큼의 메모리만 할당

- 문제점 : 외부 단편화

  : 메모리의 할당과 반환이 반복됨에 따라 작은 크기의 공백이 메모리 공간에 흩어져 생김

외부 단편화

- 해결 방법 : 통합, 집약

 

1) 통합

- 인접된 공백을 더 큰 하나의 공백으로 만들어 외부 단편화 해결

 

2) 집약

- 메모리 내의 모든 공백을 하나로 모아 외부 단편화 해결

  -> 기존 배치되어있던 프로세스들을 빈틈없이 재배치

 

'방통대 > 운영체제' 카테고리의 다른 글

프로세스와 쓰레드(2강)  (1) 2025.03.09
운영체제 소개 (1강)  (2) 2025.03.02

댓글