1 컴퓨터의 시작/1 2 메모리에 대해서

기술노트

메모리는 저장이라는 뜻이다. 컴퓨터에는 크게 두가지 저장 개념이 있다. 오래 저장하는 것과 잠깐 저장하는 것 오래 저장하는 것은 파일이라는 형태로 디스크에 저장이 되며 디스크는 우리가 이해하는 하드디스크이다.

저장하는 것은 명령어나 데이터의 형태로 메모리에 저장되는 것이며 프로그램을 종료했을 때 또는 컴퓨터를 껐을 때 심지어 프로그램을 종료하지도 않았는데도 사라지는 경우가 있다. 이렇게 단기적인 기억을 위해서 메모리가 존재하는 이유는 컴퓨터의 전체적인 성능을 높이기 위한 것이다.

컴퓨터의 성능은 무엇에 좌우 될까? 처음 설명한 CPU 연산의 능력, 속도이다. 속도는 클럭으로 표현을 하였다. 빠르게 처리하는 것이 컴퓨터의 성능이다.

메모리가 왜 컴퓨터의 전체 성능을 좌우할까? CPU가 일을 하려면 일의 내용이 CPU로 전달이 되어야 한다. 이 명령어나 데이터는 파일에 일부로 담겨있다. 파일은 하드 디스크에 저장이 되어 있다. 파일의 일부 내용이 하드 디스크에서 CPU까지 전달하려면 데이터가 BUS를 타야 한다. 컴퓨터 안에도 버스가 있다. BUS의 약어를 찾아봐도 나오지 않는 거 봐서는 우리가 타는 BUS에서 유래되었다고 생각해도 될거 같다. 개념적으로는 같다. 컴퓨터 안에 데이터들을 싣어 날라주는 연결선이다. 데이터 버스 이렇게 부른다.

그러면 하드디스크에 있는 파일의 일부가 이 버스를 타고 CPU로 올라간다. CPU에서 일처리가 끝나면 결과가 다시 버스를 타고 어디론가 흘러간다. 이렇게 버스로 컴퓨터안에서 오간다. 이때 문제는 버스가 상대적으로 느리다는 것이다. 상대적이라는 말을 이해해야 하는 것은 컴퓨터 안에서 데이터가 오가는 속도는 굉장히 빠르다. 사실 하드디스크가 느리다고 말하지만, 엄청난 속도로 실린더를 돌고 있다. CPU가 빠른 처리를 하기 위해 하드디스크의 파일의 내용 일부를 메모리에 올려 놓고 수행을 한다.

여기서 자꾸 프로그램의 일부라고 하는 이유는 프로그램이 얼마나 큰가 그 파일이 메모리에 한꺼번에 다 올라가는 것이 아니다. 메모리는 매우 한정된 공간이기때문에 프로그램 중 일부가 올라가는 것이다. 메모리는 CPU가 하고자 하는 일을 임시 저장한다. 메모리를 하드디스크보다 훨씬 속도가 빠르기 때문에 CPU의 일거리를 바로 바로 줄수가 있다. 그래서 CPU가 일을 얼마나 빨리 처리하느냐도 중요하지만, 옆에 일을 얼마나 많이 잘 대기 시켜줄 수 있느냐도 중요하다. 메모리는 그래서 일을 쌓아두는 임시 창고 같은 곳이다. 그래서 그 창고의 크기가 중요하다. 그래서 CPU는 속도가 중요하고, 메모리는 크기가 중요하다. 사실 메모리를 많이 쓰게 되면 속도는 빨라질 수 있다. 하지만 창고가 크다고 해서 일처리가 느리다면 메모리만 많다고 일이 빨라지는 것은 아닐 것이다. 전체 컴퓨터 성능에는 영향을 미친다. 메모리가 많아야 하는 경우는 어떤 경우일까? 일처리를 빨리만 해야 한다면 사실 CPU의 성능이 중요할텐데, 메모리가 많아지면 성능이 좋아질 수 있는 경우는 많은 양의 데이터를 한꺼번에 메모리에 올려 실행하는 프로그램이 있는 경우이다. 대표적인 것이 게임이다. 최근 게임들을 보면 용량이 엄청 크다. 그래픽 사양도 높다. 한꺼번에 메모리에 올려야 할 파일도 많아진다. 그리고 여러개의 작업을 동시에 많이 하는 경우라면 메모리가 많이 필요하다. 이유는 메모리에 여러개의 프로그램의 일부분이 올라가기 때문이다.

개발자, 기술사, 삼성, 외국계 IT기업 20년차 기술노트 알렉이 직접 작성한 IT기업 기술 면접을 위한 CS + 면접 노하우 PDF <https://kmong.com/self-marketing/539751/LUA54VnQsP> 자주 나오는 CS 질문과 답변 그리고 100번 이상 면접관으로 참여하면서 느꼈던 면접자가 알아야 할 팁 13가지 포함

백엔드 개발자를 위한 클라우드 강의, AWS <https://inf.run/o1NX>

이제는 비전공자도, 일반이도 개발할 수 있다. ChatGPT를 이용한 누구나 앱개발 with 알렉 <https://inf.run/rpX4>

백엔드 직접 번역한 도서 <https://www.yes24.com/Product/Goods/122536127>

IT기술의 거의 모든 것을 다루는 기술노트with알렉 유투브 <https://www.youtube.com/c/%EA%B8%B0%EC%88%A0%EB%85%B8%ED%8A%B8with%EC%95%8C%EB%A0%89>