30. 컴퓨터 파워 UP

j_hyun11·2022년 2월 23일
0

FUNDAMENTAL

목록 보기
11/11

멀티태스킹

1. 동시성(Concurrency)

  • 하나의 processor가 여러 가지 task를 동시에 수행하는 개념
  • 다른 task를 수행할 수 있는 시간에는 task를 전환해서 효율적으로 여러 개의 task를 동시에 수행하는 것처럼 보임

2. 병렬성(Parallelism)

  • 유사한 task를 여러 processor가 동시에 수행하는 것

동기 vs 비동기 (Synchronous vs Asynchronous)

  • 동기 : 어떤 일이 순차적으로 실행됨, 앞 작업이 종료되기를 무조건 기다렸다가 다음 작업을 수행
  • 비동기 : 어떤 일이 비순차적으로 실행됨, 바운드되고 있는 작업을 기다리는 동안 다른 일을 처리하는 것

I/O Bound vs CPU Bound

  • I/O 바운드 : 입력과 출력에서의 데이터(파일)처리에 시간이 소요될 때
  • CPU 바운드 : 복잡한 수식 계산이나 그래픽 작업과 같은 엄청난 계산이 필요할 때

Process(프로세스)

  • 프로그램을 구동하여 프로그램 자체와 프로그램의 상태가 메모리상에서 실행되는 작업 단위

Thread(스레드)

  • 어떠한 프로그램 내, 특히 프로세스 내에서 실행되는 흐름의 단위
  • 같은 작업을 좀 더 빠르게 처리하기 위해 여러 개의 스레드를 생성하기도 함

프로파일링(Profiling)

  • 코드에서 시스템의 어느 부분이 느린지 혹은 어디서 RAM을 많이 사용하고 있는지를 확인하고 싶을 때 사용하는 기법

Scale Up vs Scale Out

  • Scale-Up : 한 대의 컴퓨터의 성능을 최적화시키는 방법
  • Scale-Out : 여러 대의 컴퓨터를 한 대처럼 사용

0개의 댓글