Copy-on-Write (CoW) Copy-on-Write (CoW)는 자원을 공유하여 사용하다가, 해당 자원을 수정하려는 요청이 발생했을 때에만 복사본을 생성하는 최적화 기법입니다. 불필요한 복제를 방지함으로써 메모리 사용량을 줄이고 시스템 성능을 향상시키는 것을 목적으로 합니다. 동작 원리 Copy-on-Write는 기본적으로 '지연 복사(Lazy C…
검색 결과
"운영체제 커널"에 대한 검색 결과 (총 13개)
무한 루프 (Infinite Loop) 1. 개요 무한 루프(Infinite Loop)란 프로그램의 반복문(Loop)에서 종료 조건이 결코 충족되지 않아, 루프 내부의 명령문이 끝없이 반복해서 실행되는 상태를 의미한다. 이는 프로그래머의 실수로 발생하는 논리적 오류(Logical Error)일 수도 있고, 시스템의 지속적인 작동을 위해 의도적으로 설계된 구…
멀티스레 개요 멀티스레(Multithreading은 하나의 프로스 내에서 여러의 스레드)를 동시에 실행하여로그램의 성과 반응성을상시키는 병렬팅 기법입니다 각 스레드 독립적인 실행 흐을 가지며, 프로세스의모리 공간과원을 공유으로써 효율적인 공유와 통신 가능합니다. 멀스레딩은 현 소프트웨어 개발에서 매우 중요한 개념으로, 특히 다중 코어 프로세서 환경에서 성능…
네임드 파이프 (Named Pipe) 1. 개요 네임드 파이프(Named Pipe)는 운영체제에서 제공하는 프로세스 간 통신(IPC, Inter-Process Communication) 메커니즘의 일종으로, 파일 시스템에 이름이 부여된 특수 파일(FIFO)을 통해 서로 다른 프로세스가 데이터를 주고받을 수 있게 하는 통신 채널이다. 일반적인 익명 파이프(A…
TUN 장치 (TUN Device) 1. 개요 TUN 장치(TUN Device)는 운영체제 커널 내에서 구현된 가상 네트워크 인터페이스로, 네트워크 계층 IP 패킷을 사용자 공간(User Space)의 애플리케이션으로 전달하거나 그 반대로 전달하는 소프트웨어 기반의 네트워크 장치입니다. 물리적 네트워크 카드(NIC, Network Interface Card…
Hyper-V Hyper-V는 마이크로소프트에서 개발한 하이퍼바이저 기반의 가상화 플랫폼으로, 윈도우 서버 및 일부 버전의 데스크톱 윈도우 운영체제에서 가상 머신(VM, Virtual Machine)을 생성하고 관리할 수 있도록 지원하는 기술입니다. 하드웨어 가상화 기술을 활용하여 하나의 물리적 서버나 컴퓨터에서 여러 개의 독립적인 운영체제를 동시에 실행할…
절차적 프로그래밍 (Procedural Programming) 절차적 프로그래밍(Procedural Programming)은 컴퓨터 프로그램의 흐름을 일련의 명령어, 즉 '절차(Procedure)' 또는 '함수(Function)'의 호출을 통해 제어하는 프로그래밍 패러다임입니다. 이 패러다임은 명령형 프로그래밍(Command-line Programming)…
x87 FPU x87 FPU(Floating- Unit)는 x86 아처 기반의이크로프로서에서 부동수점 연산 수행하기 위해 설계 전용 하드웨어 계 장치이다. x86 프로서는 정수산만을 지원으며, 부동소점 연산은프트웨어 에뮬레이션을 통해 처리되었다. 그러나 성능 요구 높아짐에 따라 수학 연산 가속화하기 위한용 하드웨어인 x87 FPU가 개발되어86 시스템의 성…
write 개요 write는 유닉스(Unix) 및 유닉스 계 운영체제(: 리눅스, macOS)에서 제공하는 시스템 콜(system call)로, 파일 디스크터(file descriptor)를 통해 데이터를 출력 장치 또는 파일에 쓰는 데 사용된다. 이 함수는 C 언어 프로그래밍에서 시스 레벨의 입출력(I/O) 작업을 수행할 때 핵심적인 역할을 하며, 특히 …
PSTATE PSTATE는 ARM 아키텍처에서 프로세서의 현재 상태(Processor State)를 제어하는 특수 목적 레지스터로, 주로 AArch64(64비트 실행 상태) 아키텍처에서 사용된다. 이 레지스터는 프로세서의 동작 모드, 인터럽트 허용 상태, 예외 레벨(EL), 정밀도 제어 등 다양한 실행 환경을 동적으로 제어하는 데 핵심적인 역할을 한다. 운…
Intel 64 IA-32 Architectures Software Developer’s Intel 4 and IA-3 Architectures Software Developer Manual은 인텔 제공하는 공식술 문서로, Intel 64 및 IA-32 아키텍처 기 프로세서 소프트웨어발에 필요한 모든 기술 사과 프로그래밍 가이드를 포괄적으로 다룹니다. 이 …
리눅스 리눅스(Linux)는 유닉스ix) 계열의 오픈 소스 운영체제 커널을 기반으로 한 운영체제(OS)의 총칭이다. 199년 핀란드 대학생 리누스 토르발스(Linus Torvalds)에 처음 개발된 이후, 전 세계발자들의 공동 작업을 통해 급속히 성장하며버, 임베디드 시스템, 슈퍼컴퓨터, 모바일 기기(안드로이드 기반), 데스크톱 환경 등 다양한 분야에서 널…
로지컬 NIC로지컬 NIC(Log Network Interface Card)는 물리적인 네트워크 인터페이스 카드(Physical NIC)와 달리, 소프트웨어적으로 생성되는 가상의 네트워크 인페이스를 의미합니다. 이는 가상화 기술, 컨테이너 기술, 소프트웨어 정의 네트워크(SDN) 등에서 핵심적인 역할을 하며, 물리적 하드웨어에 종속되지 않고 유연하게 네트워…