5조의 2장 '초기 시스템의 기억장치 관리' 강의.
전체 시스템의 성능은 얼마나 많은 기억장치의 사용이 가능한지, 작업을 처리하는동 안 어떻게 사용을 최적화 할 것인지에 따라 달려있다.
2장에서는 기억장치 관리자와 예전에 쓰였던 4가지 유형의 기억 장치 할당 기법을 배우며, 이러한 초기의 기억장치 관리 기법은 오늘날의 운영체제에서는 드물게 사용되지만 기본 개념을 알 수 있기 때문에 연구하는 것이 중요하다.
2.1 단일 사용자 연속 할당 기법
초기의 기억장치 할당 기법은, '연속적인' 기억장치 공간을 할당받아 '전체'가 기억장치에 적재되었다.
컴퓨터의 기억장치 용량이 프로그램보다 작다면 용량을 증설하거나, 프로그램을 더 작게 수정하거나 여러 세그먼트(조각)으로 나누어 오버레이가 될 수 있도록 수정하는것이 일반적이다.
단일 사용자 시스템(single-user-system)도 같은 방법으로 동작한다. 각 작업들은 하나씩 처리되며, 기억장치를 할당하기 위해 간단한 알고리즘을 사용한다. 알고리즘의 코드와 논리가 매우 단순하므로, 기준주소(base address)를 저장하는 레지스터와 프로그램의 크기를 추적하기 위한 누산기만이 필요하다.
하지만 이 할당기법은 다중프로그래밍을 지원하지 않으므로, 한번에 하나의 작업만을 지원한다. 사실상, 단일 '작업' 시스템이라 할 수 있다.
그러므로 1950년대 말~1960년대 초에는 기억장치를 관리하기 위한 새로운 기법이 필요해졌다.
2.2 고정분할 기법
다중프로그래밍을 지원하기 위한 첫 시도로서, 주기억장치를 고정분할(fixed partition) 하는 것 이다. 각 작업에 하나의 분할이 할당되었으며, 각 분할의 크기를 조정하기 위해선 시스템을 끄고 조정한 뒤 다시 시작해야 했다. 그러므로, 분할의 크기는 시스템이 작동하는 동안에는 유지되었다.
각 작업의 기억장치 공간을 보호하기 위해, 운영체제와 컴퓨터 하드웨어가 같이 기억장치 보호를 해야만 했다.
여러 프로그램이 동시에 기억장치에 존재할 수 있어 단일 사용자 기법보다는 더 융통성이 있으나, 이 기법도 프로그램 전체를 연속적인 기억장치에 저장해야했다. 이러한 기법은 모든 작업의 크기가 동일하거나 작업의 크기를 미리 알 수 있고 분할이 변하지 않을 때에는 잘 동작한다. 이상적으로는 몇 시간 전, 며칠 전, 몇주 전에 실행될 프로그램의 크기를 미리 알 수 있는것이 좋으나, 이는 현실적으로 불가능하다.
고정분할의 부분적인 사용 현상과 그에 따라 분할 내에서 사용되는 공간이 발생하는 현상을 내부 단편화라고 부르며, 이는 고정분할 기억장치 할당 기법의 주요 단점중 하나이다.
2.3 동적분할 기법
동적분할 기법에서도 하나의 작업은 연속적인 기억장치에 할당되어야 하지만, 작업이 요구한 크기만큼의 기억장치만 할당되며, 분할의 수와 크기는 고정되어 있지 않다.
하지만 기억장치의 할당과 회수가 계속될 경우, 할당된 기억장치 사이에 낭비되는 기억장치 공간이 발생하게 된다. 이러한 기억장치 낭비 문제를 외부 단편화(external fragmentation)이라 부른다.
2.4. 최적 적합과 최초 적합
고정분할과 동적분할 기억장치 할당 기법에서 운영체제는 각 기억장소에 대해 가용공간과 사용중인 공간에 대한 리스트를 유지해야 한다. 그러함으로써 새로운 작업이 시스템으로 들어올 때 가용공간을 할당받을 수 있다.
이러한 가용 공간은 최초 적합 기억장소 할당 기법 혹은 최적 적합 기억장치 할당 기법을 기반으로 할당될 수 있다. 최적 적합 할당 기법은 가용/사용중 리스트를 가장 작은 것 부터 정렬하며, 최초 적합 할당 기법은 가용/사용중 리스트를 하위 기억장소부터 상위 기억장소의 위치순으로 구성한다.
최적 적합 할당 기법은 일반적으로 기억장치 공간을 가장 효율적으로 활용한다는 장점이 있고, 최초 적합 할당 기법은 기억장치를 할당할 때 더 빨리 할 수 있다는 장점이 있다.
최적 적합 알고리즘의 문제점 중의 하나는, 기억장소 블록이 크기 순서로 나열되어 있지 않고, 기억장치내의 위치순으로 ㅇ되어있으므로 가용 리스트 전체를 탐색한 후 할당할 수 있다.
PPT에서 고쳐야 할 점:
- 빠져있는 알고리즘 설명부분 보강
- 이미지 자료 모두 넣기
- 단어에 설명과 영어 병기 필수
- 좌하단에 날짜 적기
- 목차 집어넣기
- 2개의 문제를 작성하고 답과 풀이 쓰기.
'일상_이야기 > 대학교_운영체제_강의_수업일지' 카테고리의 다른 글
2023/05/17 '운영체제' 수업 일지 (0) | 2023.05.18 |
---|---|
2023/05/09 '운영체제' 수업 일지 (0) | 2023.05.13 |
2023/03/29 '운영체제' 수업 일지 (0) | 2023.03.30 |
2023/03/22 '운영체제' 수업 일지 (1) | 2023.03.28 |
2023/03/15 '운영체제' 수업 일지 (0) | 2023.03.16 |
댓글