- [ CS/컴퓨터구조와 운영체제 ][운영체제] 동기화 기법 : 모니터, 인터페이스, 그리고 조건 변수2025-04-01 10:40:35모니터, 인터페이스, 그리고 조건 변수1. 모니터 (Monitor)모니터는 공유 자원(데이터)과 이 자원에 접근하는 프로시저(메서드)들을 하나로 묶고, 자동적으로 상호 배제(Mutual Exclusion) 기능을 제공하는 고급 동기화 추상화 구조다. 프로그래머가 락(lock) 관리를 명시적으로 하지 않아도 안전하게 공유 자원을 다룰 수 있도록 돕는다.목적: 복잡한 동기화 문제를 단순화하고, 락/세마포 등을 직접 사용할 때 발생하기 쉬운 오류(예: 데드락, 잘못된 락 순서)를 줄임.주요 특징:상호 배제 (Mutual Exclusion): 모니터 내부에 정의된 프로시저(메서드)는 한 번에 오직 하나의 스레드만 실행할 수 있음. 즉, 모니터 자체가 암묵적인 락을 관리.캡슐화 (Encapsulation): 모니..
- [ CS/컴퓨터구조와 운영체제 ][운영체제] 동기화 기법 : 세마포, wait/signal 함수, 그리고 대기 큐2025-04-01 10:25:28세마포, wait/signal 함수, 그리고 대기 큐1. 세마포 (Semaphore) 란?세마포는 공유 자원에 대한 접근을 제어하거나, 프로세스/스레드 간의 실행 순서를 동기화하기 위해 사용되는 정수 변수이다. 뮤텍스가 오직 하나의 스레드만 접근을 허용하는 것(상호 배제)에 초점을 맞춘다면, 세마포는 '사용 가능한 자원의 개수'를 관리하는 데 주로 사용된다.핵심 구성: 정수 값 (사용 가능한 자원의 수를 나타냄)과 두 가지 원자적 연산(wait, signal).종류:카운팅 세마포 (Counting Semaphore): 임의의 정수 값을 가질 수 있으며, 여러 개의 동일한 자원에 대한 접근을 제어할 때 유용함 (예: 사용 가능한 프린터 3대).바이너리 세마포 (Binary Semaphore): 0 또는 1..
- [ CS/컴퓨터구조와 운영체제 ][운영체제] 동기화 기법 : 뮤텍스 락, acquire/release 함수, 그리고 바쁜 대기2025-04-01 10:11:071. 뮤텍스 락, acquire/release 함수, 그리고 바쁜 대기1-1. 뮤텍스 락 (Mutex Lock) 이란?뮤텍스(Mutex, Mutual Exclusion) 락은 여러 스레드가 동시에 공유 자원에 접근하는 것을 막기 위한 동기화 기법이다. 임계 구역(Critical Section)이라고 불리는 코드 영역을 한 번에 하나의 스레드만 실행하도록 보장하여 데이터의 일관성을 지킨다.상호 배제: 뮤텍스의 가장 핵심적인 기능. 하나의 스레드가 특정 자원이나 코드 영역에 접근하면, 다른 스레드는 해당 스레드가 락을 해제할 때까지 기다려야 함.공유 자원 보호: 여러 스레드가 동시에 접근하여 값을 변경할 때 발생할 수 있는 경쟁 상태(Race Condition)를 방지.동기화: 스레드들의 실행 순서를 제어하..
- [ CS/컴퓨터구조와 운영체제 ][컴퓨터 구조] 보조기억장치(하드 디스크, 플래시 메모리)2025-03-26 11:43:00하드 디스크 드라이브(HDD)컴퓨터의 핵심 저장 장치이다. 요즘은 SSD로 대체되고 있는 추세이다.1. HDD 주요 구성 요소플래터 (Platter):데이터 저장 매체인 자기 디스크.다수 플래터 적층 구조, 양면 데이터 저장.스핀들 (Spindle):플래터 고속 회전 담당 모터.RPM(분당 회전수)으로 속도 표기, 높을수록 데이터 접근 속도 향상.헤드 (Head):플래터 표면 데이터 읽기/쓰기 수행.플래터 양면에 각 1개 배치, 플래터와 비접촉 상태 유지.디스크 암 (Disk Arm):헤드 목표 위치 이동 담당.액추에이터 작동, 정밀 이동으로 빠른 데이터 접근.트랙 (Track):플래터 표면 데이터 저장용 동심원.각 트랙은 다수 섹터로 분할.섹터 (Sector):트랙 따라 데이터 저장 최소 단위.일반적으..
- [ CS/컴퓨터구조와 운영체제 ][컴퓨터구조] 캐시 메모리 및 저장 장치 계층 구조 관련 용어 정리2025-03-25 11:18:29캐시 메모리 및 저장 장치 계층 구조 관련 용어 정리1. 캐시 메모리 (Cache Memory)CPU와 주기억장치(RAM) 사이에 위치한 고속의 임시 저장 장치CPU의 처리 속도와 주기억장치의 접근 속도 차이를 줄여 시스템 성능 향상자주 사용되는 데이터나 명령어를 저장하여 CPU가 빠르게 접근 가능L1, L2 캐시L1, L2 캐시는 CPU 코어 내부의 일부로 간주L1 캐시는 명령어 캐시(L1I)와 데이터 캐시(L1D)로 분리된 경우도 있으며, L2 캐시는 통합된 형태L3 캐시CPU 코어 외부에 위치하며, 여러 코어가 공유하는 형태로 구성L3 캐시는 코어 내부의 L1, L2 캐시보다 접근 속도는 느리지만 용량이 큼최신 CPU의 경우 L3 캐시도 CPU코어와 같이 패키지 안에 포함되어있는 경우가 많음2. 저..