CS Repository/운영체제 - Dinosaur Book + @ 2

동시성 vs 병렬성

오랜만에 용어를 다시보니 헷갈려서 정리한다.동시성 vs 병렬성핵심 정의동시성(Concurrency): 여러 작업이 같은 시간 구간에 진행되며, 실행이 교차(interleave) 될 수 있는 성질.단일 코어에서도 가능(스케줄링/컨텍스트 스위치).병렬성(Parallelism): 여러 작업이 같은 시각에 실제로 실행되는 성질.멀티코어/멀티프로세서에서 물리적 동시 실행.따라서, 병렬 실행은 “같은 시간 구간에 진행”을 만족하므로 동시성도 만족한다.하지만 동시성은 단일 코어에서도 성립하므로 병렬성이 없어도 동시성은 성립한다.이 관계를 집합으로 보면Concurrency ⊇ Parallelism 상호 배타적이 아니라, 병렬성은 동시성 안에 포함된다(포함 관계).예시로 구분동시성 O, 병렬성 X단일 코어에서 스레드 A..

프로세스와 스레드, 교착 상태

아래 내용은 면접을 대비한, 간단하게 정리된 프로세스와 스레드, 교착 상태에 대한 내용이다.프로세스와 스레드프로세스정의: 실행 중인 프로그램의 독립된 인스턴스이다.특징:각 프로세스는 별도의 메모리 공간과 시스템 자원을 보유한다.다른 프로세스와의 통신은 주로 IPC(Inter-Process Communication)를 통해 이루어진다.의의: 시스템 안정성과 보안을 위해 프로세스 간의 강한 격리를 제공한다.스레드정의: 하나의 프로세스 내에서 실행되는 경량 작업 단위이다.특징:동일 프로세스 내의 스레드들은 메모리 공간과 자원을 공유한다.스레드 간 전환 비용이 낮아 효율적으로 작업을 수행할 수 있다.한 프로세스 내에서 여러 스레드를 사용하여 병렬 처리가 가능하다.의의: 자원 공유와 빠른 전환을 통해 응용 프로그..