[Arch&OS] 컴퓨터 하드웨어 구성

컴퓨터 프로그램은 소프트웨어적 개념이지만, 실제로는 하드웨어 위에서만 동작할 수 있다.이번 글에서는 CPU, 메모리, 버스, 레지스터와 같은 컴퓨터 하드웨어의 핵심 구성 요소들을 정리하고, 각 요소가 어떻게 협력하여 하나의 프로그램을 실행시키는지 살펴보고자한다.1. 메인 메모리(Main Memory)메인 메모리는 우리가 흔히 말하는 RAM을 말한다.하드디스크에 저장된 프로그램은 더블 클릭을 통해 실행되는데, 이때 프로그램이 직접 실행되는 것이 아니라 메인 메모리로 적재된 후 실행된다.따라서 메인 메모리는 단순한 저장 공간이 아니라, 프로그램 실행을 위한 핵심 무대라 할 수 있다.프로그램은 하드디스크에만 있으면 '죽어 있는' 상태이고, 메인 메모리에 올라와야만 '살아 움직이는' 것이다.2. 입출력 버스(I..

Architecture & OS 2025.08.19 1

[C++] 다형성, 가상 함수

본문은 C++에서의 다형성의 정의, 시점에 따른 구분, 가상 함수의 동작 원리, 가상 함수의 장점/단점에 대해 학습한 내용을 기반으로 작성되었습니다. (오류가 있다면 댓글을 달아주세요.) 1. 다형성(Polymorphism)같은 이름의 함수나 연산자에 대해 다른 동작을 하도록 하는 것이다.다형성은 정적 다형성(Compile Time), 동적 다형성(Run Time)으로 구분된다. 정적 다형성(Compile-Time)함수 호출과 해당 함수 정의 간의 연결은 컴파일 되는 시점에 결정된다. 컴파일 타임 다형성은 모든 결정이 컴파일 시점에 이루어지므로 실행 속도가 빠르다는 장점이 있지만, 일단 컴파일 되면 동작이 고정되므로 유연성이 떨어진다.컴파일 타임 다형성의 주요 메커니즘으로는 함수 오버로딩과 연산자 오버로..

C++ 2025.08.18 2