본문 바로가기

CS/운영체제15

페이지 교체 알고리즘, 프로세스별 페이지 집합관리 1. 페이지 교체 알고리즘 페이징 기법 - 모든 페이지 프레임이 사용되고 있을 때 새로 적재되어야 할 페이지를 위해 적절한 교체 대상을 결정 최적화 원칙 - 앞으로 가장 오랫동안 사용되지 않을 페이지를 교체 대상으로 선택 - 이론적으로 최적이나 미래를 예측할 수 없어 실현 불가 선택을 위한 기본 정책 - 대체로 좋은 결론을 내리면서 시간, 공간 오버헤드가 적은 것 교체 제외 페이지 - 페이징을 위한 커널 코드 영역 - 보조기억장치 드라이버 영역 - 시간을 맞춰 동작해야 하는 코드 영역 - 입출력장치를 위한 데이터 버퍼 영역 종류 - FIFO - LRU - LFU - 2차 기회 페이지 교체 FIFO(First-In-First-Out) 메모리 내에 가장 오래 있었던 페이지를 선택하여 교체 구현: FIFO 큐.. 2023. 6. 15.
운영체제 가상 메모리, 개념, 블록 단위 주소 변환, 메모리 호출 기법 1. 가상 메모리의 개념 연속 메모리 할당 - 메모리 크기보다 더 큰 기억공간이 필요한 프로세스는 실행불가 -> 그러한 프로세스도 실행할 수 있게 하는 방법으로 가상 메모리 사용 즉, 아무리 큰 프로세스라도 한 순간에는 사용하는 부분이 작다. 따라서 현재 실행하는 부분만 메모리에 올려서 사용할 수 있게 함. 가상메모리 - 실행 중인 프로세스에 의해 참조되는 주소를 메모리에서 사용하는 주소와 분리 - 현재 필요한 일부만 메모리에 적재 보조기억장치에 전체를 저장해놓고 쓰이는 부분을 메모리에 올려서 씀 이때 실주소라는 것은 메모리에서 쓰이는 주소 가상주소 a이지만 실제 주소는 b이므로 사상이 필요 사상(mapping) - 프로세스 실행을 위해 가상주소를 실주소로 변환하는 과정 - 동적 주소변환(DAT): 프로.. 2023. 6. 15.
운영체제 메모리 관리, 프로세스와 메모리, 단일 프로그래밍 환경, 다중 프로그래밍 환경, 메모리 배치기법 1. 프로세스와 메모리 프로세스의 동작 - 프로세스 카운트(PC)를 참조하여 수행될 명령을 메모리에서 읽어 CPU로 수행하는 것 기억장치 계층구조 - 적절한 비용으로 높은 성능을 내는 것이 목표 메모리 관리 - 메모리 호출: 언제 새로운 프로세스를 메모리에 둘 것인가? - 메모리 배치: 다음에 실행될 프로세스를 메모리 내의 어느 곳에 둘 것인가? - 메모리 교체: 메모리가 꽉 찬 상태에서 새로운 프로세스를 메모리에 적재해야 한다면 어떤 프로세스를 제거할 것인가? - 그외: 고정/동적 분할, 고정/유동 적재영역 등 2. 단일 프로그래밍 환경 하나의 프로세스만 메모리를 전용으로 사용하는 것 프로세스는 하나의 연속된 블록으로 메모리에 할당 -> 연속메모리 할당 문제점 - 메모리의 용량을 초과하는 프로세스는 실.. 2023. 6. 15.
교착상태 회피, 교착상태 탐지 및 복구 1. 교착상태 회피 - 프로세스의 자원 사용에 대한 사전 정보를 활용하여 교착상태가 발생하지 않는 상태에 머물도록 하는 방법 - 사정정보: 현재 할당된 자원, 가용상태의 자원, 프로세스들의 최대 요구량 - 안전상태: 교착상태가 발생하지 않음 -> 교착상태를 회피하면서 각 프로세스에 그들의 최대요구량까지 빠짐없이 자원을 할당할 수 있는 상태 -> 안전 순서열이 존재하는 경우 - 불안전상태: 안전순서열이 존재하지 않는 경우 안전순서열 - 순서 있는 프로세스의 집합 에 대해서 - 각 pi에 대해 pi가 추가로 요구할 수 있는 자원의 양이 현재 가용상태의 자원으로 충당되거나 혹은 여기에 pj에 할당된 자원까지 포함하여 충당 가능한 경우 안전순서열이 되지 않는 경우 1개 밖에 없는 상황에서 p2에게 나눠준 다음에.. 2023. 6. 15.
교착상태, 교착상태 특성, 교착상태 예방, 상호배제, 점유대기, 비선점, 환형대기 1. 교착상태의 개요 요구-> 사용 -> 해제 요구과정에서 가용한 자원이 없으면 자원을 획득할 때까지 대기 교착상태: 여러 개의 프로세스가 서로 상대방의 작업이 끝나기만 기다리고 있어 어느 쪽도 영원히 진행하지 못하는 상태 기아상태: 프로세스 또는 스레드가 자원에 접근하고자 하지만 해당 자원을 사용할 수 없는 상태를 의미 교착 상태는 작업들이 서로 무한히 기다리는 상태를 나타내는 반면, 기아 상태는 자원에 대한 접근이 계속해서 차단되는 상태를 나타낸다. 2. 교착상태의 특성 교착상태의 필요조건: - 상호배제 - 점유대기 - 비선점 - 환형대기 -> 4가지 조건이 동시에 만족될 때 교착상태 발생가능 (가능성이 생겼다는 의미이다.) 상호배제(mutual exclusion) 조건 - 프로세스가 자원에 대한 베.. 2023. 6. 15.