# 메모리 구조 ## 개요 메모리 구조(Memory Layout)는 컴퓨터 시스템에서 프로그램이 실행될 때 메모리가 어떻게 구성되고 사용되는지를 설명하는 개념이다. 프로그램이 메모리에 적재되면, 그 프로그램은 여러 영역으로 나뉘어 데이터와 코드를 저장하며, 각 영역은 특정한 목적과 생명 주기를 가진다. 메모리 구조를 이해하는 것은 프로그래밍, 특히 시스...
검색 결과
"가상 메모리"에 대한 검색 결과 (총 17개)
# 세그멘테이션 ## 개요 **세그멘테이션**(Segmentation)은 운영체제에서 메모리 관리를 수행하는 기법 중 하나로, 프로그램을 논리적으로 의미 있는 단위인 **세그먼트**(Segment)로 나누어 메모리에 할당하는 방식이다. 이 기법은 프로그램의 구조를 반영하여 메모리를 효율적으로 관리하고, 보호 및 공유 기능을 강화하는 데 목적이 있다. 세...
# 재배치 (Relocation) ## 개요 **재배치(Relocation)**란 프로그램이 메모리의 특정 물리적 주소에 고정되지 않고, 실행 시점에 가용한 메모리 공간에 따라 주소를 변경하여 적절하게 배치하는 프로세스를 의미합니다. 현대적인 운영체제는 멀티프로그래밍(Multiproument) 환경을 지원하기 때문에, 여러 프로세스가 동시에 메모리에 ...
# 로더 (Loader) ## 1. 개요 **로더(Loader)**는 프로그램의 실행을 위해 저장 장치(HDD, SSD 등)에 위치한 목적 프로그램(Object Program)을 주 기억 장치(Main Memory)로 적재하는 시스템 소프트웨어이다. 시스템 프로그래밍의 핵심 구성 요소 중 하나인 로더는 컴파일러나 어셈블러가 생성한 기계어 코드를 실제 CP...
# 정적 로드 (Static Loading) ## 1. 개요 **정적 로드(Static Loading)**란 프로그램이 실행되기 전, 운영체제나 로더(Loader)에 의해 프로그램의 모든 명령문과 데이터가 메모리(RAM)의 특정 영역으로 한꺼번에 배치되는 방식을 의미합니다. 이는 소프트웨어 공학 및 시스템 프로그래밍에서 프로세스의 생명주기를 관리하는 핵심...
# 계층적 메모리 구조 ## 개요 **계층적 메모리 구조**(Hierarchical Memory Structure)는 컴퓨터 시스템에서 성능과 비용의 균형을 맞추기 위해 다양한 종류의 메모리를 계층적으로 구성한 아키텍처 설계 원칙이다. 이 구조는 처리 속도가 빠르지만 용량이 제한적인 메모리를 CPU 근처에 배치하고, 용량은 크지만 접근 속도가 느린 메모...
# EM64T **EM64T**(Extended Memory 64 Technology)는 인텔(Intel)이 개발한 64비트 마이크로프로세서 아키텍처 기술로, 기존의 x86 아키텍처를 확장하여 64비 연산을 지원하도록 설된 기술입니다. 이 기술은 인텔의 x86 프로세서 라인에 64비트 처리 능력을 추가함으로써, 메모리 주소 공간 확장, 성능 향상, 미래 ...
# Linux 커널 ## 개요 **리눅스 커널**(Linux Kernel)은 리눅스 운영 체제의 핵심 구성 요소로, 하드웨어 자원을 관리하고 사용자 프로그램과 시스템 간의 인터페이스를 제공하는 소프트웨어입니다. 리누스 토르발스(Linus Torvalds)가 1991년에 처음 개발을 시작한 이래, 전 세계의 개발자들이 참여하는 오픈소스 프로젝트로 성장하였...
# Intel 64 **Intel 64**은 인텔(Intel)이 개발한 64비트 마이크로프로세서 명령어 집합키텍처(ISA, Set Architecture)로 x86 아키텍를 확장하여 64트 컴퓨팅을 가능하게 한다. 이 아키텍처는 최초의 x8664 구현 중 하나로,가 개발한 **AMD64** 아키텍처와 호환되며 현대의 대부분의 PC 및 서버 시스템에서 널리...
# 페이지 경계 ## 개요 **페이지 경계**(Page)는 운영체제의 메리 관리에서 핵심적인 중 하나로, 가상 메모리 시스템에서 메모리를 고정된 크기의 블록인 **페이지**(Page)로 나누는 과정에서 각 페이지의 시작과 끝을 정의하는 기준점을 의미합니다. 이 경계는 메모리 할당, 페이징, 가상 주소 변환, 보호 메커니즘 등 다양한 운영체제 기능에 영향...
# ARM64 ARM64은 ARM 아키텍처의 64비트 확장 버전으로, 공식적으로는 **AArch64**(ARM Architecture 64-bit)라고도 불립니다. 이 아키텍처는 ARM Holdings(현재는 SoftBank 산하의 Arm Limited)에서 개발하였으며, 모바일 기기뿐 아니라 서버, 임베디드 시스템, 데스크톱 컴퓨터에 이르기까지 다양한 ...
# VMM ## 개요 **VMM**(Virtual Machine Monitor), 즉 **가상 머신 모터**는 하웨어 위에 존재하여 하나 이상의 **가상 머신**(Virtual Machine, VM)을 생성하고 관리하는 소프트웨어 계층입니다. VMM은 하드웨어 자원을 추상화하고, 이를 여러 가상 머신 간에 공유 및 분배함으로써, 각 VM이 독립적으로 운...
# VMware Workstation VMware Workstation은 VMware, Inc.에서 개한 상용 가상화프트웨어, Windows 및 Linux 운영체제에서 실행되는 PC용 가상 머신(VM) 플랫폼입니다. 이 소프트어를 사용하면 하나의 물리적 컴퓨터에서 여러 개의 독립적인 운영체제를 동시에 실행할 수 있어, 개발자, 시스템 관리자, 보안 전문가...
# IOMMU ## 개요 **IOM**(Input-Output Management Unit, 입출력 메모리 관리 장치)는 컴퓨터 시스템에서 입출력(I/O) 장치가모리에 직접하는 과정을 관리하고 보호하는드웨어 구성 요소입니다 IOMMU는 CPU의 MMU(Memory Management Unit)와 유사한 역할을 수행하지만, CPU 대신 주변 장치(예: G...
# mmap `mmap`은 유닉스 계열 운영체제(Unix-like OS)에서 제공하는 시스템 콜(system call)로, 파일이나 디바이스를 메모리에 매핑하여 프로세스가 파일을 마치 메모리 배열처럼 직접 접근할 수 있게 해주는 기술입니다. 이 기능은 파일 입출력 성능을 크게 향상시키며, 특히 대용량 데이터 처리나 공유 메모리 기반의 프로세스 간 통신(I...
# AMD-V ## 개요 **AMD-V**(Advanced Micro Devices Virtualization)는 AMD(Advanced Micro Devices)가 x86 아키텍처 기반 프로세서에 도입한 하드웨어 기반 가상화 기술입니다. 이 기술은 운영 체제와 가상 머신 모니터(Virtual Machine Monitor, VMM)가 보다 효율적으로 여...
# VM ## 개요 **가상 머신**(Virtual Machine, 이하 **VM**)은 물리적 컴퓨터의 기능을 소프트웨어적으로 에뮬레이션하여 독립적인 운영 체제와 애플리케이션 실행할 수 있도록 **가상 시스템**의 일종이다. VM은 하드웨어 자원을 추상화, 하나의 물리적 서버에서 여러 개의 독립된 컴퓨팅 환경을 동시에 운영할 수 있게 해주는 핵심 기술...