학습목표
1. 프로세스와 메모리의 관계를 설명할 수 있다.
2. 기억장치 계층구조의 의미를 설명할 수 있다.
3. 다중 프로그래밍의 의미에 대하여 설명할 수 있다
4. 고정 분할과 동적 분할을 설명할 수 있다.
5. 메모리 배치 기법을 이해하고 적용할 수 있다.
주요용어
기억장치 계층구조, 연속 메모리 할당, 다중프로그래밍, 단편화, fragmentation, 통합, 집약
6.1 프로세스와 메모리
프로세스의 동작
- 프로그램 카운터를 참조하여 메모리로부터 수행될
명령을 읽어 CPU의 해당 명령을 수행
기억장치 계층 구조
- 적절한 비용으로 높은 성능을 낼 수 있도록
계층적으로 구성
비용 : CPU < 캐시 < 메로리 < 보조 기억장치
메모리 관리
> 메모리 호출
- 언제 새로운 프로세스를 메모리에 둘 것인가?
> 메모리 배치
- 실행될 프로세스를 메모리 내의 어느 곳에 둘 것인가?
>메모리 교체
- 메모리가 꽉찬 상태에서 새로운 프로세스를 적재해야 한다면 어떤 프로세스를 제거할 것인가?
> 그 외
- 메모리를 고정 분할할 것인가 동적 분할할 것인가?
- 프로세스의 적재 영역이 고정적인가 유동적인가?
6.2 단일 프로그래밍 환경
초기 시스템
- 오직 하나의 프로세스만 메모리를 전용으로 사용
- 프로세스는 하나의 연속된 블록으로 메모리에 할당
( 연속 메모리 할당 )
문제점
- 메모리 용향을 초과하는 프로세스는 실행 불가
- 메모리 낭비
: 당장 사용되지 않는 프로세스의 영역도 계속 적재
- 자원의 낭비
6.3 다중 프로그래밍 환경
다중 프로그래밍(멀티프로그래밍)
- CPU 연산과 입출력을 동시에 함으로써
CPU 이용도와 시스템 처리량 증가
- 여러 개의 프로세스가 메모리에 동시에 적대되는 것
6.3.1 메모리 분할
- 여러 프로세스를 메모리에 적재하기 위하여 고안된 방법
- 하나의 분할에 하나의 프로세스가 적재
- 두가지 방식 : 고정 분할, 동적 분할
(1) 고정 분할
- 메모리를 여러 개의 고정된 크기의 영역으로 분할
- 프로세스 배치 방법 1
* 분할 영역마다 큐를 두고 큐에 들어온 프로세스는 해당 분할 영역에만 적재
* 절대 번역 및 적재
* 효율성 낮음 (작업이 한쪽으로 집중될수 있음)
**절대 번역 : 내부적으로 사용하는 주소의 주소값을 고정
- 프로세스 배치 방법 2
* 하나의 큐만 두고 큐에 들어온 프로세스는 어느 분할 영역에든 적재
* 재배치 가능 번역 및 적재
* 복잡함
- 문제점
: 프로세스의 크기가 적재된 분할 영역의 크기보다 작아서 분할 영역 내에 남게 되는 메모리는 낭비됨
( 분할 3 (100MB) 에 85MB 크기의 프로세스가 작업하게되면 남는 부분(15MB), 내부단편화 발생
** 프로세스의 크기를 미리 알고 그에 맞춰 고정 분할을 해야함
*** 현실적이지 못함
'방송통신대학 > 운영체제' 카테고리의 다른 글
가상메모리 (0) | 2020.07.07 |
---|---|
메모리 분할, 동적 분할 (0) | 2020.07.06 |
교착상태 회피 알고리즘 (0) | 2020.07.02 |
교착상태 방지 (0) | 2020.07.01 |
교착상태 deadlock, 자원할당 (2) | 2020.06.30 |