데드락(4)
-
운영체제 락 개념과 동기화 기법 (4. OS 내부 락과 문제 해결)
🔍 락의 문제점과 해결 방법 (데드락, 우선순위 역전)멀티스레딩 환경에서 락(Lock)을 사용할 때 데드락(Deadlock) 및 우선순위 역전(Priority Inversion) 같은 문제가 발생할 수 있습니다.이를 방지하고 해결하기 위한 운영체제(OS)에서 제공하는 기법들을 학습해보겠습니다.🎯 학습 목표락(Lock)의 주요 문제점:데드락(Deadlock): 여러 개의 스레드가 서로 Lock을 해제하기를 기다리며 무한 대기 상태에 빠지는 문제.우선순위 역전(Priority Inversion): 낮은 우선순위 스레드가 높은 우선순위 스레드보다 먼저 Lock을 획득하여 성능 저하를 유발하는 문제.해결 방법:데드락 해결 방법: 예방, 회피, 탐지 기법 학습.OS 커널 락(Kernel Lock) 학습: Li..
2025.02.26 -
운영체제 락 개념과 동기화 기법 (2. 기본 락(Lock) / 2-1. 뮤텍스(Mutex))
📖 2-1. 뮤텍스(Mutex)뮤텍스(Mutex, Mutual Exclusion)는 여러 개의 스레드가 동시에 공유 자원에 접근하는 것을 방지하는 동기화 기법입니다.운영체제(OS) 내부에서 지원하는 기본적인 동기화 기법으로, 한 번에 하나의 스레드만 자원에 접근할 수 있도록 보장합니다.✅ 뮤텍스란?🔹 뮤텍스의 개념Mutex는 상호 배제(Mutual Exclusion) 를 의미하며, 한 번에 오직 하나의 스레드만 공유 자원(임계 영역)에 접근할 수 있도록 보장합니다.스레드가 Mutex를 획득(lock)하면, 다른 스레드는 Mutex가 해제(unlock)될 때까지 대기 상태에 머뭅니다.pthread_mutex_t를 사용하여 구현되며, 운영체제가 직접 제공하는 동기화 도구 중 하나입니다.🔹 뮤텍스의 특징..
2025.02.26 -
운영체제 락 개념과 동기화 기법 (1. 운영체제에서 동기화 / 1-2. 임계 영역(Critical Section)과 해결 방법)
📖 1-2. 임계 영역(Critical Section)과 해결 방법멀티스레딩 환경에서 여러 개의 스레드가 동시에 실행될 때 공유 자원(Shared Resource)에 동시에 접근하면 데이터 손상(Data Corruption) 또는 예상치 못한 동작이 발생할 수 있습니다.이러한 문제가 발생하는 코드 영역을 임계 영역(Critical Section) 이라고 하며, 이를 해결하기 위해 동기화 기법(Synchronization Techniques) 이 필요합니다.✅ 임계 영역(Critical Section)이란?🔹 정의임계 영역(Critical Section)이란 여러 개의 스레드가 동시에 실행될 경우, 충돌이나 오류가 발생할 가능성이 있는 코드 영역을 의미합니다.예제: 임계 영역이 필요한 상황데이터베이스 ..
2025.02.26 -
운영체제 락 개념과 동기화 기법 (1. 운영체제에서 동기화 / 1-1. 동기화(Synchronization)란?)
📖 1-1. 동기화(Synchronization)란?운영체제(OS)에서 동기화(Synchronization) 는 여러 개의 프로세스 또는 스레드가 공유 자원(Shared Resource)에 안전하게 접근할 수 있도록 하는 기법입니다.멀티태스킹 환경에서 경쟁 상태(Race Condition)와 데이터 무결성(Data Integrity) 문제를 해결하기 위해 필수적입니다.✅ 운영체제(OS)에서 동기화란?운영체제는 멀티태스킹(Multitasking) 기능을 지원하며, 여러 개의 프로세스 또는 스레드가 동시에 실행될 수 있는 환경을 제공합니다.하지만, 이때 여러 스레드가 동일한 자원(변수, 파일, 메모리 등)에 접근할 경우 문제가 발생할 수 있습니다.이를 방지하고 안전한 데이터 처리를 보장하기 위해 동기화(S..
2025.02.26