2026/01/09 2

[OS 공룡책] 6. Synchronization Tools, 7. Examples

동시 접근이 일어나면 항상 발생하는 문제가data inconsistency - 일관성 문제이다 JVM에서 공부했던 내용이라 간략하게만 언급하면스레드는 메모리를 공유하기 때문에 - 정확하게는 힙 영역을 공유하기 때문에 발생한다 c언어 예시이긴 하지만sum++이 결국 sum (현재 값을 읽고->증가된 값 쓰기) 로직이니까동시에 접근하는 값이 최신 값이 아니게 되면서 정합성이 깨지기 시작한다 자바 고급1에서 너무 많이했으니 패스 Race Condition한국어로 교착상태여러개의 프로세스가 하나의 값 수정을 할때 발생하는 문제 교착상태가 발생하는 코드 구역을 ciritical section이라고 부르는데세부적으로 코드 영역을 4가지로 구분한다 여기서는 아직 락을 배우지 않았지만 언급하겠다 - entry..

CS/OS 2026.01.09

[OS 공룡책] 5. CPU Scheduling

하나의 cpu를 왜 sharing 해야하는지는 처음에 알아봤다복습해보면전제는 cpu는 굉장히 빠르기 때문에 처리량에 비해 놀고 있는 상황이고,cpu utilization 즉 사용량을 극대화 하기 위해 여러가지 프로세스를 번갈아 가며 처리하기 위함 이는 기본적으로 IO bound가 cpu bound보다 훨씬 길기 때문에 발생한다 이제 cpu를 어떤 프로세스에게 어떻게 분배할것인가? 가 스케줄링이다좀더 구체적으로 ready queue에 들어가있는 프로세스들에게 어떻게 할당할것인가? 크게 두가지가 있는데- FIFO Queue- Priority Queue 그리고 구체적인 방법론을 이해하기 위해- Preemptive 선점형- Non-preemptive 비선점형개념이 나온다 이게 말이 좀 헷갈리는데주체는 cpu ..

CS/OS 2026.01.09