OS - 02. Processes and Threads (2)

cs지식/운영체제 2022. 6. 13. 03:51

Scheduling 다음에 실행할 프로세스 또는 쓰레드를 선택하는 과정 스케줄링 시점 프로세스가 생성될 때 프로세스가 종료할 때 프로세스가 I/O, Semaphore, 또는 다른 무언가로 대기할 때 I/O interrupt가 발생할 때 선점 스케줄링 알고리즘(preemptive scheduling)의 경우 Clock Interrupt가 발생할 때 스케줄링 오버헤드(문맥교환비용) 모드 변경 비용(사용자 > 커널 > 사용자) 프로세스 문맥 저장, 복구 메모리 맵 저장, 복구 CPU 캐시 무효화 기타 Process Behavior - 프로세스의 실행 형태 CPU-bound process : 한번실행하면 I/O요청 거의없이 계속 계산만 하는 프로세스. I/O-bound process : 잠깐 계산하고 I/..

Article Thumbnail
OS - 02. Processes and Threads (1)

cs지식/운영체제 2022. 6. 7. 16:46

Race Conditions - ProcessA와 B가 동시에 공유 메모리를 access(접근)하기 원하는 상태. 경쟁상황이 발생할 수 있고, 경쟁 결과에 따라 결과값이 변경될 수 있다. Critical Regions race condition을 피하기 위한 필요 조건 Mutual Exclusion : 상호배제, 동시에 임계구역에 들어갈 수 없도록한다. Progress : 임계 영역 밖에서 실행되는 어떠한 프로세스도 다른 프로세스를 차단할 수 없다. Bounded Waiting : 임계 영역에 들어가기 위해 영원히 기다리는 프로세스는 없도록 한다. 상호배제(Mutual Exclusion)를 구현하기 위한 제안 Disabling interrupts Lock variables Strict alternatio..

Article Thumbnail