1. 메모리 관리의 복잡성
과거의 일괄처리 시스템에서는 한번에 한가지 작업만 처리했기 때문에 메모리 관리가 어렵지 않았다. 그러나 오늘날의 시분할 시스템에서는 운영체제를 포함한 모든 응용 프로그램이 메모리에 올라와 실행되기 때문에 메모리 관리가 복잡하다.
2. 컴파일러
컴파일러는 소스코드를 컴퓨터가 실행할 수 있는 기계어로 번역한 후 한꺼번에 실행할 수 있도록 해주는 언어 번역 프로그램이다. 오류를 발견하고 코드를 최적화하기 위해 컴파일러를 사용한다. 사용자가 소스코드를 작성하며 컴파일러는 컴파일 -> 목적 코드와 라이브러리 연결 -> 동적 라이브러리를 포함하여 최종 실행의 순서로 작동한다.
3. 메모리 관리자의 정책
- 가져오기 정책 : 프로세스가 필요로 하는 데이터를 언제 메모리로 가져올지 결정하는 정책이다.
- 배치 정책 : 가져온 프로세스를 메모리의 어떤 위치에 올려놓을지 결정하는 정책이다.
- 재배치 정책 : 메모리가 꽉 찼을때 메모리 내에 있는 어떤 프로세스를 내보낼지 결정하는 정책이다.
4. 절대주소와 상대 주소
- 절대 주소 : 실제 물리 주소를 가리키며 메모리 관리자 입장에서 바라본 주소이다.
- 상대 주소 : 사용자 영역이 시작되는 주소를 0번지로 변경하여 사용하는 주소이다.
5. 메모리 오버레이
프로세스의 크기가 실제 메모리(물리 메모리)보다 클때 전체 프로세스를 메모리에 가져오는 대신 적당한 크기로 잘라서 가져오는 기법이다.
6. 스왑
메모리가 모자라서 쫓겨난 프로세스를 저장장치의 특별한 공간, 즉 스왑 영역에 모아두는 기법이다. 스왑 영역에서 메모리로 데이터를 가져오는 작업은 스왑인, 메모리에서 스왑 영역으로 데이터를 내보내는 작업은 스왑아웃이라고 한다.
7. 메모리 분할 방식
- 가변 분할 방식 : 프로세스의 크기에 따라 메모리를 나누는 것 이다.
- 고정 분할 방식 : 프로세스의 크기와 상관없이 메모리를 같은 크기로 나누는 것 이다.
8. 외부 단편화와 내부 단편화
- 외부 단편화 : 할당할 프로세스의 크기보다 메모리에 남아 있는 조각이 작아서 할당이 불가능한 현상을 말한다.
- 내부 단편화 : 각 메모리 조각에 프로세스를 배치하고 공간이 남는 현상을 말한다.
9. 가변 분할 방식의 메모리 배치 방식
- 최초 배치 : 메모리에서 적재 가능한 공간을 순서대로 찾다가 첫 번쨰로 발견한 공간에 프로세스를 배치하는 방법이다.
- 최적 배치 : 메모리의 빈 공간을 모두 확인한 후 적당한 크기 가운데 가장 작은 공간에 프로세스를 배치하는 방법이다.
- 최악 배치 : 최적 배치와 정반대로, 빈 공간을 모두 확인한 후 가장 큰 공간에 프로세스를 배치하는 방법이다.
10. 조각 모음
단편화가 발생하면 이미 배치된 프로세스를 옆으로 옮겨 빈 공간들을 하나의 큰 덩어리로 만드는 것을 말한다.
'스터디 > 운영체제' 카테고리의 다른 글
[스터디][운영체제] Chapter 09. 가상 메모리의 관리 (0) | 2024.02.29 |
---|---|
[스터디][운영체제] Chapter 08. 가상 메모리의 기초 (0) | 2024.02.21 |
[스터디][운영체제] Chapter 06. 교착 상태 (0) | 2024.02.04 |
[스터디][운영체제] Chapter 05. 프로세스 동기화 (0) | 2024.01.28 |
[스터디][운영체제] Chapter 04. CPU 스케줄링 (0) | 2024.01.28 |