메모리 계층 구조(Memory Hierarchy)
주기억 장치에 있는 프로그램을 실행하기 전에 고속의 캐시 기억 장치로 프로그램을 적재함으로써 더 빠르게 프로그램 실행 가능
메모리 할당 기법
최적 적합(Best Fit) : 입력된 프로그램을 수용할 수 있는 공간 중 가장 작은 공간에 할당
최초 적합(First Fit) : 입력된 프로그램을 수용할 수 있는 공간 중 먼저 발견된 공간에 할당
최악 적합(Worst Fit) : 입력된 프로그램을 수용할 수 있는 공간 중 가장 큰 공간에 할당
메모리 단편화 문제
내부 단편화(Internal Fragmentation) : 분할된 영역이 할당될 프로그램의 크기보다 커서 프로그램이 할당된 후 내부적으로 남겨지는 공간
외부 단편화(External Fragmentation) : 분할된 영역이 할당될 프로그램의 크기보다 작아서 프로그램이 할당될 수 없어 남겨진 전체 공간
단편화 해결 방법
공백의 합병(Coalescing Holes) 기억장소의 통합 : 인접해 있는 단편화 공간들을 하나로 합쳐 통합하는 작업
압축(Compaction) 기법 기억장소의 집약 : 산재한 기억장소를 한군데로 모아 최대의 연속된 공간을 확보하는 것
페이징(Paging) 기법
주소공간을 페이지 단위로 나누고, 실제 주소공간은 페이지 크기와 같은 페이지 프레임(Page Frame)으로 나누어 사용하는 것
세그먼테이션(Segmentation) 기법
논리적 단위가 되는 프로그램 모듈이나 자료 구조 등을 주기억장치에 적재하는 것
가상기억장치(Virtual Memory)
실제의 주기억장치 용량과 관계없이 사용자가 큰 프로그램을 사용할 수 있도록 하는 기능. 주기억장치보다 용량이 큰 프로그램을 실행하기 위해 보조기억장치(하드 디스크)의 일부를 주기억장치처럼 사용하는
페이지 교체 알고리즘
OPT(OPTimal Replacement 최적 교체) : 가장 오랫동안 참조되지 않았던 페이지를 희생 페이지로 선택하는 방식으로 각 페이지의 요구 순서와 참조 상황을 미리 알기 어렵기 때문에 현실적으로 구현 곤란
FIFO(First In First Out 선입선출) : 주기억장치에서 가장 많은 시간을 보낸 페이지부터 교체하는 알고리즘으로 페이지들의 주기억장치 적재 순서를 기록하여 선입선출 큐를 유지관리
LRU(Least Recently Used) : 가장 오랜 기간 사용되지 않았던 페이지를 교체하는 알고리즘으로 선입선출 알고리즘보다 적은 페이지 부재율을 나타냄
LFU(Least Frequently Used) : 사용 빈도가 가장 적은 페이지를 교체하는 알고리즘으로 실행 초기에 많이 사용된 페이지가 그 후로 사용되지 않은 경우 프레임을 계속 차지하는 문제 발생
NUR(Not Used Recently) : LRU 기법과 유사하며 최근에 사용하지 않은 페이지를 교체하는 알고리즘
SCR(Second Chance Replacement 2차 기회 교체) : 가장 오랫동안 참조되지 않았던 페이지 중 자주 사용하는 페이지의 교체를 예방하기 위한 알고리즘으로 FIFO 기법의 단점을 보완한 기법
스래싱(Thrashing)
전역 페이지 교체 알고리즘 시스템에서 물리적 기억장치가 한계에 도달했을 때 새로운 프로세스가 실행을 요청하게 되고 기억장치 관리자는 교체 알고리즘을 통해 희생 페이지를 선택해 새 프로세스에 할당되고 할당된 페이지들은 모두 사용되던 것이기 때문에 페이지 부재율 증가를 처리하기 위해서 CPU의 활용도가 저하하면 다시 새로운 프로세스를 실행하게 됨으로써 CPU의 활용도를 떨어뜨리는 것
예방 기법
- 프로세스에 필요한 만큼의 페이지 프레임 할당
- 작업 집합(Working Set) 기법을 통해 프로세스가 필요로 하는 프레임 수 파악
'정보보안 > 시스템보안' 카테고리의 다른 글
운영체제 분산 시스템 (1) | 2025.01.07 |
---|---|
운영체제 파일 시스템 (0) | 2025.01.06 |
운영체제 프로세스 2/2 (0) | 2025.01.04 |
운영체제 프로세스 1/2 (2) | 2025.01.03 |
운영체제 유형 (0) | 2025.01.02 |