Download presentation
Presentation is loading. Please wait.
1
과 목 명 : 운영체제 담당교수 : 박 승 기 학 과 : 컴퓨터 소프트웨어 학 번 : 200812095 이 름 : 최 현 식
Chapter 07 주기억 장치관리 과 목 명 : 운영체제 담당교수 : 박 승 기 학 과 : 컴퓨터 소프트웨어 학 번 : 이 름 : 최 현 식
2
기억장치의 계층 구조 기억장치는 CPU가 어떤 작업을 실행시키기 위해 일련의 프로그램 또는 데이터를 일시적으로 저장하기 위한 장치. ←Cache Memory ←Virtual Memory
3
구성과 관리기법 주기억장치의 구성과 정책 -효율적인 주기억장치의 운영을 위해 구성 정책을 결정
주기억장치를 동시에 할당 받을 수 있는 프로세스 수 각 프로세스에게 할당되는 주기억장치의 양 주기억장치 분할 방법 각 프로세스에게 할당된 분할 영역의 교체 가능성 프로세스에게 할당되는 주기억장치 영역의 연속성
4
주기억장치의 구성 주 기억 장치 내에 동시에 몇 명의 사용자를 둘 것인가 - 한 명의 사용자만 둠
- 동시에 여러 명의 사용자 둠 주기억장치의 분할 방법에 따라 2가지로 구분 - 고정 분할 - 가변 분할 사용자의 작업이 수행될 분할 선정 방법에 따라 2가지로 구분 - 지정된 분할에서만 수행 - 수행 가능한 어느 분할도 가능 사용자의 작업이 연속된 분할에 할당되어야 하는가 - 연속된 block에 할당 - 여러 개 block에 할당
5
주기억장치의 관리기법 반입 기법(Fetch Strategy)
주기억장치 구성 정책이 결정된 상태에서 시스템의 성능을 최대로 높이기 위해 사용할 수 있는 주기억장치 관리 기법은 반입기법, 배치기법, 교체기법, 할당 기법이 있다. ⇒ 특정 시스템에 어떤 기억장치 구성을 채택하느냐에 관계없이, 최적의 효율을 얻기 위해서 어떤 전략을 사용해야 할 것인가를 결정해야 한다. 반입 기법(Fetch Strategy) 주기억장치에 넣을 다음 프로그램 또는 자료를 “언제 가져올 것인가” 하는 문제이다. 요구 반입 전략(Demand fetch) -필요로 할 때 적재(load)하는 방법으로 overhead(부담)의 최소화가 가능하나 대기 시 간 문제가 발생 할 수 있다. 즉 추가로 어떤 페이지를 적재할 때 이미 적재되어 있는 많 은 페이지들이 대기할 수 있다. 예상 반입 전략(Anticipatory fetch) -미리 적재해 놓는 방법으로 막대한 overhead를 초래할 수 있다. 배치 기법(Placement Strategy) -주기억장치에 자유 공간이 여러 군데 있을 경우 새로 반입될 프로그램을 “어디에 적재 할 것인가”하는 문제이다. 종류로는 최초 적합, 최적 적합, 최악 적합 등이 있다.
6
주기억장치의 할당 방식 초기의 단일 사용자 시스템은 연속적으로 기억정치를 할당 하였으나
가변분할 다중 프로그래밍기법이 나온 뒤 여러 단편화를 효율적으로 사용하기 위해 불연속 기억장치 할당을 사용한다. 연속 할당 방법 -실행될 프로그램 전체를 연속적인 주기억장치의 장소에 할당시켜 실행하 는 방법 = 주기억장치의 낭비 불연속 할당 방법 -실행될 프로그램과 주기억 장소를 일정한 크기의 페이지와 같은 논리적 크 기로 나눈 후 실행될 페이지 또는 세그먼트 단위의 프로그램만 여러 주기 억장치에 분산 할당하여 실행 하는 방법.
7
단일 프로그래밍 시스템 주기억장치 전체가 한 작업(프로그램)에 배정되므로 메모리의 낭비가 많고 한 작업이 끝나야 다음 작업이 수행되므로 보호 장치가 필요 없고 multi programming이 아니다. 만일 보조 기억 장치에 있는 프로그램의 크기가 주기억장치의 크기보다 클 경우 한꺼번에 모두 적재할 수 없으므로 부분적으로 가져가서 수행할 수 있는데 이를 overlay라 한다. 장단점 장점 : 단순하며 이해하기 쉽다. 단점 : -기억장치의 빈 공간을 이용하지 못하기 때문에 기억장치의 낭비 -한 사용자만이 기억장치로 전용하므로 자원낭비가 심하다 -입출력 시 CPU는 유휴상태 - 사용하지 않는 프로그램이 기억장치 내에 위치 문제점 주기억장치에 적재될 프로그램이 주기억장치보다 클 경우 문제 발생 -중첩 구조(overlay Structure) 기법을 사용하여 해결 커널을 보호하는 기법이 필요 하다. -경계 레지스터(Boundary Register)을 사용하여 해결
8
분할 다중 프로그래밍 시스템 고정 분할 다중 프로그래밍 시스템 단일 프로그래밍 시스템의 단점을 보완한 것
CPU의 활용도를 높이기 위해 주기억장치에 고정된 크기의 영역을 사전에 분할하여 프로그램들을 주기억장치에 동시에 같이 적재 시키는 방법이다. 각 영역(Partition)에서는 하나의 프로그램만 적재가 가능하며 하나의 프로그램이 2개 이상의 영역을 사용하지 못 한다. 각 프로세스는 주기억장치를 연속적으로 할당 받게 된다. 구현방법 : 절대번역과 로딩과 재배치 가능 번역과 로딩 방법 사용
9
분할 다중 프로그래밍 시스템 고정 분할 다중프로그래밍 시스템의 장단점 장점 -주기억장치의 관리가 용이하고, 오버헤드가 적다.
-다중 프로그래밍이 가능하므로 CPU를 보다 효율적으로 사용. 단점(문제점) -커널과 다른 프로세스에게 할당된 분할 영역들에 대한 보호가 필요 해결책 : 경계 레지스터 사용 -단편화(Fragment) 문제 발생(주기억장치의 낭비가 크다) 한 영역에서 한 작업이 차지하고 남은 영역은 사용할 수 없는데 이 부분을 internal fragmentation이라 한다 한 영역보다 프로그램이 커서 할당 자체를 할 수 없어 영역전체가 낭비되면 이를 external fragmentation이라 한다. 해결책 : 가변 분할 다중프로그래밍 기법 출현
Similar presentations