단일 프로그래밍 시스템
시스템 내에 하나의 프로세스만 존재하는 것
문제점
- 프로세스의 크기가 유저 영역보다 클 수 있다. (프로세스를 나누어서 사용)
- 유저 영역에 놀다가 맘대로 커널영역으로 들어갈 수 있다. (경계 레지스터로 판별 가능)
- 자원 낭비가 심하다. (성능 저하)
고정 분할 다중 프로그래밍 (FPM - Fixed Partition Multi-programming)
- 기억장치 할당 중 가장 간단한 방법.
- 기억 장치를 여러 개의 고정된 크기로 분할하는 것.
- 경계 레지스터로 분할된 메모리의 경계를 구분한다.
- 정적 분할 다중 프로그래밍이라고도 한다.
* 결정해야 할 사항
1. 분할 영역의 크기
- 시스템의 부하를 분석하여, 어느 정도의 크기를 가진 영역을 몇 개 선정할 것인가를 결정
2. 영역의 배정
- 프로그램 작업을 어느 영역에 배정하는가에 대한 결정
문제점
- 외부 단편화
- 내부 단편화
가변 분할 다중 프로그래밍 (VPM - Variable Partition Multi-programming)
- 프로세스의 크기만큼 메모리를 분할하여 할당하는 기법
- 내부 단편화가 생기지 않는다.
- 가변 분할 문제는 사용가능 공간으로부터 요구된 크기를 어떻게 만족시켜 줄 수 있느냐 하는 것.
* 기억장소 배치 전략
1. 최초 적격(First-fit) 전략
- 사용 가능 공간 리스트에서 충분히 큰 첫 번째 공백 분할 공간에 할당
2. 최적 적격(Best-fit) 전략
- 충분히 큰 사용 가능 공간들 중에서 가장 작은 크기의 사용 공간을 할당
3. 최악 적격(Worst-fit) 전략
- 가장 큰 사용 가능 공간에 할당
* 속도 - 최초적격이 가장 빠름
* 기억장치 이용률 - 최초적격, 최적 적격이 기억장치 이용률 적음
문제점
- 외부 단편화
'프로그래밍 기초 > 운영체제' 카테고리의 다른 글
메모리 단편화(Memory Fragmentation) (0) | 2017.06.19 |
---|---|
주 기억장치 - 1 (0) | 2017.06.16 |
프로세스 대기와 자원의 분류 (0) | 2017.06.12 |
교착상태(Deadlock) 발생 조건 및 해결 방법 (0) | 2017.06.09 |
프로세스 동기화(Process Synchronization) - 2 (0) | 2017.06.07 |
댓글