본문 바로가기

정보처리기사/필기

4과목 - 프로그래밍언어 : 메모리

  • 주기억장치
  • 보조기억장치
    • 주기억장치에 용량이 부족하여 보조기억장치의 용량을 빌려씀
    • 보조기억장치는 느리다.
  • 단편화
    • 내부 단편화 : 20KB인데, 5KB만 쓰고, 나머지 15KB는 남아 있음 
      • 즉, 내부 단편화랑 위 처럼, 쓰고 남은 메모리가 존재한다는 뜻
      • page : 모든 용량을 똑같이 나눈다.
        • 고정
        • 페이지 크기가 작을수록 페이징 테이블의 크기가 커진다.
      • 페이지 부재 : 필요한 프로세스가 주기억장치에 없고 보조 기억 장치에 존재...
      • 페이지 교체 : 주기억장치에 용량이 없어서 보조기억장치로 쫓겨났지만, 다시 주기억장치로 돌아왔는데, 어떤 놈을 내쫓을까?
        • FIFO 알고리즘 : 처음 들어온것이 밑으로 쌓임
        • LRU 알고리즘 : 최근에 안쓰여진거 | 오름차순
        • LFU 알고리즘 : 오름차순 | 특정 조건에 의해서 그 프로세스랑 바꾼다.
          • 참조 빈도가 높은것은 내쫓기지 않는다.
        • Optional
      • 스레싱(Thrashing) : 너무 많은 페이지 교환에 보내는 시간, 즉 입출력해야하는 부분에 시간 낭비를 한다는 것
        • 핵심 : 준비와 실행에 시간초점을 맞추어야하는데, 그렇지 않고 입출력에 시간을 소비하는 것 
        • 프로세스에 너무 적은 프레임이 존재하면, 페이지 부재가 빈번하게 발생
        • 프로세스에 너무 많은 프레임이 존재하면, 낭비
      • 지역성(Locality) : 워킹셋(공간 지역성과 시간 지역성)
        • 시간 지역성 : for문
        • 공간 지역성 : 배열
        • Working Set : 일정시간 동안 자주 참조하는 페이지들의 집합
          • 최근 통화 목록
    • 외부 단편화
      • segmentation : 부분조각, 용량 크기가 다름
        • 가변
        • base부터 limit까지 사용(base(시작 주소) 3200이고, limit(길이) 400이면, 3200부터 3600까지 쓴다.)
  • 기억장치배치전략
    • First Fit : 처음으로 발결한(차례대로 내려오면서) 충분히 큰 빈공간
    • Best Fit : 가장 근접한 크기의 빈 공간에 프로그램 배치
    • Worst Fit : 가장 큰 공간에 들어감