본문 바로가기

전체 글136

컨텍스트 스위칭(Context Switching)은 왜 느릴까 멀티스레딩을 공부하다 보면 자연스럽게 “왜 스레드를 많이 쓰면 오히려 느려질 수도 있을까?”라는 의문이 생긴다. 나도 처음에는 스레드를 많이 쓰면 무조건 빠를 거라고 생각했다. 그런데 실제로 간단한 프로그램을 만들어보면서, 스레드를 늘릴수록 오히려 속도가 떨어지는 상황을 경험했다. 그때 처음으로 ‘컨텍스트 스위칭’이라는 개념을 제대로 찾아보게 됐다. 컨텍스트 스위칭은 CPU가 작업을 바꿀 때 발생하는 비용이다CPU는 한 번에 하나의 작업만 실행할 수 있다. 물론 멀티코어 CPU라면 여러 작업을 동시에 처리할 수 있지만, 하나의 코어 기준으로 보면 여전히 한 순간에는 하나의 스레드만 실행된다. 그런데 우리는 여러 프로그램이 동시에 실행되는 것처럼 느낀다. 이건 CPU가 아주 빠르게 작업을 번갈아가며 처리하.. 2026. 5. 6.
멀티스레딩은 왜 빠를까 (병렬 처리의 원리) 프로세스와 스레드 개념을 이해하고 나면 자연스럽게 궁금해지는 게 있다. “그럼 스레드를 여러 개 쓰면 왜 더 빠른 거지?” 나도 처음에는 단순하게 “여러 개니까 빠르겠지” 정도로 생각했다. 그런데 실제로는 상황에 따라 체감 속도가 크게 달라지기도 하고, 어떤 경우에는 오히려 느려지는 경우도 있었다. 이걸 이해하려면 멀티스레딩이 어떻게 동작하는지 조금 더 구조적으로 볼 필요가 있다. 멀티스레딩은 작업을 동시에 처리하는 것이 아니라 ‘나눠서’ 처리하는 방식이다많은 사람들이 멀티스레딩을 “모든 작업을 동시에 실행하는 것”이라고 생각하는데, 실제로는 조금 다르다. 핵심은 하나의 작업을 여러 개로 나눠서 처리하는 데 있다. 예를 들어 큰 파일을 다운로드한다고 하면, 하나의 스레드로 처리할 수도 있지만, 여러 개의.. 2026. 5. 5.
스레드(Thread)와 프로세스(Process)는 무엇이 다를까 컴퓨터 관련 개념을 조금만 공부하다 보면 ‘프로세스’와 ‘스레드’라는 단어를 자주 보게 된다. 처음에는 둘 다 그냥 프로그램 실행과 관련된 용어 같아서 크게 구분하지 않고 넘겼다. 나도 초반에는 그냥 “둘 다 비슷한 거 아닌가?”라고 생각했었다. 그런데 조금 더 들여다보니까, 이 둘은 구조 자체가 완전히 다르고, 역할도 꽤 명확하게 나뉘어 있었다. 프로세스는 ‘실행 중인 프로그램’ 그 자체다프로세스는 간단하게 말하면 실행되고 있는 프로그램 하나를 의미한다. 예를 들어 우리가 크롬을 켜면, 단순히 프로그램이 열리는 게 아니라 하나의 프로세스가 생성된다. 게임을 실행해도, 메모장을 열어도 각각 별도의 프로세스로 동작한다.여기서 중요한 점은 프로세스는 서로 독립적으로 동작한다는 것이다. 각 프로세스는 자기만의.. 2026. 5. 5.
왜 같은 프로그램인데도 컴퓨터마다 결과가 다를까 처음에는 컴퓨터가 굉장히 정확한 기계라고 생각한다. 같은 프로그램을 실행하면 어디서든 똑같은 결과가 나올 것 같기 때문이다. 나도 예전에는 그렇게 믿었다. 그런데 실제로는 같은 프로그램을 실행했는데도 결과가 조금씩 다르게 나오는 경우가 있다. 특히 숫자 계산이나 그래픽, 또는 특정 기능에서 이런 차이를 경험하게 된다. 처음에는 “이게 왜 다르지?”라는 생각이 들었는데, 조금씩 원리를 알아보니까 생각보다 이유가 많았다. 컴퓨터는 같아 보여도 내부 환경은 모두 다르다겉으로 보기에는 같은 컴퓨터처럼 보여도, 내부 구성은 생각보다 다양하다. CPU 종류, 운영체제(OS), 메모리 구조, 심지어 사용하는 라이브러리까지 모두 다를 수 있다.예를 들어 같은 프로그램이라도:Windows에서 실행할 때와 macOS에서 .. 2026. 5. 4.
컴퓨터는 왜 ‘완벽하게’ 계산하는데 프로그램은 오류가 날까 컴퓨터는 기본적으로 매우 정확한 기계다. 1+1 같은 계산은 절대 틀리지 않고, 같은 입력을 주면 항상 같은 결과를 낸다. 그래서 처음에는 “컴퓨터는 완벽하다”는 느낌을 받기 쉽다. 그런데 막상 프로그램을 사용하다 보면 오류가 자주 발생한다. 갑자기 프로그램이 멈추거나, 예상과 다른 결과가 나오기도 한다. 나도 처음에는 이게 이해가 잘 안 됐다. 이렇게 정확한 기계가 왜 이렇게 자주 틀릴 수 있을까? 컴퓨터는 틀리지 않지만, 프로그램은 사람이 만든다이 문제를 이해하려면 먼저 중요한 차이를 알아야 한다. 컴퓨터 자체는 계산을 틀리지 않는다. CPU는 주어진 명령을 그대로 실행하고, 전기 신호에 따라 정확하게 연산을 수행한다. 즉, 기계적인 관점에서는 오류가 거의 없다.문제는 그 위에 올라가는 ‘프로그램’이.. 2026. 5. 4.
AI는 왜 길게 설명할수록 더 틀릴 가능성이 높아질까 AI에게 짧은 질문을 하면 꽤 정확하게 답할 때가 많다. 그런데 이상하게도 긴 설명을 부탁하거나, 여러 단계를 거쳐야 하는 질문을 하면 중간중간 틀린 내용이 섞이는 경우가 있다. 처음에는 단순히 AI가 실수한 것처럼 보이지만, 사실 이 현상은 AI가 답변을 만드는 방식과 꽤 관련이 있다.나도 처음에는 AI가 길게 설명하면 더 자세하고 정확할 거라고 생각했다. 그런데 막상 긴 글을 받아보면 앞부분은 괜찮은데 뒤로 갈수록 말이 조금씩 흐려지거나, 처음에 했던 말과 뒤의 설명이 맞지 않는 경우가 있었다. 그때부터 “AI는 왜 길게 말할수록 더 위험해질까?”라는 궁금증이 생겼다. AI는 한 번에 전체 답을 완성하는 것이 아니라 문장을 이어가며 만든다AI는 긴 글을 한 번에 완성된 형태로 꺼내는 것이 아니다. 이.. 2026. 5. 3.