서론 PDF와 워드 문서는 모두 문서를 담는 파일 형식이라는 공통점을 가지고 있지만, 처음부터 같은 목적을 두고 설계된 형식은 아닙니다. 워드는 문서를 작성하고 수정하는 과정이 반복되는 작업 환경을 전제로 만들어졌고, PDF는 이미 완성된 문서를 누구에게나 동일한 모습으로 전달하기 위해 설계되었습니다. 이 때문에 두 형식의 차이를 단순히 편집 가능 여부로만 설명하면 구조적인 차이를 충분히 이해하기 어렵습니다. PDF 문서 구조는 화면이나 종이에 보이는 결과를 기준으로 고정되고, 워드 문서 구조는 내용의 의미 단위를 중심으로 재배치가 가능하도록 구성됩니다. 이 문서 파일 형식의 차이를 구조 관점에서 살펴보면, 실제로 왜 상황에 따라 두 형식을 번갈아 사용하게 되는지까지 자연스럽게 이해할 수 있습니다. 1) 설계 목적이 먼저 정해지는 이유 역할 두 문서 형식의 구조는 “문서를 어떤 상태로 바라보는가”라는 설계 목적에서 출발합니다. 워드는 문서를 아직 완성되지 않은 작업물로 보고, PDF는 확정된 결과물로 인식합니다. 이 출발점이 저장 방식과 내부 구성 원리를 결정합니다. 작동 과정 워드 문서 구조는 제목, 본문, 표, 이미지와 같은 요소를 의미 단위로 나누어 관리합니다. 사용자가 문단을 추가하거나 삭제하면, 문서 전체가 그 변화에 맞춰 자동으로 재정렬됩니다. 반면 PDF 문서 구조는 페이지 위에 배치된 텍스트와 이미지의 위치 정보를 중심으로 저장됩니다. 같은 내용이라도 “무엇을 의미하는가”보다 “어디에 배치되어 있는가”가 핵심 데이터가 됩니다. 다음 단계로 넘어가는 이유 워드는 다음 단계가 편집과 보완으로 이어지는 경우가 많아 유연성이 필요하고, PDF는 다음 단계가 배포와 열람으로 이어지기 때문에 형태 고정이 필요합니다. 이처럼 설계 목적의 차이가 구조 차이로 이어집니다. 2) 워드 문서 구조가 의미 중심으로 동작하는 방식 역할 워드 문서의 역할은 내용을 만들고 다듬는 과정을 효율적으로 관리하는 데 있습니다. 이를 위해 문서의 구성 요소는 모두 편집을 전제로 한...
서론 사람들은 인터넷 속도를 이야기할 때 흔히 하나의 숫자를 떠올립니다. 통신 환경을 설명할 때도 “빠르다”, “느리다”라는 표현이 먼저 나오고, 수치가 높으면 사용감도 자연스럽게 좋아질 것이라고 기대합니다. 그러나 실제 사용 환경에서 느끼는 속도는 그렇게 단순하지 않습니다. 같은 속도 수치를 가진 환경에서도 어떤 경우에는 즉각 반응하는 반면, 어떤 경우에는 유난히 답답하게 느껴지기도 합니다. 이 차이는 인터넷 속도가 하나의 값으로 결정되지 않기 때문입니다. 데이터는 여러 네트워크 구성 요소를 거쳐 단계적으로 전달되고, 이 과정 전체가 합쳐져서 우리가 체감하는 속도를 만들어냅니다. 따라서 “빠르다” 혹은 “느리다”라는 평가는 하나의 지표만으로 설명하기 어렵습니다. 이 글은 인터넷 속도를 평가하거나 비교하기보다, 데이터 전송 구조 안에서 어떤 요소들이 어떤 순서로 체감 속도에 영향을 주는지를 구조적으로 설명하는 데 목적이 있습니다. 구성 요소 1 — 전송 용량 계층(대역폭) 역할 대역폭은 한 번에 얼마나 많은 데이터를 보낼 수 있는지를 나타내는 개념입니다. 쉽게 말해, 데이터가 지나갈 수 있는 통로의 넓이를 정하는 기준이라고 볼 수 있습니다. 이 통로가 넓을수록 동시에 많은 데이터가 이동할 수 있습니다. 작동 과정 인터넷에서 주고받는 데이터는 ‘패킷’이라는 작은 단위로 나뉘어 전달됩니다. 대역폭이 넓으면 여러 패킷이 동시에 이동할 수 있고, 대역폭이 좁으면 패킷이 순차적으로 전달됩니다. 이 차이는 데이터가 한쪽에 쌓이는 속도와 전체 전송 흐름에 영향을 줍니다. 체감 오해 대역폭이 곧 인터넷 속도라고 오해되는 이유는 다운로드 속도 같은 수치가 눈에 잘 띄기 때문입니다. 하지만 전송 가능한 데이터 양이 충분하더라도, 화면 반응이 늦으면 사용자는 느리다고 느낄 수 있습니다. 데이터의 양은 많지만, 반응이 늦는 상황이 발생할 수 있기 때문입니다. 다음 단계로 넘어가는 이유 전송할 수 있는 데이터 양이 확보되더라도, 요청에 얼마나 빠르게 반응하느냐는 또 다른 문제로 남습...
여러 작업이 동시에 가능한 이유는 무엇일까 앱을 여러 개 실행해도 문제가 없이 작동하는 순간을 보면, 처음에는 조금 신기하게 느껴질 수 있습니다. 음악을 틀어둔 상태에서 문서를 작성하고, 동시에 인터넷 창을 열어 다른 정보를 확인하는 일도 자연스럽게 이어집니다. 이런 경험이 반복되다 보면 여러 작업이 동시에 이루어지는 것이 당연하게 느껴집니다. 화면에서는 서로 전혀 관계없는 작업이 동시에 이어지는 것처럼 느껴지기도 합니다. 작업을 바꿔도 이전 상태가 유지되고, 실행 흐름 역시 크게 끊기지 않기 때문입니다. 하지만 실제로는 데이터를 저장하고 사용하는 공간이 계속 나뉘고 정리되면서 전체 흐름이 유지되고 있습니다. 눈에 보이지 않을 뿐 내부에서는 데이터 위치와 사용 순서가 계속 조정되고 있습니다. 여러 작업이 동시에 가능한 이유 역시 이러한 관리 흐름이 반복되고 있기 때문입니다. 각각의 작업은 독립적으로 움직이는 것처럼 보이지만 내부에서는 메모리 공간을 나누고 다시 정리하는 과정이 계속 이어지고 있습니다. 왜 동시에 처리되는 것처럼 보일까 겉으로 보면 여러 프로그램이 동시에 실행되는 것처럼 보입니다. 화면 전환이 자연스럽고 작업이 멈추지 않기 때문입니다. 그래서 모든 데이터가 하나의 공간에서 함께 처리된다고 생각하기 쉽습니다. 실제로는 데이터가 각각 다른 영역에 나누어 저장되고 있습니다. 이러한 분리 구조 덕분에 여러 작업이 서로 간섭하지 않고 이어질 수 있습니다. 핵심은 속도가 아니라 구조에 있습니다. 동시에 보이는 이유는 처리 속도가 빠르기 때문이 아니라, 공간이 나누어져 있기 때문입니다. 각 작업은 자신에게 할당된 영역 안에서 유지되며, 이 구조 덕분에 서로 간섭하지 않고 동시에 안정적으로 존재할 수 있습니다. 메모리는 어떤 역할을 할까 메모리는 프로그램이 실행되는 동안 데이터를 잠시 머무르게 하는 공간입니다. 실행 파일이 동작하기 위해서는 데이터를 임시로 저장하고 불러올 수 있는 위치가 필요합니다. 이 역활을 메모리가 담당합니다. 프로그램이 바로 실행되는 것...