[cs] process & thread, CPU scheduling

serotonins·2023년 10월 18일

추가 공부

multiprocessor의 두가지 종류

shared memory

shared data(shared buffer), producer process, consumer process

UMA

NUMA

연산 속도가 다 다르잖아
synchronization 어떻게 할지

=> critical-section problem 발생 가능
한 프로세가 shared data를 사용할 때 critical section이 지금 쓰고 있다고 알리기도 하고, 다 썼다고 알리기도 하고
entry section : critical section 접근하기 전 접근 가능 여부 확인하는
exit section : 사용 끝났어요~ 해주는

==> 세가지 조건이 보장되어야
mutual exclusion(한 프로세서가 수행 중이면 다른 애는 shared data 사용 불가)
progress(아무도 안 쓰고 있다가 누가 쓰려고 하면 바로 쓸 수 있어야)
bounded waiting(어느 시간 이상 기다리면 무조건 쓸 수 있게, 기아 현상 방지)

message Passing

각각의 프로세서가 개인의 physical address space 가지고 있다
그 메모리들이 interconnection network로 연결되어 있다
동기화 과정이 필요 없다
그냥 여기 있는 메모리를 복사 > 전송
근데 오래 걸린다
아주 적은 메모리만 사용하는 경우에 쓰는 듯

스케줄링 척도

CPU Utilization(이용률) : CPU가 얼마나 빡세게 일하는지
Throughput(처리율) : 시간 당 몇 개의 작업 처리 가능한지
Turnaround time(반환시간) : 준비 큐 들어가서 나오는 시간
waiting time : 대기 큐에서 얼마나 대기했는지
response time : 작업 요청 후 첫 응답이 나올 때까지 걸리는 시간

0개의 댓글