핀수로그
  • IO
    2021년 11월 05일 23시 45분 49초에 업로드 된 글입니다.
    작성자: 핀수
    728x90
    반응형
     

    들어가며

    해당 글은 아래 👇 링크 강의를 수강 후 작성된 글입니다.

    [하프끝] 하루 20분 15일동안 프로그래머 배경지식 이걸로 끝내자!

     

    이지업 I 모두를 위한 IT클래스

    모두를 위한 IT교육 이지업클래스! 오프라인 전문 강의를 바탕으로 쉽게 강의를 듣고 올릴 수 있는 지식공유 플랫폼

    www.easyupclass.com

     

    IO

    Input -> 저장

    Output -> 읽기

    어디에?

    하드디스크에!

     

    => 하드디스크에 읽거나 쓰려고 하는 것

    프로그램을 짤 때 IO를 최대한 줄여야한다

     

    왜?

    IO를 줄여야 CPU의 처리 속도가 빨라짐

     

    만약 내가 가진 CPU가 한번에 100개를 처리할 수 있는 능력 쩌는 CPU인데

    IO가 발생하면 CPU에게 들어오는 수많은 요청을 처리할 때

    제 성능을 발휘하지 못하는 경우가 생길 수 있다

     

    왜?

    지난 시간에 배웠듯

    하드디스크는 굉장히 속도가 느리다

    하나의 일만 처리할 수 있는 CPU는 이를 기다리느라 일을 못하기 때문!

     

    더티 체킹 (from JPA)

    나는 새우깡을 한번에 10나 먹을 수 있는 능력자!

    네명의 친구들이 나에게 새우깡을 하나씩 주면(요청)

    나는 그걸 먹고 메모지에 먹은 것을 기록(IO)해야한다.

    모든 프로그램이 이렇게 짜여야한다.

    -> 여러가지를 동시에 처리하고 나서,

    시간이 남을 때 (CPU가 놀때)

    이때 기록을 해야한다(IO)

     

    🤔 IO가 많이 발생하면 어떡하조?

    IO가 많이 발생 -> 컴퓨터는 느려짐

     

    해결 방법

    - 메모리를 늘린다.

    메모리에 내가 원하는 데이터가 있으면 캐싱될 테니까

     

    이말인 즉슨

    필요한 데이터가 최대한 많이 메모리에 있으면 된다. -> 캐싱될테니까

     

    => IO를 줄이면 컴퓨터는 빨라진다

     

    IO를 줄일 수 없다면요?ㅠ (통신을 통한 파일 다운로드)

    우리가 필요한 데이터가 있는데 이를 다운 받아야한다고 가정해보자

     

     

    • 다운로드는 CPU가 아닌 저장장치가 하는 것임 (CPU는 이때 논다..탱자탱자)
    • 따라서 다운로드 데이터는 램으로 간다
    • 이때 램의 용량이 4GB라면 OS가 반 정도를 차지하고 있음
    • 만약 다운 받는 데이터가 8GB라면 램이 현재 받을 수 있는 데이터의 용량은 2GB
    • 그래서 일단 2GB 받아서 하드에 저장 (IO), 램 비우고 다시 2GB 받아서 하드에 저장 (IO)
    • 이를 반복

    이러한 IO를 줄이기 위한 가장 좋은 방법이

    분산처리

    IO가 일어나면 CPU와 램의 성능이 아무리 좋다고 해도

    제 성능을 발휘하기 힘들다

    다운로드 속도에 중요하게 관여하는 것이 하드디스크이기 때문

     

    예를 들어

    다운 받아야할 데이터가 20GB이면 겁나 좋은 컴퓨터 한대보다

    적당한 사양의 컴퓨터 4대가 더 빠르다는 의미이다.

     

    728x90
    반응형

    '배경지식 > 배경지식' 카테고리의 다른 글

    포인터  (0) 2022.04.17
    환경변수  (0) 2021.11.07
    다다익램  (0) 2021.11.05
    비트(bit) 주세요  (0) 2021.11.05
    전자, 반도체, 2진수, 축전기  (0) 2021.11.05
    댓글