- IO2021년 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 다음글이 없습니다.이전글이 없습니다.댓글