TOPIC : 기억장치관리 (2), 페이지 및 메모리, 기억장치 관리하는 법을 다룬다.
1. 페이지 관리
1-1. 기억장치의 분할관리
> 기억장치 안에서 데이터를 관리해야하는데, 통을 하나를 쓰고 관리하면 힘듦.
> 일련의 예시로, 옷장을 샀는데 공간 분리 없이 상의, 하의, 양말, 속옷 다 한 칸에 넣으려면 힘듦
> 이와 동일하게 기억장치를 분할해서 관리할 건데, 분할 정도를 크게할 지 작게할 지 결정하는 것.
> 분할 시킨 페이지 크기가 작을 경우
- 페이지의 단편화(Fregmentation), 즉 공간의 낭비가 줄어든다.
- 양말로만 꽉꽉 채워넣으니 빈 공간이 없어 공간낭비가 없을 것.
- 따라서 기억장치의 효율성이 높다. 부피가 작은 양말을 상대적으로 많이 넣을 수 있으니.
- But 양말 갖다놓으러 왔다갔다하는 입출력시간 증가 (디스크 접근횟수의 증가)
> 분할 시킨 페이지 크기가 클 경우
- 페이지의 단편화(Fregmentation), 공간의 낭비가 증가한다.
- 양말은 50개 들어가는데 패딩은 3개만 넣어도 꽉꽉 차니까
- But 크기가 큼직큼직 하니 왔다갔다하는 입출력시간 단축 (입출력의 효율성 증가)
- 그렇다고 패딩이 가벼운 건 아닌지라 한 개의 패딩(페이지)를 주기억장치 (내 옷장)으로 이동하는 시간이 늘어난다.
1-2. 스래싱 (Thrashing)
> 페이지 교체시간 > 실행시간.
> 빈번하게 페이지 부재가 발생하여 실제 작업에 걸리는 시간보다 페이지 교체에 시간이 더 많은 현상
> 전체적인 시스템 성능이 저하된다.
> 이를 방지하기 위해 1-3, 구역성(Locality) 이 대두되었다.
1-3. 구역성(= 국부성, Locality)
> 프로세스가 메모리의 일정 부분을 집중적으로 참조한다. 즉 한 놈만 조짐.
> 스래싱을 방지하기 위한 '워킹 셋(Working Set)' 이론이 기반 되었다.
> 일정 시간동안 집중적으로 엑세스하는 '시간 구역성' / 일정 위치의 페이지를 집중 엑세스 하는 '공간 구역성'이 있다.
1-4. 워킹셋 (Working Set)
> 데닝아조씨가 제안함, 프로세스가 일정 시간동안 자주 참조한 페이지의 집합 (= 외부 저장장치를 즐겨찾기)
> 자주 참조되는 워킹셋을 주기억장치로 이사시켜서 페이지 부재, 페이지 교체현상을 줄여준다.
> 결과적으로 프로세스의 기억장치 사용이 안정됨.
2. 디스크 스케줄링
2-1. 현재 읽고있는 데이터 이후 작업을 어떻게 짜야하는 지 계획하는 것.
> 크로스핏 와드? 배달대행 라이더들이 배달 장소 쭉 짜는 느낌.
> 종류는 크게 5가지. 이 중 앞선 3가지는 개중요하고 뒤의 2가지는 내용 위주로 암기할 것.
1. FCFS (First Come First Serve) : FIFO와 같은 원리, 디스크 대기 큐에 가장 먼저 들어온 트랙이 제일 짱임.
2. SSTF (Shortest Seek Time First) : 지금 작업중인 디스크로부터 가장 가까운 애를 먼저 서비스. 배달대행이네?
3. SCAN기법 : SSTF는 루틴 생각하느라 시간에 간극이 생김 (탐색시간 편차), 따라서 구운동으로 가야지 하면 구운동 먼저 싹 돌고 반댓방향으로 가는거. 주로 그림형태 출제 많음.
4. C-SCAN : 항상 바깥쪽에서 안쪽으로 움직이며, 가장 짧은 탐색 거리를 갖는 요청을 서비스한다.
5. 에센바흐 (Eschenbach) : 탐색시간과 회전지연시간을 최적화하기 위한 최초기법으로, 주로 부하가 큰 항공예약 시스템을 위해 개발하였다.
'[공부] > [정보처리기사]' 카테고리의 다른 글
[필기] 정보처리기사 29강 (0) | 2021.04.02 |
---|---|
[필기] 정보처리기사 28강 (0) | 2021.04.02 |
[필기] 정보처리기사 26강 (0) | 2021.03.26 |
[필기] 정보처리기사 25강 (0) | 2021.03.26 |
[필기] 정보처리기사 24강 (0) | 2021.03.24 |