728x90
8.1 프로세스와 메모리
- 프로세스의 동작
- 메모리의 특정 위치에서 수행될 명령을 읽어 CPU로 수행하는 것
- 기억장치 계층구조
- 적절한 비용으로 높은 서능을 낼 수 있도록 소량의 고속이며 고가인 기억장치와, 대량의 저속이며 저가인 기억장치를 계층적으로 구성
- 접근속도
- (빠름) 레지스터 > 캐시 메모리 > 메모리 > 보조기억장치 (느림)
- 비트당 비용
- (높음) 레지스터 > 캐시 메모리 > 메모리 > 보조기억장치 (낮음)
- 당장 사용하지 않는 데이터나 프로그램 등은 보조기억장치 활용
- 메모리 관리
- 호출 : 언제 새로운 프로세스를 메모리에 둘 것인가?
- 배치 : 다음에 수행될 프로세스를 메모리 내의 어느 곳에 둘 것인가?
- 교체 : 메모리가 꽉 찬 상태에서 새로운 프로세스를 메모리에 적재해야 한다면 어떤 프로세스를 제거할 것인가?
8.2 단일 프로그래밍 환경
- 단일 프로그래밍
- 하나의 프로세스만 메모리를 전용으로 사용하는 것
- 연속 메모리 할당
- 프로세스는 하나의 연속된 블록으로 메모리에 할당됨
- 문제점
- 메모리의 용량을 초과하는 프로세스는 실행하지 못함
- 지속적으로 사용되지 않는 프로세스도 메모리에 계속 적재되어 있어야 하므로 메모리의 낭비가 심함
- 한 명의 사용자가 메모리를 전용하므로 주변장치 등 자원의 낭비가 심함
8.3 다중 프로그래밍 환경
- 다중 프로그래밍
- 여러 개의 프로세스가 메모리에 동시에 적재되는 것
- 현재 실행 중인 프로세스가 입출력 대기를 해야 하면 실행을 기다리고 있는 다른 프로세스에 CPU를 할당할 수 있음
- CPU 연산과 입출력을 동시에 함으로써 CPU 이용도와 시스템 처리량을 증가시킴
8.3.1 메모리 분할
- 여러 프로세스를 메모리에 적재하기 위한 방법
- 하나의 부낳ㅇ에 하나의 프로세스가 적재됨
- 고정 분할
- 메모리를 여러 개의 고정된 크기의 영역으로 분할하여 프로세스를 배치하는 방식
- 방법1 : 각 분할영역마다 큐를 두고 큐에 들어온 프로세스는 해당 분할 영역에만 적재됨
- 컴파일 시 절대주소로 번역
- 방법2 : 모든 프로세스를 하나의 작업 큐에 넣어서 어느 분할에서든지 실행 가능하게 함
- 컴파일 시 상대주소로 번역
- 내부 단편화 발생
- 프로세스의 크기가 적재된 분할영역의 크기보다 작아서 분할영역 내에 남게 되는 메모리 발생
- 동적 분할
- 메모리의 분할경계가 고정되지 않고 각 프로세스에 필요한 만큼의 메모리만 할당하는 방식
- 외부 단편화 발생
- 메모리의 할당과 반환이 반복됨에 따라 작은 크기의 공백이 메모리 공간에 흩어져 생기는 것
- 통합과 집약
- 외부 단편화를 해결하는 방법
- 통합 : 인접된 공백을 더 큰 하나의 공백으로 만드는 것
- 집약 : 메모리 내의 모든 공백을 하나로 모으는 것
8.3.2 메모리 보호
- 메모리 보호
- 프로세스가 다른 할당영역을 침법하지 않게 하는 것
- 프로세스가 사용할 수 있는 주소 범위를 하한-상한 레지스터 쌍 또는 하한-크기 레지스터 쌍의 값으로 제한함
- 이 제한을 넘어 운영체제를 호출하려면 시스템 호출을 통해야만 가능함
8.4 메모리 배치기법
- 동적 분할 다중 프로그래밍에서 새로 반입된 프로그램이나 데이터를 메모리의 어느 위치에 배치할 것인가를 결정하는 것
- 최초 적합
- 프로세스가 적재될 수 있는 빈공간 중 가장 먼저 발견되는 곳을 할당함
- 후속 적합
- 이전에 탐색이 끝난 그다음 부분부터 시작하여 사용 가능한 빈 공간 중 가장 먼저 발견되는 곳을 할당함
- 최초 적합의 변형
- 최적 적합
- 필요한 공간을 제공할 수 있는 빈 공간 중 가장 작은 곳을 선택하여 할당함
- 큰 빈 공간을 최대한 많이 남겨 놓기 위한 방법
- 최악 적합
- 필요한 공간을 제공할 수 있는 빈 공간 중 가장 큰 곳을 선택하여 할당함
- 작은 자투리가 남아 사용되지 못하는 공간이 발생하는 것을 최소화하기 위한 방법
참고 문헌 : 김진욱·이인복. 운영체제 워크북. 한국방송통신대학교출판문화원, 2023.
728x90
'전산 > 운영체제' 카테고리의 다른 글
운영체제 - 제 10장 페이지 교체 알고리즘 (0) | 2024.05.25 |
---|---|
운영체제 - 제 9장 가상 메모리 (1) | 2024.05.24 |
운영체제 - 제 7장 교착상태2 (0) | 2024.05.22 |
운영체제 - 제 6장 교착상태 1 (0) | 2024.05.21 |
운영체제 - 제 5장 병행 프로세스2 (0) | 2024.05.20 |