반응형 스레드2 [운영체제] OS의 스케쥴링의 방식과 멀티레벨 스케쥴링, 스레드 스케쥴링 (PCS, SCS) - CPU Scheduling CPU SchedulingCPU가 실행할 프로세스를 선택하는 행위를 CPU 스케줄링이라고 한다.Basic ConceptsCPU가 놀지 않고 효율을 극대화하기 위해 스케줄링 알고리즘이 필요하다.레디 큐(ready queue) 에 여러 프로세스가 대기 중일 때(멀티프로그래밍 환경에서) 의미가 있다.Instruction CycleCPU executionI/O wait : 이때 CPU는 사용되지 않음프로세스는 CPU burst → I/O burst → ... 형태로 번갈아가며 수행된다.이때 CPU burst의 분배가 스케줄링의 핵심이다.CPU SchedulerShort-term Scheduler레디 큐에서 실행할 프로세스를 선택하고, CPU 실행 권한을 부여한다.프로세스 상태 변화에 따라 스케줄러가 작동하는 경.. 2025. 4. 15. [운영체제] OS의 스레드 종류(User, Kernel)와 관련 아키텍처 소개 운영체제 스레드 (Threads)Multithreaded Server 아키텍처서버는 accept()라는 블로킹 함수를 실행해서 대기하다가, 요청을 받으면 소켓을 할당을 해서 read()라는 블로킹 함수로 읽을 수 있다. 서버는 클라이언트 연결요청을 기다린다. 클라이언트가 보낸 요청을 읽어서 수행한다.request는 이미 연결이 성공 후 보내는 것이다.서버는 read()함수를 이용해서 서버가 처리를 해준다. → task → 별도의 스레드로 테스크를 할당한다.accept(), read()는 동시에 처리해도(순서가 지켜지지 않아도) 되므로 메인 스레드는 항상 accept()하면서 concurrent하게 진행이 된다.장점Responsiveness: 프로세스의 일부가 block 되더라도 다른 task는 진행된다... 2025. 4. 13. 이전 1 다음