어두운 지도를 조금씩 밝혀나가는 데에서 즐거움을 느낀다면
: 보조 기억장치의 프로그램이나 데이터를 주 기억장치에 적재하는 시기, 위치 등을 지정해 한정된 주 기억장치의 공간을 효율적으로 사용하기 위한 전략
1. 반입 전략 (Fetch Strategy)
: 보조 기억장치의 프로그램이나 데이터를 주 기억장치에 적재하는 시기를 결정하는 전략
2. 배치 전략 (Placement Strategy)
: 주 기억장치 내에서 보조 기억장치의 프로그램이나 데이터를 적재할 위치를 결정하는 전략
배치 전략 별로 5K 프로그램이 할당되는 공간의 예시
※ 단편화
: 주 기억장치의 분할 영역 내에 프로그램/데이터가 적재될 때 그 크기가 영역보다 크거나 작아서 생기는 빈 공간
내부 단편화와 외부 단편화의 예시
3. 교체 전략 (Replacement Strategy)
: 주 기억장치의 모든 영역이 사용 중인 상태에서 새 프로그램/데이터를 배치하고자 할 때 할당을 교체할 영역을 결정하는 전략
: 실행하고자 하는 보조 기억장치의 프로그램/데이터를 주 기억장치에 할당할 때, 어떻게 할당할지 방식을 결정하는 기법
: 프로그램을 주 기억장치에 연속으로 할당하는 기법
1. 단일 분할 할당 기법
: 주 기억장치를 운영체제 영역과 사용자 영역으로 나누고, 한 순간에는 한 사용자만 사용자 영역을 이용하는 기법
- 오버레이 기법 (Overlay) : 주 기억장치보다 큰 사용자 프로그램을 실행하기 위한 기법
- 스와핑 기법 (Swapping) : 하나의 프로그램 전체를 주 기억장치에 할당해 사용하다 필요에 따라 다른 프로그램과 교체하는 기법
2. 다중 분할 할당 기법
: 주 기억장치의 사용자 영역을 여러 영역으로 나누어 여러 프로그램에 할당하는 기법
- 고정 분할 할당 기법 (MFT; Multiple contiguous Fixed parTition Allocation, 정적 할당 기법)
: 주 기억장치의 사용자 영역을 여러 개의 고정된 크기를 가진 영역으로 분할하고, 준비상태 큐의 프로그램을 각 영역에 할당해 수행하는 기법
- 가변 분할 할당 기법 (MVT; Multiple contiguous Variable parTition Allocation, 동적 할당 기법)
: 프로그램을 주 기억장치에 적재할 때 필요한 만큼의 크기로 영역을 분할하는 기법
: 프로그램을 특정 단위의 조각으로 나누어 주 기억장치 내에 분산하여 할당하는 기법
: 보조 기억장치의 일부를 주 기억장치처럼 사용해 용량이 작은 주 기억장치가 큰 용량을 가진 것처럼 하는 기법
: 가상 기억장치 내의 프로그램과 주 기억장치의 영역을 동일한 크기로 나누고 나눠진 프로그램 조각을 주 기억장치의 분할 영역에 적재하여 실행하는 기법
: 가상 기억장치 내의 프로그램을 다양한 크기의 논리적 단위로 나눈 후 주 기억장치에 적재하여 실행하는 기법
- 세그멘테이션 기법의 주소 변환 방식
1. 각 주소의 형식
2. 주소 변환 순서
세그먼트 맵 테이블을 이용한 주소 변환 방식
: 필요한 페이지를 가상 기억장치에서 주 기억장치로 적재해야 하고 주 기억장치의 모든 페이지 프레임이 사용 중일 때, 교체할 페이지 프레임을 결정하는 알고리즘
: 앞으로 가장 오랫동안 사용하지 않을 페이지를 교체하는 기법
: 가장 먼저 들어온, 즉 가장 오래 있었던 페이지를 교체하는 기법
: 가장 오랫동안 사용하지 않았던 페이지를 교체하는 기법
: 사용 빈도가 가장 적은 페이지를 교체하는 기법
: LRU와 비슷한 알고리즘으로, 최근에 사용하지 않은 페이지를 교체하는 기법
: FIFO의 단점을 보완하는 알고리즘으로, 가장 오랫동안 주 기억장치에 있지만 자주 사용되는 페이지의 교체를 방지하기 위한 기법
: 가상 기억장치를 구현할 때 시스템 성능에 영향을 미치는 사항들
: 프로그램이 나누어지는 일정한 단위인 페이지의 크기에 따라 시스템에 미치는 영향이 다름
- 페이지의 크기가 작을 때
- 페이지의 크기가 클 때
: 프로세스가 실행되는 동안 주 기억장치를 참조할 때 일부 페이지만 집중적으로 참조하는 경향이 있다는 이론
1. 시간 구역성 (Time Locality)
: 프로세스가 실행되며 하나의 페이지에 일정 시간 동안 집중적으로 접근하는 현상
1. 공간 구역성 (Space Locality)
: 프로세스가 실행되며 일정 위치의 페이지에 집중적으로 접근하는 현상
: 프로세스가 일정 시간 동안 자주 참조하는 페이지들의 집합
: 페이지 부재가 일어나는 횟수
: 프로세스 처음에 비어있는 주 기억장치로 인한 과도한 페이지 부재를 방지하기 위해 필요할 것이라고 예상하는 모든 페이지를 한꺼번에 적재하는 기법
: 프로세스의 처리 시간보다 페이지 교체에 소요되는 시간이 더 많아지는 현상
- 스래싱 현상 방지 방법
4. 프로그래밍 언어 활용 - 응용 SW 기초 기술 활용(기억장치 관리)
151. 기억장치 관리
1) 기억장치 계층 구조
2) 기억장치 관리 전략
: 보조 기억장치의 프로그램이나 데이터를 주 기억장치에 적재하는 시기, 위치 등을 지정해 한정된 주 기억장치의 공간을 효율적으로 사용하기 위한 전략
1. 반입 전략 (Fetch Strategy)
: 보조 기억장치의 프로그램이나 데이터를 주 기억장치에 적재하는 시기를 결정하는 전략
2. 배치 전략 (Placement Strategy)
: 주 기억장치 내에서 보조 기억장치의 프로그램이나 데이터를 적재할 위치를 결정하는 전략
※ 단편화
: 주 기억장치의 분할 영역 내에 프로그램/데이터가 적재될 때 그 크기가 영역보다 크거나 작아서 생기는 빈 공간
3. 교체 전략 (Replacement Strategy)
: 주 기억장치의 모든 영역이 사용 중인 상태에서 새 프로그램/데이터를 배치하고자 할 때 할당을 교체할 영역을 결정하는 전략
152. 주 기억장치 할당 기법
: 실행하고자 하는 보조 기억장치의 프로그램/데이터를 주 기억장치에 할당할 때, 어떻게 할당할지 방식을 결정하는 기법
1) 연속 할당 기법
: 프로그램을 주 기억장치에 연속으로 할당하는 기법
1. 단일 분할 할당 기법
: 주 기억장치를 운영체제 영역과 사용자 영역으로 나누고, 한 순간에는 한 사용자만 사용자 영역을 이용하는 기법
- 오버레이 기법 (Overlay) : 주 기억장치보다 큰 사용자 프로그램을 실행하기 위한 기법
- 스와핑 기법 (Swapping) : 하나의 프로그램 전체를 주 기억장치에 할당해 사용하다 필요에 따라 다른 프로그램과 교체하는 기법
2. 다중 분할 할당 기법
: 주 기억장치의 사용자 영역을 여러 영역으로 나누어 여러 프로그램에 할당하는 기법
- 고정 분할 할당 기법 (MFT; Multiple contiguous Fixed parTition Allocation, 정적 할당 기법)
: 주 기억장치의 사용자 영역을 여러 개의 고정된 크기를 가진 영역으로 분할하고, 준비상태 큐의 프로그램을 각 영역에 할당해 수행하는 기법
- 가변 분할 할당 기법 (MVT; Multiple contiguous Variable parTition Allocation, 동적 할당 기법)
: 프로그램을 주 기억장치에 적재할 때 필요한 만큼의 크기로 영역을 분할하는 기법
2) 분산 할당 기법
: 프로그램을 특정 단위의 조각으로 나누어 주 기억장치 내에 분산하여 할당하는 기법
153. 가상 기억장치 구현 기법 & 페이지 교체 알고리즘
1) 가상 기억장치
: 보조 기억장치의 일부를 주 기억장치처럼 사용해 용량이 작은 주 기억장치가 큰 용량을 가진 것처럼 하는 기법
1. 페이징 기법 (Paging)
: 가상 기억장치 내의 프로그램과 주 기억장치의 영역을 동일한 크기로 나누고 나눠진 프로그램 조각을 주 기억장치의 분할 영역에 적재하여 실행하는 기법
2. 세그멘테이션 기법 (Segmentation)
: 가상 기억장치 내의 프로그램을 다양한 크기의 논리적 단위로 나눈 후 주 기억장치에 적재하여 실행하는 기법
- 세그멘테이션 기법의 주소 변환 방식
1. 각 주소의 형식
2. 주소 변환 순서
2) 페이지 교체 알고리즘
: 필요한 페이지를 가상 기억장치에서 주 기억장치로 적재해야 하고 주 기억장치의 모든 페이지 프레임이 사용 중일 때, 교체할 페이지 프레임을 결정하는 알고리즘
1. OPT (Optimal Replacement, 최적 교체)
: 앞으로 가장 오랫동안 사용하지 않을 페이지를 교체하는 기법
2. FIFO (First In First Out, 선입선출)
: 가장 먼저 들어온, 즉 가장 오래 있었던 페이지를 교체하는 기법
3. LRU (Least Recently Used)
: 가장 오랫동안 사용하지 않았던 페이지를 교체하는 기법
4. LFU (Least Frequently Used)
: 사용 빈도가 가장 적은 페이지를 교체하는 기법
5. NUR (Not Recently Used)
: LRU와 비슷한 알고리즘으로, 최근에 사용하지 않은 페이지를 교체하는 기법
6. SCR (Second Chance Replacement, 2차 기회 교체)
: FIFO의 단점을 보완하는 알고리즘으로, 가장 오랫동안 주 기억장치에 있지만 자주 사용되는 페이지의 교체를 방지하기 위한 기법
154. 가상 기억장치 기타 관리 사항
: 가상 기억장치를 구현할 때 시스템 성능에 영향을 미치는 사항들
1) 페이지 크기
: 프로그램이 나누어지는 일정한 단위인 페이지의 크기에 따라 시스템에 미치는 영향이 다름
- 페이지의 크기가 작을 때
- 페이지의 크기가 클 때
2) Locality (지역성, 구역성)
: 프로세스가 실행되는 동안 주 기억장치를 참조할 때 일부 페이지만 집중적으로 참조하는 경향이 있다는 이론
1. 시간 구역성 (Time Locality)
: 프로세스가 실행되며 하나의 페이지에 일정 시간 동안 집중적으로 접근하는 현상
1. 공간 구역성 (Space Locality)
: 프로세스가 실행되며 일정 위치의 페이지에 집중적으로 접근하는 현상
3) 워킹 셋 (Working Set)
: 프로세스가 일정 시간 동안 자주 참조하는 페이지들의 집합
4) 페이지 부재 빈도 (PFF; Page Fault Frequency)
: 페이지 부재가 일어나는 횟수
5) 프리페이징 (Prepaging)
: 프로세스 처음에 비어있는 주 기억장치로 인한 과도한 페이지 부재를 방지하기 위해 필요할 것이라고 예상하는 모든 페이지를 한꺼번에 적재하는 기법
6) 스래싱 (Thrashing)
: 프로세스의 처리 시간보다 페이지 교체에 소요되는 시간이 더 많아지는 현상
- 스래싱 현상 방지 방법
'도서 개발 공부 > 정보 처리 기사 필기' 카테고리의 다른 글