CS 4

[컴퓨터 구조 4] 가상 메모리(Virtual Memory)와 페이지(Page)

이전 글에서는 CPU의 빠른 연산 속도를 지원하기 위해 레지스터(Register)와 캐시 메모리(Cache Memory), 그리고 메모리 계층 구조에 대해 정리하였다. RAM 부족 문제 프로그램이 실행되면 운영체제는 프로그램의 일부를 메모리(RAM)에 적재하여 CPU가 실행할 수 있도록 한다. 하지만 여러 프로그램을 동시에 실행하거나 큰 용량의 프로그램을 실행할 경우 메모리(RAM) 공간이 부족해질 수 있다. 예를 들어 게임, 웹 브라우저, IDE, Docker와 같은 프로그램을 동시에 실행하면 메모리 사용량이 크게 증가하게 된다. 메모리 공간이 부족해지면 프로그램 실행 속도가 느려지거나 일부 프로그램이 정상적으로 동작하지 못하는 문제가 발생할 수 있다. 운영체제는 이러한 메모리 부족 문제를 해결하기 위..

카테고리 없음 2026.05.15

[컴퓨터 구조 3] 레지스터(Register)와 캐시 메모리(Cache Memory)

이전 글에서는 프로그램이 SSD/HDD에서 메모리(RAM)로 올라오고, CPU가 메모리에 저장된 명령어를 실행하는 과정에 대해 정리하였다. CPU 내부에서는 실제 연산에 필요한 데이터를 저장하기 위한 레지스터(Register)가 존재한다. 레지스터는 CPU가 현재 계산 중인 값을 저장하는 초고속 저장 공간으로, CPU가 빠르게 연산을 수행할 수 있도록 도와준다. 하지만 CPU의 처리 속도는 매우 빠른 반면 메모리(RAM)접근 속도는 상대적으로 느리다. 따라서 CPU는 필요한 데이터를 메모리에서 가져오는 동안 대기 상태가 발생하고 이러한 속도 차이로 인한 병목현상을 줄이기 위해 캐시 메모리(Cache Memory)가 사용된다. 메모리 계층 구조(Memory Hierarchy)컴퓨터에서 성능, 용량, 가..

카테고리 없음 2026.05.13

[컴퓨터 구조 2] 컴퓨터의 구조와 프로그램 실행

이전 글에서는 폰 노이만 구조와 프로그램 내장 방식에 대해 정리 했다. 그렇다면 실제 컴퓨터는 프로그램을 어떻게 실행하는지 컴퓨터의 구조를 보며 알아보고자 한다. 컴퓨터의 구조 구성역할CPU (중앙처리장치)명령어를 읽고 해석하고 실행메모리( RAM, 주기억장치)현재 실행중인 프로그램의 명령어와 데이터를 저장보조기억장치 (SDD, HDD..)프로그램과 데이터를 장기간 저장하는 저장 장치I/O (입출력 장치)사용자와 컴퓨터 간의 입력과 출력 수행시스템 버스(Bus)컴퓨터의 구성요소를 서로 연결하고 데이터 전달을 위한 경로 프로그램 실행구글링을 위해 화면에 크롬(Chrome.exe)을 더블클릭하여 실행 했다고 가정해 보자. 운영체제(OS)는 보조기억장치(SSD/HDD)에 저장된 프로그램을 읽어 메모리(RAM)..

카테고리 없음 2026.05.13

[컴퓨터 구조 1] 폰 노이만 구조

역사현대 컴퓨터의 이론적 기반은 1936년 영국의 과학자 앨런 튜링은「On Computable Numbers, with an Application to the Entscheidungsproblem」이라는 논문에서 '튜링 머신(Turing Machine)' 개념을 제시하였다. 튜링머신은 '기계가 계산을 수행할 수 있는 가'를 설명하기 위한 이론적 계산 모델로 오늘날 컴퓨터가 데이터를 처리하는 원리를 설명하는 중요한 개념이 되었다. 미국 펜실베이니아 대학교 1943년 개발을 시작하여 1946년에 세계 최초의 범용 전자식 컴퓨터 애니악(ENIAC)이 완성됐다. 하지만, 새로운 계산을 할 때마다 수천 개의 케이블을 다시 꽂고 스위치를 조작해야하는 비효율적인 프로그램 방식이라는 큰 문제점을 가지고 있었다. 폰 노..

카테고리 없음 2026.05.12