기억장치(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) | 인접한 공백들을 더 큰 하나의 공백으로 합하는 과정 |
'(정처산기)응용 SW 기초 응용 활용' 카테고리의 다른 글
병행 프로세스 (0) | 2025.04.13 |
---|---|
프로세스 개념과 스케줄링(2) (0) | 2025.04.11 |
프로세스의 개념과 스케줄링(1) (0) | 2025.04.11 |
운영체제 종류와 기본 명령어(2) (0) | 2025.04.10 |
운영체제 종류와 기본 명령어(1) (0) | 2025.04.10 |