본문 바로가기

thread

cpu bound vs io bound 버스트(Burst) 어떤 현상이 짧은 시간 안에 집중적으로 일어나는 일. CPU 버스트(Burst) 프로세스가 CPU에서 한번에 연속적으로 실행되는 시간. (즉, time splice 동안 프로세스의 명령어들이 연속적으로 실행된 시간) I/O 버스트(Burst) 프로세스가 I/O 작업을 요청하고 결과를 기다리는 시간. 프로세스의 인생은 CPU Burst와 IO Burst의 연속 프로세스는 위 그림과 같이 CPU Burst 작업과 I/O 작업, 이 2가지 작업만을 번갈아 가면서 실행하게 되고, 실행이 끝이 난다. 대부분의 프로세스는 CPU Burst 8ms 내로 끝이 난다. CPU bound 프로세스 CPU Burst가 많은 프로세스. CPU Bound 프로세스의 예시 1. 동영상 편집 프로그램 -> 동영.. 더보기
Thread Context Switching vs Process Context Switching context switching(문맥 교환) CPU/코어에서 실행 중이던 프로세스/스레드가 다른 프로세스/스레드로 교체되는 것. ( 엄연히 말하면 위 정의는 틀렸다. 오늘날의 CPU는 실행 단위(unit of execution)를 스레드로 한다. 그렇기에 더이상 cpu는 프로세스를 실행한다는 말은 성립이 되지 않기에, 실행 중이던 프로세스가 다른 프로세스로 교체되는 것은 더 이상 성립이 되지 않는다. 만약 누군가가 프로세스에 대해 문맥 교환이 일어났다고 함은, 그건 싱글 스레드로 구성된 프로세스가 있는 데, 그 스레드가 다른 프로세스의 싱글 스레드로 교체가 되었다는 말이다.) Context 프로세스/스레드의 상태(cpu상태, 메모리 상태 등등) Context Switching이 일어나는 시점 1. 주어진.. 더보기