반응형
프로세스와 메모리
프로세스의 동작
- 프로그램 카운터를 참조하여 메모리로부터 수행될 명령을 읽어 CPU의 해당 명령을 수행
- 프로그램은 보조기억장치에 파일 단위로 있다가, 실제 수행시 메모리에 로드해서 사용
- 메모리에 있는 프로세스를 반복해서 사용해야 하는 경우, 더욱 빠른 기억장치인 캐시에 저장하여 사용
기억장치 계층 구조
- 적절한 비용으로 높은 성능을 낼 수 있도록 계층적으로 구성
- CPU[레지스터] > 캐시 기억장치 > 메모리 > 보조 기억장치
OS의 메모리 관리
- 메모리 호출: 언제 새로운 프로세스를 메모리에 둘 것인가?
- 메모리 배치: 실행된 프로세스를 메모리 내의 어느 곳에 둘 것인가?
- 메모리 교체: 메모리가 꽉 찬 상태에서 새로운 프로세스를 적재해야 한다면 어떤 프로세스를 제거할 것인가?
- 메모리를 고정 분할할 것인가 동적 분할할 것인가?
- 프로세스 적재 영역이 고정적인가 유동적인가?
단일 프로그래밍 환경
초기의 시스템
- 오직 하나의 프로세스만 메모리를 전용으로 사용
- 프로세스는 하나의 연속된 블록으로 메모리에 할당(연속 메모리 할당)
문제점
- 메모리 용량을 초과하는 프로세스는 실행 불가
- 메모리 낭비: 당장 사용되지 않는 프로세스의 영역도 계속 적재
- 자원의 낭비: CPU나 I/O를 사용하는 경우 반대쪽 자원이 사용되지 못함
다중 프로그래밍 환경
- 여러 개의 프로세스가 메모리에 동시에 적재되는 것
- CPU 연산과 입출력을 동시에 함으로써 CPU 이용도와 시스템 처리량 증가
메모리 분할
- 여러 프로세스를 메모리에 적재하기 위하여 고안된 방법
- 하나의 분할에 하나의 프로세스가 적재
- 두 가지 방식: 고정 분할, 동적 분할
고정 분할
고정 분할 프로세스 배치 방법 1
- 메모리를 여러 개의 고정된 크기의 영역으로 분할
- 분할 된 영역마다 큐를 두고 큐에 들어온 프로세스는 해당 분할 영역에만 적재
- 절대 번역 및 적재
- 효율성 낮음
- 절대 번역: 한번 작업 큐에 들어간 작업을 다른 작업 큐로 옮겨 처리할 수 없음
고정 분할 프로세스 배치 방법 2
- 1개의 작업 큐를 사용
- 하나의 큐만 두고 큐에 들어온 프로세스는 어느 분할 영역에든 적재
- 재배치 가능 번역 및 적재
- 복잡함
반응형
'공부 > CS공부' 카테고리의 다른 글
운영체제 - 분산 운영체제 정리 (방송통신대학교 운영체제) (0) | 2022.06.11 |
---|---|
운영체제 - 가상메모리 정리 (방송통신대학교 운영체제) (0) | 2022.06.11 |
운영체제 - 교착상태 정리 (방송통신대학교 운영체제) (0) | 2022.05.28 |