개발세발

CPU bound, io bound 본문

코딩공부/OS

CPU bound, io bound

뉼👩🏻‍💻 2022. 12. 20. 15:30
728x90
반응형
SMALL

 

 

프로세스 : 하나의 작업 단위

프로그램 프로세스
어떤 데이터를 사용하여 어떤 작업을 할지 그 절차를 적어놓은 것 '실행한다'라고 표현
프로그램으로 작성된 작업 절차를 실제로 실행에 옮긴다는 의미 

 

프로세스 : 운영체제 입장에서의 작업 단위

스레드 : CPU 입장에서의 작업 단위 

➡️ 프로세스의 코드에 정의된 절차에 따라 CPU에 작업 요청을 하는 실행 단위 

 

 

CPU (central processing unit)

: 프로세스의 명령어를 해석하고 실행하는 장치 

 

I/O (input / output)

- 파일을 읽고 쓰거나 네트워크의 어딘가와 데이터를 주고 받는 것 

- 입출력 장치(ex. 모니터, 마우스 등) 와 데이터를 주거나 받는 것 

 

버스트 (Burst)

: 어떤 현상이 짧은 시간 안에 집중적으로 일어나는 일 

 

 

CPU 버스트

: 프로세스가 CPU에서 한번에 연속적으로 실행되는 시간 

 

I/O 버스트 

: 프로세스가 IO작업을 요청하고 결과를 기다리는 시간 

 

➡️ 프로세스는 CPU버스트와 IO버스트의 연속 

 

 

CPU bound 프로세스

: IO burst는 많지 않고 CPU burst가 많은 프로세스를 의미

ex. 동영상 편집 프로그램, 머신러닝 프로그램

 

IO bound 프로세스

: IO burst가 많은 프로세스 

ex. 백엔드 API 서버  - 기능에 따라 IObound가 아닐 수 있음 

 

Goetz (2002, 2006) - CPU bound 프로그램에서 적절한 스레드 수는 CPU의 숫자 + 1

 

 

https://www.youtube.com/watch?v=qnVKEwjG_gM 

 

https://taes-k.github.io/2021/06/05/cpu-io-bound/

 

CPU Bound vs I/O Bound

CPU bound, IO bound 개발을 함에 있어서 수행하는 로직이 CPU bound 작업 혹은 I/O bound 작업 이라는 말을 많이 들어보셨을 겁니다. 일반적으로 연산이 많이 필요한 로직은 CPU bound, 로컬 파일 시스템 혹은

taes-k.github.io

 

https://velog.io/@carrykim/%EB%B6%84%EC%82%B0-%EC%8B%9C%EC%8A%A4%ED%85%9C-2-3.-CPU-Bound-IO-Bound

 

[분산 시스템] 2-3. CPU Bound & I/O Bound

CPU Bound는 프로세스가 진행될 때, CPU 사용 기간이 I/O Wating 보다 많은 경우다. 주로 행렬 곱이나 고속 연산을 할 때 나타나며 CPU 성능에 의해 작업 속도가 결정된다.반면 I/O Bound는 프로세스가 진행

velog.io

 

 

https://applefarm.tistory.com/105

 

컨텍스트 스위칭이란

멀티프로세스 환경에서 CPU가 어떤 하나의 프로세스를 실행하고 있는 상태에서 인터럽트 요청에 의해 다음 우선 순위의 프로세스가 실행되어야 할 때 기존의 프로세스의 상태 또는 레지스터 값(

applefarm.tistory.com

 

 

 

 

운영체제공부가 아직 제대로 되어 있지 않아서 ...느므 으렵댱, ,, 

728x90
반응형

'코딩공부 > OS' 카테고리의 다른 글

03. 운영체제의 구조  (0) 2022.12.23
운영체제의 역사  (0) 2022.12.22
운영체제란  (0) 2022.12.20
URL, URL, URN (정리중)  (0) 2022.06.23
포트 port  (0) 2022.06.23