9. 가상 메모리
·
OS
0. 서론8장의 모든 내용은 운영체제가 별도로 관여하지만, 이 장의 내용은 전적으로 운영체제가 관여 주소 바인딩은 하드웨어가 전담 1. 요구 페이징 (Demand Paging)프로세스를 메모리에 적재할 때 처음부터 모든 페이지를 적재하지 않고, 필요한 페이지만을 메모리에 적재하는 기법페이징에서도 스와핑을 사용할 수 있음하나의 프로세스를 이루는 페이지 중 실행에 필요한 일부 페이지만을 메모리에 적재하고, 당장 실행에 필요하지 않은 페이지는 보조기억장치에 남겨둘 수 있음 장점당장 필요한 페이지만 적재하기 때문에 메모리 사용량 감소프로세스 전체를 메모리에 올리는데 소요되는 입출력 오버헤드 감소메모리가 더 많은 프로세스를 수용할 수 있으므로 응답시간 감소프로그램이 물리 메모리의 용량 제약을 벗어날 수 있음 2...
8. 메모리 관리
·
OS
0. 메모리 주소물리 주소 (Physical Address)데이터와 명령어가 실제로 저장되는 하드웨어 상의 주소낮은 주소 영역에는 운영체제가, 높은 주소 영역에는 사용자 프로세스가 적재됨 논리 주소 (Logical Address)프로세스마다 독립적으로 가지는 주소 공간 (= 가상 메모리)의 주소프로세스마다 0번지부터 시작CPU는 물리 주소가 아닌 논리 주소에 근거해 명령어를 해석 및 실행 1. 주소 바인딩 (Address Binding) 논리 주소를 물리 주소로 변환하는 과정CPU가 메모리와 상호작용하려면 논리 주소는 물리 주소로 변환되어야 하며 이것을 주소 바인딩이라고 함 Compile Time Binding컴파일 시점에 물리 주소가 결정되는 방식프로그램이 적재된 물리 주소를 변경하고 싶다면 재컴파일이..
7. 교착 상태 (Deadlock)
·
OS
1. 교착 상태 (Deadlock) 일련의 프로세스들이 서로가 가진 자원을 기다리며 Blocked 된 상태자원 (Resource) : 프로그램 실행에 마땅히 필요한 요소 → 하드웨어, 소프트웨어 등을 포함 2. 교착 상태 발생 4조건1. 상호 배제 (Mutual Exclusion)한 프로세스가 임계 구역에 진입했다면 다른 프로세스는 임계 구역에 들어갈 수 없음→ 임계 구역 문제 해결 3원칙에도 포함됨 2. 점유와 대기 (Hold and Wait)자원을 할당받은 상태에서 다른 자원을 할당받기를 기다림 3. 비선점 (Non-preemptive)어떤 프로세스도 다른 프로세스의 자원을 강제로 빼앗을 수 없음 4. 원형 대기 (Circular Wait)자원을 기다리는 프로세스 간 사이클이 형성됨 위 조건이 모두 ..
6. 프로세스 동기화
·
OS
0. 서론 데이터의 접근은 다음과 같은 순서로 일어남 1. 저장 공간에 접근한다. 2. 연산할 데이터를 가져온다. 3. 연산을 실행한다. 4. 연산 결과를 다시 저장한다. 여러 프로그램이 하나의 저장 공간을 공유하는 경우 경쟁 상태가 발생할 수 있음 경쟁 상태 (Race Condition) → 둘 이상의 입력 또는 조작의 타이밍이나 순서 등이 결괏값에 영향을 줄 수 있는 상태 운영체제에서 경쟁 상태는 언제 발생하는가? 1. 커널이 작업 수행 중 인터럽트가 발생하는 경우 → 예) 커널이 count++ 연산 수행 중 인터럽트가 발생하고, 인터럽트 서비스 루틴이 count-- 연산 수행 후 복귀 시 커널은 count-- 수행 전 데이터를 가지고 있음 → 해결 : 커널이 작업 수행 중 인터럽트가 발생하더라도 수..