본문 바로가기

Contact English

【운영체제】 총론 3강. 주기억장치 관리

 

총론 3강. 주기억장치 관리

 

추천글 : 【운영체제】 운영체제 목차  


1. 기억장치 계층 구조 [본문]

2. 주기억장치 할당 방법 [본문]

3. 페이지 교체 [본문]

4. 연관기억장치 [본문]


 

1. 기억장치 계층 구조 [목차]

⑴ 상위 - 레지스터 - 캐시 기억장치 - 주기억장치 - 보조기억장치 - 하위

⑵ 상위 기억장치일수록 접근 시간이 빠르고, 기억 용량이 작으며 고가임

⑶ 주기억장치는 주소를 이용하여 액세스 할 수 있음

⑷ 보조기억장치에 있는 데이터는 주기억장치에 적재된 후에야 CPU에 의해 액세스될 수 있음

 

 

2. 주기억장치 할당 방법 : 기억장치 배치 전략 [목차]

⑴ 연속할당기법 : 프로그램을 주기억장치에 연속으로 할당하는 기법    

① 단일분할할당기법 : 주기억장치 내에 1개의 프로그램을 적재하는 방법

○ 가장 단순한 기법으로 초기의 운영체제에서 사용하던 기법

○ 오버레이 기법 : 하나의 프로그램을 여러 조각으로 분할·적재하는 기법

○ 스워핑 기법 : 하나의 프로그램을 다른 프로그램으로 교체하는 기법

② 다중분할할당기법 : 고정분할할당기법(MFT), 가변분할할당기법(MVT)으로 분류

⑵ 분산할당기법 : 프로그램을 주기억장치 내에 분산하여 할당하는 기법, 오버레이의 확장, 가상기억장치에서 사용

① 가상기억장치 : 보조기억장치의 일부를 주기억장치처럼 사용하는 것

② 페이징 기법 : 프로그램을 동일한 크기로 나눈 단위(페이지)를 블록으로 사용하는 기법

○ 특징 : 외부 단편화는 발생하지 않으나 내부 단편화는 발생할 수 있음

○ 페이징 기법의 주소 변환

○ 가상주소 형식 : 페이지 번호(p) - 변위값(d)

○ 페이지 맵 테이블(FMT) : 페이지 번호(p) - 페이지 프레임 번호(p') - 상태 비트

○ 실기억주소 형식 : 페이지 프레임 번호(p') - 변위값(d)

③ 세그멘테이션 기법 : 프로그램을 가변적인 크기로 나눈 단위(세그먼트)를 블록으로 사용하는 기법

○ 특징

○ 기억장치의 사용자 관점 : 프로그램 작성 시 내용으로 구분한 영역 단위를 교체 단위로 사용

○ 기억장치 보호 키 : 세그먼트가 다른 세그먼트의 영역을 침범하지 않도록 하는 것

○ 각 세그먼트는 고유한 이름과 크기를 가짐

○ 세그멘테이션 기법의 주소 변환

○ 가상주소 형식 : 세그먼트 번호(s) - 변위값(d)

○ 세그먼트 맵 테이블(SMT) : 세그먼트 번호(s) - 세그먼트 크기(L) - 기준번지(d)

○ 실기억주소 = 세그먼트 기준번지(d1) + 변위값(d2)

⑶ 단편화(Fragmentation)

① 내부 단편화(Internal Fragmentation) : 분할영역이 프로그램의 크기보다 커서 사용되지 않고 남은 빈 공간

② 외부 단편화(External Fragmentation) : 분할영역이 프로그램의 크기보다 작아서 할당되지 않은 전체 영역

③ 단편화 해결 기법 : 통합 기법(인접한 단편화들을 통합), 압축 기법(단편화된 공간을 한쪽 끝으로 옮김)

 

 

3. 페이지 교체 : 기억장치 교체전략 [목차]

⑴ 페이지 부재(Page Fault)가 발생했을 때 어떤 페이지 프레임을 선택하여 교체할 것인지 결정하는 기법

⑵ 알고리즘 : OPT, FIFO, LRU, LFU, NUR, SCR

⑶ 페이지 크기↑ : 페이지 부재율↑, 페이지 단편화 ↓, 입·출력 효율 ↑, FMT 크기 ↓, 불필요한 내용까지도 포함

⑷ 페이지 프레임 수↑ : PFF↑

① Belady의 모순 현상 : FIFO 페이지 교체 알고리즘에서 페이지 프레임 수를 증가할 때 PFF가 증가하는 현상

⑸ 주기억장치 관리

① 지역성 : 프로세스가 실행되는 동안 주기억장치가 일부 페이지만 집중적으로 참조한다는 이론

○ 시간구역성 : 루프, 스택, 부 프로그램, 카운팅, 집계

○ 공간구역성 : 배열, 순차적 코드, 변수

② 워킹 셋 : 프로세스가 일정 시간 동안 자주 참조하는 페이지들의 집합

③ 페이지 부재 빈도(PFF, Page Fault Frequency) : 페이지 프레임 수의 상한선, 하한선이 존재

④ 프리페이징(Prepaging) : 처음의 과도한 페이지 부재를 방지하기 위해 한꺼번에 페이지를 적재하는 기법

⑤ 스래싱(Thrashing)

○ 다중 프로그래밍 정도가 높아지면서 프로세스의 처리 시간보다 페이지 교체 시간이 더 많아지는 현상

○ 다중 프로그래밍 정도가 높아지면서 CPU 이용률이 높아지다가 PFF 급증에 따라 CPU 이용률이 급감

 

 

4. 연관기억장치 [목차]

⑴ 연관기억장치(Associative Memory) : CAM(Content Addressable Memory)이라고도 함

① 기억된 내용의 일부를 이용하여 자료에 접근할 수 있는 장치

② 정보 검색이 신속하지만 병렬 판독 논리회로를 갖고 있어 하드웨어 비용이 증가

③ Mapping Table을 사용

⑵ 캐시 메모리

① CPU와 주기억장치 사이에 위치한 연관기억장치로 SRAM으로 만들어짐

② 램과 디스크 사이에 생성된 임시 메모리로서 (상대적으로 느린) 디스크 대비 데이터를 빠르게 읽을 수 있게 함

캐시의 분류

○ 레벨1(L1) 캐시 : 마이크로 프로세서 구조 안에 있는 캐시

○ 레빌2(L2) 캐시 : 마이크로 프로세서 구조 밖에 있는 캐시

 

입력: 2017.08.13 09:13

수정: 2024.01.12 13:58