suminworld

OS 2

[OS] 뮤텍스 + Block() 방식의 문제점 (Producer-Consumer Problem)

2025-2 운영체제론 강의안 Synchronization II : Semaphore and Condition Variable 일부 정리한 내용입니다 ʕ/·ᴥ·ʔ/1. 문제 상황 개요Producer-Consumer 문제는 생산자 스레드와 소비자 스레드가 하나의 공유 버퍼를 사용하는 상황을 말한다.뮤텍스(lock)는 공유 자원에 대한 상호 배제는 보장하지만, 버퍼가 비어 있거나 꽉 찬 상황에서의 "기다림"이나 "순서 제어"는 제공하지 못한다.이를 해결하기 위해 Block()/Unblock()으로 기다림을 구현하려 시도한 버전이 바로 6페이지의 코드이다.2. 사용된 코드 구조# insert (생산자):if (count == N) Block();buf[++rear % N] = item;Acquire(&l..

concept 2025.11.17

[운영체제론] 가상 메모리

2025-2 운영체제론 수업 중간고사 대비하면서 강의안 기준으로 정리한 내용입니당 φʕ•ᴥ•oʔ시험은 끝났지만 요새 오전 5시에도 잠이 안와서 수면패턴 똥망한김에 정리해보았습니다🫠주의사항> 이 글의 비트 분해 및 주소 계산은 강의 예제(12-bit VA, 9-bit PA, 32B 페이지, 16-line 2-way 캐시)를 기준으로 작성되었습니다.실제 시스템에서는 운영체제(OS) 와 하드웨어 아키텍처, 페이지 크기, 캐시 구성, 메모리 관리 정책 등에 따라 주소 비트의 분할(tag/index/offset) 및 계산 결과가 달라질 수 있습니다!1. Virtual Memory 기본 개념Virtual Memory프로세스마다 독립된 주소 공간을 제공하여, 실제 RAM보다 큰 메모리를 쓸 수 있게 하는 논리적 메..

concept 2025.10.31