OS(운영체제)26 페이징 (Paging) - (1) 프로세스의 물리 주소 공간이 연속되지 않아도 되는 메모리 관리 기법 외부 단편화와 관련 압축의 필요성을 피할 수 있다. 1. 페이징 (Paging) 물리 메모리는 프레임(frame) 크기 블록으로 나누어진다. 논리 메모리는 페이지(page) 크기 블록으로 나누어진다. N개의 Page 프로그램이라면 적재 시 N개의 free frame이 필요하다. page table이 논리 주소에서 물리 주소로 변환시켜준다. page table은 각 프로세스 별로 생성된다. (1) 논리 주소 CPU에서 나오는 모든 주소는 페이지 번호(P)와 페이지 오프셋(d:offset) 두 개의 부분으로 나누어진다. 페이지 번호 (P) 프로세스 페이지 테이블(page table)을 접근할 때 사용된다. 페이지 오프셋 (d) 참조되는 fr.. 2021. 12. 9. 연속 메모리 할당 (Contiguous Memory Allocation) 연속적인 메모리 할당 각 프로세스는 다음 프로세스가 적재된 영역과 인접한 하나의 메모리 영역(연속된 영역)에 적재(Load)된다. 메인 메모리는 두 부분으로 나눠진다. Operating System이 적재되어 있는 부분 사용자 프로세스가 적재되어 있는 부분 각 프로세스들은 연속적인 영역에 적재되어 있다. 1. 다중 분할 할당 (Multiple-Partition Allocation) 연속 메모리 할당의 한가지 방식 가변 분할(Variable-partition) 프로그래밍으로 각 작업에 필요한 만큼의 메모리만을 차지하게 한다. Internal Fragmentation을 없앨 수 있다. OS는 할당된 Partition과 Free Partition(Hole) 정보를 계속 알고 있어야 한다. Hole : 하나의 .. 2021. 12. 9. Main Memory 배경 CPU 스케줄링의 결과로 CPU 이용률과 사용자에 제공하는 컴퓨터 응답속도를 모두 향상할 수 있다. 그러나 이러한 성능 향상을 실현하려면 많은 프로세스를 메모리에 유지해야 한다. 1. CPU와 Main Memory (1) CPU의 Main Memory 접근 메인 메모리와 각 처리 코어에 내장된 레지스터들은 CPU가 직접 접근할 수 있는 유일한 범용 저장장치이다. 모든 실행되는 명령어와 데이터들은 CPU가 직접적으로 접근할 수 있는 메인 메모리와 레지스터에 있어야 한다. 각 CPU 코어에 내장된 레지스터들은 일반적으로 CPU 클록(clock)의 1사이클 내에 접근이 가능 메인 메모리의 접근을 완료하기 위해서는 많은 CPU 클록 틱 사이클이 소요 이 경우 CPU가 필요한 데이터가 없어서 명령어를 수행하지 못.. 2021. 12. 9. 실시간 CPU 스케줄링 (Real-Time CPU Scheduling) process의 deadline을 고려하여 스케줄링하는 알고리즘이다. 1. 실시간 시스템 (1) 연성 실시간 시스템 (Soft real-time systems) 데드라인(deadline)을 만족하다는 것을 보장하지 않는다. 중요한 실시간 프로세스가 그렇지 않은 프로세스에 비해 우선권만 가지고 있다. (2) 경성 실시간 시스템 (Hard real-time systems) 데드라인(deadline)을 100% 만족한다는 것을 보장한다 데드라인이 지난 후 서비스를 받는 것은 서비스를 전혀 받지 않는 것과 동일한 결과이다. 2. 지연 시간 (Latency) (1) 이벤트 지연시간 (Event Latency) 이벤트가 발생해서 그에 맞는 서비스가 수행될 때까지의 시간 인터럽트 지연시간과 디스패치 지연시간으로 나누.. 2021. 12. 9. Multiple-Processor Scheduling (다중 처리기 스케줄링) Multiple-Processor (다중 처리기) 여러 개의 CPU가 있는 다중 처리기 시스템 1. 비대칭 다중 처리 (Asymmetric Multiprocessing) 오직 하나의 코어만 시스템 자료구조에 접근한다. 하나의 처리기만 시스템 자료구조에 접근하여 처리기 간의 자료들을 공유할 필요 없다. 단점 master server가 전체 시스템 성능을 저하할 수 있는 병목 발생할 수 있다. 2. 대칭 다중 처리 (Symmetric Multiprocessing : SMP) 각 처리기(Processor)가 독자적인 스케줄링을 수행하는 방식 다중 처리기를 지원하기 위한 표준 접근 방식 각 Processor는 스스로 스케줄링할 수 있다. 스케줄 대상이 되는 스레드를 관리하기 위한 두 가지 가능한 전략 모든 스레.. 2021. 12. 9. CPU 스케줄링 알고리즘 (CPU Scheduling Algorithms) 운영체제는 CPU 스케줄링을 통해 Ready Queue에 있는 어떤 프로세스에 CPU를 할당할 것인지를 결정한다. 이때 운영체제는 여러 가지 다른 CPU 스케줄링 알고리즘들이 있다. 1. 선입 선처리 스케줄링 (First-Come, First-Served Scheduling : FCFS) CPU를 먼저 요청하는 프로세스가 CPU를 먼저 할당받는다. 선입선출(FIFO) Queue로 쉽게 관리할 수 있다. (1) 비선점형(Non-Preemptive) 스케줄링 일단 CPU가 한 프로세스에 할당되면, 그 프로세스가 종료 또는 I/O 처리를 위해 CPU를 방출할 때까지 CPU를 점유한다. (2) 호위 효과(convoy effect) 다른 프로세스들이 하나의 긴 프로세스가 CPU를 놓기를 기다리는 것 선입 선처리 .. 2021. 12. 9. 이전 1 2 3 4 5 다음 반응형