(정처산기)응용 SW 기초 응용 활용

기억 장치(1)

mynote6676 2025. 4. 13. 18:35

기억장치(Momory)의 계층 구조

 

컴퓨터 시스템의 기억장치는 디스크나 테이프 같은 보조 기억장치와 주 기억 장치 그리고 캐시 기억 장치 및  CPU

레지스터들이 계층적으로 구성되어 있다.

 

 

-대체로 하위 계층의 보조 기억장치는 사위 기억장치 보다 싸지만 용량이 크다.

-데이터 프로그램은 보조기억 장치에 저장되며, 실행되기 위해서는 주기억 장치로 적재되어야 한다.

-자주 쓰이는 프로그램이나 데이터는 cpu에서 접근이 빠른 고속 및 고가의 주기억 장치나 캐시 기억 장치에 배치한다.

-레지스터는 cpu내에 있는 고속의 기억장치로 cpu 동작에 필요한 내용을 기억한다.

 

 

가상 기억 장치 (Virtual Memory)

 

-주 기억 장치보다 더 큰용량을 실행시키기 위해서 보조 기억 장치 일부를 주기억 장치처럼 사용하는 개념

-컴퓨터 시스템의 주기억 장치 용량보다 더 큰용량을  주소롤 지정할 수 있도록 해준다.

-다중 프로그래밍의 효울을 높여준다.

-프로그램 실행시 주소 변환 작업이 필요하다.

-페이징(Paging) 과 세그먼테이션(Segmentation)기법을 이요여하여 가상 기억장치를 구현할 수 있다.

 

1)페이징(Paging)기법

 

개념

-사용자의 논리적 주소 공간과 컴퓨터 시스템의 물리적 기장장소가 같은 크기의 페이지 단위로 나뉘며 , 사용자 프로그램은 페이지 단위로 임의의 빈 페이지 프레임에 적재될 수 있다.

-외부 단편화 X 내부 단편화  可 O

-페이지의 위치정보를 가지고 있는 페이지 맵 테이블이 必要

 

페이지 크기

-가상 기억 장치에서 페이지 크기는 고정되는데, 이러한 크기를 결정하기 위해서는 기억 장치효용도와 페이지 이동 효횽도등의 사항이 고려됨

-페이지 小 동일한크기의 프로그램에 더 많은 수의 페이지가 필요하게 되어  주소 변환에 필요한 페이지 맵 테이블 공간 많이 요구됨

페이지 크기 太 경우 페잊 단편화로 인해 많은 기억공간을 낭비하게 되지만 맵 테이블 크기는 줄어듬

 

2)세그먼테이션 기법(Segmentation)기법

개념

-메모리를 효율적으로 관리하기 위해 세그먼테이션한다.

-프로그램 크기만큼으로 분할하여 주기억 장치에 저장 처리하는 기법이다.

-각 프로그램에 대한 보호는 기옥 장치 보호키를 이용

특징

-할당하는 단위가 일정하지 않고 가변적일 때 , 세크먼트 단위로 흩어서 적재할 수 있다.

-내부 단편화X  외부 단편화 可 O

 

기억 장치 할당

 

-프로그램이나 데이터를 실행하기 위해 주기억 장치에 어떻게 할당할 것인지에 대해 결정하는 기법이다.

- 연속할당 기법과 분산 할당 기법으로 분류

 

1) 연속 할당

-사용자 프로세스의 요구 공간을 주기억 장치의 연속된 영역에 할당해주는 기법으로 단일 프로그래밍 시스템과 다중 프로그래밍 시스템을 위한 기법으로 구분할 수 있다.

-새로운 파일을 생성할 때 그 파일 크기보다 큰 연속된 기억공간이 없으면 파일을 생성할 수 없다

- 파일의 디렉터리를 구현하기가 수월

-외부 단편화 발생

1. 단일 분화

가장 단순한 기법, 초기의 운영체제에서 많이 사용하던 기법

주기억 장치를 운영체제 영여과 사용자 영역으로 나누어 한 명의 사용자만 사용자 영역을 사용하도록 하는 기법

2.고정 분할

다중 프로그래밍을 위해 주기억 장치를 몇 개의 고정된 개수와  크기의 부분으로 분할하여 , 여러 개의 사용자 프로그램이 동시에 적재되어 실행하게 하는 방법

3. 동적 분할(가변 분할)

고정 분할 기법과는 달리 각 프로세스의 요구량에 따라 동적으로 필요한 만큼의 개수와 크기와 분할 공간을 생성 할 수 있 다.

4.단편화(Fragmentation) 

단편화란 주기억 장치의 연속된 영역을 할당할 경우에 사용되지 않고 낭비되는 부분적인 기억 공간을 말한다.

주기억장치에서 빈번하게 기억장소가 할당되고 반납됨에 따라 기억장소들이 조각들로 나누어지는 현상을 말함.

내부 단편화 분할된 영역이 할당된 프로그램의 크기보다 커서 프로그램이 할당된 후 남아 있는 빈 공간
외부 단편화 분할된 영역이 할당될 프로그램의 크기보다 작아서 프로그램이 할당되지 못해 사용되지 못하는 공간

 

단편화 계산

영역 분할크기K 작업 크기K 내부 단편화K  외부 단편화K
A 20 10 10 -
B 50 60 - 50
C 120 10 110 -
D 200 100 100 -
E 300 90 210 -
합계 430K 50K

 

단편화 발생

고정 분할 내부 단편화 및 외부 단편화 발생
가변 분할 내부 단편화는 발생하지 않지만 외부 단편화 발생

 

단변화의 문제 해결 방안

집약(Compaction) 서로 떨어진 여러 개의 공백을 모아서 하나의 큰 기억 공간을  만드는 과정
통합(Coalecing) 인접한 공백들을 더 큰 하나의  공백으로 합하는 과정