반응형

운영체제

Convoy Effect의 개념과 발생 원인, 시스템에 미치는 영향Convoy Effect(호위 효과)란 선점형 스케줄링(preemptive scheduling)이 아닌 환경, 특히 FIFO(First-In-First-Out) 방식에서 발생하는 문제로, CPU 또는 시스템 자원을 오랫동안 사용하는 프로세스 하나가 전체 시스템의 효율성을 떨어뜨리는 현상을 말합니다.Convoy Effect가 발생하는 구조Convoy Effect는 주로 다음과 같은 조건에서 발생합니다:비선점형 스케줄링 정책 사용 (예: FCFS)자원을 오래 점유하는 프로세스와 짧게 점유하는 프로세스가 함께 존재선두의 프로세스가 긴 작업을 수행하면, 그 뒤에 있는 프로세스들이 모두 대기예시로 보는 동작프로세스 A (실행 시간: 10초), B ..
캐시는 CPU와 메인 메모리 간의 속도 차이를 보완하기 위한 고속 임시 저장소이며, 이때 메모리 블록을 어떤 방식으로 캐시에 배치할지 결정하는 방식을 캐시 매핑 방식(Cache Mapping Method)이라고 합니다. 이는 컴퓨터 구조, 특히 캐시 설계에서 매우 중요한 개념이며, 기술 면접에서 자주 나오는 주제입니다.본 문서에서는 직접 매핑(Direct Mapping), 완전 연관 매핑(Fully Associative Mapping), 집합-연관 매핑(Set-Associative Mapping)의 구조, 장단점, 접근 방식 등을 매우 상세하게 정리하여, 단순한 개념 이해를 넘어서 면접에서 깊이 있게 설명할 수 있는 수준으로 다뤄보겠습니다. 직접 매핑 방식의 구조와 동작 원리직접 매핑(Direct Map..
현대의 컴퓨터 시스템, 운영체제, 웹서버, 데이터베이스, 브라우저 등에서 캐시(Cache)는 성능 최적화를 위해 필수적으로 사용되는 개념입니다. 특히 실무에서도 시스템의 병목 현상을 파악하고 최적화하는 과정에서 캐시의 동작 방식과 효율을 이해하는 것이 중요하며, 기술 면접에서도 빈출되는 주제입니다.아래에서는 캐시, 캐시 히트(Cache Hit), 캐시 미스(Cache Miss)의 개념부터 실무에서 어떻게 적용되고 평가되는지, 그리고 면접 대비를 위한 주요 포인트까지 포함하여 아주 상세하게 설명드립니다.캐시(Cache)의 개념과 동작 방식캐시는 데이터나 연산 결과를 임시로 저장하여, 향후 동일한 요청이 발생했을 때 더 빠르게 응답할 수 있도록 도와주는 저장소입니다. CPU, 메모리, 디스크, 네트워크, 웹..
선점형 스케줄링의 개념선점형(Preemptive) 스케줄링이란, 현재 CPU를 점유하고 있는 프로세스가 있더라도,더 높은 우선순위의 프로세스나 조건을 만족하는 다른 프로세스가 도착하면 현재 프로세스를 중단하고 CPU를 강제로 회수하는 방식입니다.이는 실시간성 향상과 응답 시간 단축을 위한 핵심 스케줄링 전략이며,대부분의 현대 운영체제에서 채택하고 있습니다.1. 라운드 로빈 (Round Robin, RR)개념각 프로세스는 동일한 시간 할당량(Time Quantum)을 부여받아 CPU를 사용합니다.지정된 시간이 지나면 CPU를 강제로 반납하고 큐의 끝으로 이동합니다.FCFS + 선점형의 성격을 가지고 있으며, 인터랙티브 시스템에 적합합니다.예시타임 퀀텀: 2프로세스도착 시간실행 시간P105P213P328P4..
CPU 스케줄링이란?CPU 스케줄링은 여러 프로세스 중 어떤 프로세스에 CPU를 할당할지 결정하는 운영체제의 핵심 기능입니다.멀티태스킹 시스템에서는 프로세스가 동시에 실행되는 것처럼 보이지만, 실제로는 CPU가 매우 빠른 속도로 프로세스 간 전환(Context Switching)을 통해 처리하고 있습니다.스케줄링 방식은 선점형(Preemptive)과 비선점형(Non-preemptive)으로 나뉘며, 여기서는 비선점형 알고리즘 중 대표적인 FCFS, SJF, 우선순위에 대해 다뤄보겠습니다!비선점형 스케줄링의 개념비선점형(Non-preemptive) 스케줄링은 한 번 CPU를 할당받은 프로세스가 자신의 작업을 모두 끝낼 때까지 CPU를 점유하는 방식입니다.다른 프로세스가 아무리 급한 작업이라도, 현재 실행 ..
교착 상태(Deadlock)의 개념과 발생 배경교착 상태(Deadlock)란 두 개 이상의 프로세스가 서로가 점유한 자원을 기다리며 무한히 대기하는 상태를 의미합니다.이 상태에서는 어떤 프로세스도 진행될 수 없으며, 외부 개입 없이는 절대 해결되지 않습니다.예를 들어 다음과 같은 상황을 생각해볼 수 있습니다:프로세스 A는 자원 R1을 점유하고 R2를 요청프로세스 B는 자원 R2를 점유하고 R1을 요청→ 둘 다 상대 자원이 해제되기를 기다리므로 무한 대기 상태에 빠집니다교착 상태가 실무에서 위험한 이유시스템 자원 낭비: 프로세스들이 끝나지 않고 자원을 점유성능 저하: CPU, 메모리, I/O 대기열이 가득 차는 현상 유발장애 전이: 한 서비스의 교착 상태가 전체 시스템 오류로 이어질 수 있음디버깅 어려움:..
반응형
mint10
'운영체제' 태그의 글 목록