[OS] Memory #2
·
Operating system
1. Fetch Policy Demand Paging페이지에 접근이 있을 때만 메모리에 적재하는 방식처음엔 페이지 폴트가 많지만 지역성 원리에 따라 점차 줄어든다. Prepaging: 필요한 페이지 외에 근처 페이지도 미리 적재하는 방식적재된 페이지가 사용되지 않으면 비효율적 2. Placement Policy 세그먼테이션에서는 중요하지만(처음 어떻게 배치되느냐에 따라 컴팩션 달라질 수..)페이징에서는 별로 중요하지 않다 3. Replacement Policy Frame Locking: 교체를 방지하기 위해 프레임에 잠금을 설정하여 메모리에 유지되도록 하는 것 Optimal: 가장 나중에 참조될 페이지를 교체 대상으로 선정 (미래를 다 알아야 하기 때문에 현실적으로 불가능)LRU(Least Recent..
[OS] Memory
·
Operating system
Frame메인 메모리에서 사용되는 고정 길이의 블록 Page고정 길이의 메모리 블록으로페이지를 일시적으로 메인 메모리의 프레임에 올릴 수 있다 Segment가변 길이의 메모리 단위전체 세그먼트를 메인 메모리에 일시적으로 올릴 수 있고(세그멘테이션),페이지 단위로 나눈 세그먼트의 페이지를 개별적으로 메인 메모리에 올릴 수도 있다 (세그멘테이션과 페이징의 결합) 메모리 관리 요구사항 재배치(Relocation)보호(Protection)공유(Sharing)논리적 구성(Logical organization)물리적 구성(Physical organization) 재배치(Relocation)프로세스들이 스왑 아웃되었다가 스왑 인될때, 메모리의 동일한 영역로 돌아오는 것은 시스템 상 제한을 초래하므로,다른 영역으..
[OS] Deadlock
·
Operating system
Deadlock 둘 이상의 프로세스가 서로 자원을 점유한 채 상대방의 자원을 기다리면서 무한히 대기하는 상태다른 block된 프로세스만이 발생시킬 수 있는 이벤트를 기다리며 차단될 때, 해당 프로세스는 deadlock 상태 Reusable사용 시 사라지지 않으나 한 번에 하나의 프로세스만 접근 가능한 자원(프로세서, I/O 채널, 메인메모리, 보조기억장치, 세마포어와 같은 자료 구조) Consumable사용 시 사라지는 일시적인 자원(인터럽트, 시그널, 메시지) Reusable Resources Deadlock프로세스들이 재사용 가능한 자원을 서로 점유하고 대기하며 발생하는 교착 상태(ex. memory request) Consumable Resources Deadlock소모성 자원의 생성이 없..
[OS] Synchronization Tools
·
Operating system
Consumer-Producer while (true) { /* produce an item in next produced */ while (counter == BUFFER_SIZE); /* do nothing */ buffer[in] = next_produced; in = (in + 1) % BUFFER_SIZE; counter++;}while (true) { while (counter == 0); /* do nothing */ next_consumed = buffer[out]; out = (out + 1) % BUFFER_SIZE; counter--; /* consume the item in next consumed */}// 카운터 변수의 추가적인 도입으로 버퍼의 마지막 칸을 채우지 못했던 문제..
[OS] CPU Scheduling #3
·
Operating system
RT System의 핵심은 short-term 스케줄러Fairness와 average response time의 최소화는 최우선이 아님 (데드라인 준수가 중요) 하드 실시간 작업데드라인을 반드시 지켜야 하며, 위반 시 치명적 결과를 초래하는 작업소프트 실시간 작업데드라인 준수가 필수는 아니며, 위반되어도 작업 수행 자체는 의미 있는 작업 주기적 작업일정한 주기마다 반복적으로 실행되는 작업 (주기 T마다 한 번, 정확히 T 단위 간격으로)비주기적 작업특정 기한 내에 시작되거나 완료되어야 하는 비반복성 작업 RT-OS의 특징 - 엄격한 우선순위 - 선점형 스케줄링 - Interrupt latency가 짧다 - 예측 가능한 타이밍 Interrupt latency인터럽트가 발생한 후, 그 인터럽트를 인..
[OS] CPU Scheduling #1
·
Operating system
프로세서 스케줄링의 종류 멀티프로그래밍 (Multiprogramming) = 인터리빙 단일 프로세서 시스템 내에서 여러 프로세스를 관리하는 것 멀티프로세싱 (Multiprocessing) = 오버래핑 다중 프로세서 시스템 내에서 여러 프로세스를 관리하는 것 분산 처리 (Distributed Processing)여러 대의 분산된 컴퓨터 시스템에서 여러 프로세스를 관리하는 것 멀티프로그래밍의 핵심은 스케줄링이다멀티프로그래밍의 목표는 - (항상 어떤 프로세스가 실행 중이도록 하는 것) - CPU Utilization을 극대화하는 것 CPU–I/O 버스트 사이클 : 프로세스의 실행은 CPU 실행과 I/O 대기 사이클로 이루어져 있다.- CPU 버스트가 끝나면 I/O 버스트가 뒤따른다 - 짧은 버스트는 많고..
[OS] Introduction
·
Operating system
인터리빙(interleaving) = 멀티 프로그래밍 - 단일 프로세서 환경에서 여러 작업이 번갈아가면서 수행되는 것오버래핑(overlapping) = 멀티 프로세싱 - 멀티 프로세서 환경에서 여러 작업이 물리적으로 동시에 수행되는 것 컴퓨터 시스템의 네 가지 구성 요소1. Hardware - CPU, 메모리, I/O devices2. Operating System 하드웨어의 사용을 여러 응용 프로그램 간에 제어하고 조정3. Application Programs4. 사용자 (Users) 사람, 기계, 다른 컴퓨터 등이 포함됩니다. User View 사용자는 편리함, 사용 용이성, 그리고 좋은 성능을 원함, 자원 활용(Resource utilization)은 신경쓰지 않음System ..
[OS] Threads & Concurrency
·
Operating system
프로세스의 개념은 두 가지 특성을 포함: 자원 소유(Resource Ownership)- 프로세스는 프로세스 이미지 및 리소스(메인메모리, I/O장치, 파일)를 hold하기 위한 가상 주소 공간을 포함 - OS는 자원과 관련된 프로세스 간의 원치 않는 간섭을 방지하기 위한 보호 기능 수행스케줄링/실행(Scheduling/Execution)- 하나의 프로세스 실행은 다른 프로세스들과 인터리브(교차 실행)될 수 있다- 프로세스는 실행 상태(running, ready..)와 스케줄링 정보(디스패치 우선순위)를 가짐- 프로세스는 OS에 의해 스케줄되고 디스패치되는 실행 단위 두 가지 특성은 서로 독립적dispatching 단위 : Thread (= lightweight process)resource own..