2023. 2. 22. 15:50ㆍ정처기 필기/4과목 - 프로그래밍 언어 활용
기억 장치
1. 기억장치의 관리 전략
- 보조기억장치의 프로그램이나 데이터를 주기억장치에 적재시키는 시기, 적재 위치 등을 지정하여 한정된 주기억장치의 공간을 효율적으로 사용하기 위함
- 반입(Fetch), 배치(Placement), 할당(Allocation), 교체(Replacement)
2. 반입 (Fetch) 전략
* 언제 (When)
- 요구 반입 (Demand Fetch)
: 실행중인 프로그램이 특정 프로그램이나 데이터 등의 참조를 요구할 때
- 예상 반입 (Anticipatory Fetch)
: 실행중인 프로그램에 의해 참조될 프로그램이나 데이터를 미리 예상
3. 배치(Placement) 전략
* 어디 (Where)
- 최초 : 첫 번째 분할 영역
- 최적 : 단편화를 가장 적게 남기는 분할 영역
- 최악 : 단편화르 가장 많이 남기는
4. 교체(Replacement) 전략
* 어느 영역을 교체할지 (Who)
5. 주기억장치 할당(Allocation)
* 어떻게 할당할지 (How)
- 연속 할당 기법
: 단일 -> 오버레이, 스와핑
: 다중 -> 고정(정적) 분할 할당기법, 가변(동적) 분할 할당기법
- 분산 할당 기법
: 프로그램을 특정 단위의 조각으로 나누어 할당하는 기법
: 페이징 기법
: 세그먼테이션 기법
6. 가상 기억장치
# USB 생각하면될듯
- 보조기억장치(하드디스크)의 일부를 주기억장치처럼 사용하는 것
- 주기억장치의 용량보다 큰 프로그램을 실행하기 위해 사용
- 주기억장치의 이용률과 다중 프로그래밍 효율을 높일 수 있다.
- 가상기억장치의 프로그램을 실행하려면 (가상->주)로 바꾸는 기억변환 작업 필요
- 블록 단위로 나누어 사용하므로 연속 할당 방식의 단편화 해결 가능
7. 페이징 기법 (분산할당기법)
- 주기억장치의 영역과 동일한 크기로 가상기억장치를 나눈 후 주기억장치에 적재시키는 방법
- 나눈 영역의 단위를 페이지(Page)라 하고, 페이지 크기로 일정하게 나누어진 주기억장치의 단이를 페이지프레임이라함.
- 외부 단편화 X , 내부 단편화 O
- 주소 변환을 위해 페이지 맵 테이블이 필요하다. (처리속도 감소, 비용 증가)
8. 세그먼테이션 (Segmentation) 기법
- 가상기억장치에 보관되어 있는 프로그램을 다양한 크기의 논리적 단위로 나누어 주기억장치에 적재시키는 방법 (기억공간을 절약하기 위해서 사용)
- 논리적인 크기로 나눈 단위를 세그먼트라고 함, 각 세그먼트는 고유의 이름과 크기를 가진다.
- 주소변환을 위해 세그먼트 맵 테이블 필요
- 세그먼트는 각자 할당된 영역을 침범할 수 없으며, 이를 위해서 기억장치 보호키가 필요하다.
- 내부 단편화 X, 외부 단편화 O
9. 페이지 교체 알고리즘
* FIFO = FCFS (선입선출)
* LRU (Least Recently Used)
- 최근 가장 오랫동안 사용하지 않은 페이지를 교체하는 기법
* LFU (Least Frequently Used)
- 사용 빈도가 가장 적은 페이지를 교체하는 기법
* OPT (OPTimal replacement)
- 앞으로 가장 오랫동안 사용하지 않을 페이지를 교체하는 기법
- 페이지 부재 횟수가 가장 적게 발생함 (최적)
* NUR (Not Used Recently) = LUR
- 최근 가장 오랫동안 사용하지 않은 페이지를 교체하는 기법
* SCR (Second Chance Replacement) - 2차 기회 교체
- 자주 사용되는 페이지의 교체를 방지하기 위한 것
10. 페이지 크기
* 페이지 크기가 작을 경우
- 페이지 단편화가 감소되고, 한 개의 페이지를 주기억장치로 이동하는 시간이 줄어든다.
- 불필요한 내용이 적재될 가능성이 적다
- 기억장치 효율이 높아진다.
- 페이지 맵 테이블의 크기가 커짖고, 매핑 속도는 늦어진다.
- 전체적인 입출력 시간은 늘어난다.
* 페이지 크기가 클 경우
- 페이지 단편화가 증가하고 주기억장치로 이동하는 시간이 늘어난다.
- 불필요한 내용까지 주기억장치에 적재될 수가 있다.
- 페이지 맵 테이블으 크기가 작아지고, 매핑 속도는 빨라진다.
- 전체적인 입출력 속도가 짧아진다.
11. Locality (지역성, 구역성)
- 프로세스가 실행되는 동안 주기억장치를 참조할 때 일부 페이지만 집중적으로 참조하는 성질이 있다는 이론
- 스레싱을 방지하기 위한 워킹 셋 이론의 기반
- 데닝 교수에 의해 구역성의 개념이 증명, 캐시 메모리 시스템의 이론적 근거
* 시간적 구역성
: 한 번 참조한 페이지는 가까운 시간 내에 계속 참조할 가능성이 높다.
: 루프, 스택, 서브루틴, 카운팅, 집계
* 공간적 구역성
: 한 번 참조한 페이지의 근처 페이지를 참조할 확률이 높다.
: 배열, 순차적 코드
12. 워킹 셋
- 프로세스가 일정 시간 동안 자주 참조하는 페이지들의 집합
- 주기억장치에 상주시킴으로써 페이지 부재 및 페이지 교체 현상이 줄어들어 프로세스의 기억장치 사용이 안정된다.
- 워킹셋은 시간에 따라 변경된다.
'정처기 필기 > 4과목 - 프로그래밍 언어 활용' 카테고리의 다른 글
인터넷 및 OSI 참조 모델 / 네트워크 관련 장비 및 프로토콜 (0) | 2023.02.22 |
---|---|
프로세스 및 스케줄링 (0) | 2023.02.22 |
운영체제 (0) | 2023.02.21 |
포인터 / 스크립트 언어 / 선언형 언어 (0) | 2023.02.21 |
배치 프로그램 / 패키지 소프트웨어 (0) | 2023.02.21 |