본문 바로가기

기술지식/CS3

[CS/운영체제] Race Condition, Semaphore & Mutex ✅  Race Condition공유 자원(Shared Resource)시스템 안에서 각 프로세스, 스레드가 함께 접근할 수 있는 모니터, 프린터, 메모리, 파일, 데이터 등의 자원이나 변수경쟁 상태 (Race Condition)공유 자원을 두 개 이상의 프로세스가 동시에 읽거나 쓰는 상황 ⇒ 결과값에 영향임계 구역(Critical Section)각 프로세스에서 공유 데이터에 접근하는 코드 부분임계구역 문제 해결 원칙상호 배제(mutual exclusion): 한 프로세스가 임계구역에 진입했다면 다른 프로세스는 들어올 수 없다.진행(progress) : 임계 구역에 어떤 프로세스도 진입하지 않았다면 진입하고자 하는 프로세스는 들어갈 수 있어야한다.유한대기(bounded waiting): 한 프로세스가 임계.. 2025. 2. 26.
[CS/운영체제] Deadlock(데드락) 💡 정의두 개 이상의 프로세스가 무한정 자원을 기다리게 되는 상태💡 발생 조건⇒ 4가지 모두 만족해야함상호 배제 (Mutual exclusion): 한 프로세스가 사용하는 자원을 다른 프로세스가 사용할 수 없는 상태점유와 대기**(Hold and wait)**: 자원을 할당받은 상태에서 다른 자원을 할당 받기를 기다리는 상태비선점**(No preemption)**: 어떤 프로세스도 다른 프로세스의 자원을 강제로 빼앗지 못함원형 대기**(Circular wait)**: 프로세스들이 원형(순환) 형태로 자원을 대기하는 상태💡 해결 방법예방 : 발생 조건 중 하나 제거 ⇒ (-)자원 활용률 ⬇️상호 배제 X: 모든 자원을 공유 가능 하게점유와 대기 X: 특정 프로세스에 자원 모두 할당 or 아예 할당하지.. 2025. 2. 26.
[CS/운영체제]  CPU 스케줄링 💡 정의운영체제가 프로세스들에게 공정하고 합리적으로 CPU 자원을 배분하는 것CPU 이용률을 최대화하여 항상 실행 중인 프로세스를 가지게 한다.💡목표 (시스템에 따라)Batch System사용자와의 직접적인 상호작용 없이 작업을 일괄 처리하는 시스템유사한 작업들을 그룹화하여 한 번에 처리 ⇒ 대랑의 데이터 처리, 정기적인 작업에 사용목표: CPU 이용률 극대화, 처리량 극대화Interactive System (대화형 시스템)사용자와 컴퓨터 간 실시간 상호작용이 가능한 시스템사용자의 입력에 즉각적으로 응답ex. 개인용 컴퓨터의 운영체제(Windows, macOS)목표: 응답시간 최소화, 사용자 경험 향상Real-time System정해진 시간 제약 내에 작업을 완료해야하는 시스템주로 임베디드 시스템, .. 2025. 2. 26.