#!if 넘어옴1 != null
''''''{{{#!if 넘어옴2 != null
, ''''''}}}{{{#!if 넘어옴3 != null
, ''''''}}}{{{#!if 넘어옴4 != null
, ''''''}}}{{{#!if 넘어옴5 != null
, ''''''}}}{{{#!if 넘어옴6 != null
, ''''''}}}{{{#!if 넘어옴7 != null
, ''''''}}}{{{#!if 넘어옴8 != null
, ''''''}}}{{{#!if 넘어옴9 != null
, ''''''}}}{{{#!if 넘어옴10 != null
, ''''''}}}은(는) 여기로 연결됩니다.
#!if 설명 == null && 리스트 == null
{{{#!if 설명1 == null
다른 뜻에 대한 내용은 아래 문서를}}}{{{#!if 설명1 != null
{{{#!html 스타트렉에 등장하는 현상}}}에 대한 내용은 [[암흑 물질 변칙]] 문서{{{#!if (문단1 == null) == (앵커1 == null)
를}}}{{{#!if 문단1 != null & 앵커1 == null
의 [[암흑 물질 변칙#s-|]]번 문단을}}}{{{#!if 문단1 == null & 앵커1 != null
의 [[암흑 물질 변칙#|]] 부분을}}}}}}{{{#!if 설명2 != null
, {{{#!html }}}에 대한 내용은 [[]] 문서{{{#!if (문단2 == null) == (앵커2 == null)
를}}}{{{#!if 문단2 != null & 앵커2 == null
의 [[#s-|]]번 문단을}}}{{{#!if 문단2 == null & 앵커2 != null
의 [[#|]] 부분을}}}}}}{{{#!if 설명3 != null
, {{{#!html }}}에 대한 내용은 [[]] 문서{{{#!if (문단3 == null) == (앵커3 == null)
를}}}{{{#!if 문단3 != null & 앵커3 == null
의 [[#s-|]]번 문단을}}}{{{#!if 문단3 == null & 앵커3 != null
의 [[#|]] 부분을}}}}}}{{{#!if 설명4 != null
, {{{#!html }}}에 대한 내용은 [[]] 문서{{{#!if (문단4 == null) == (앵커4 == null)
를}}}{{{#!if 문단4 != null & 앵커4 == null
의 [[#s-|]]번 문단을}}}{{{#!if 문단4 == null & 앵커4 != null
의 [[#|]] 부분을}}}}}}{{{#!if 설명5 != null
, {{{#!html }}}에 대한 내용은 [[]] 문서{{{#!if (문단5 == null) == (앵커5 == null)
를}}}{{{#!if 문단5 != null & 앵커5 == null
의 [[#s-|]]번 문단을}}}{{{#!if 문단5 == null & 앵커5 != null
의 [[#|]] 부분을}}}}}}{{{#!if 설명6 != null
, {{{#!html }}}에 대한 내용은 [[]] 문서{{{#!if (문단6 == null) == (앵커6 == null)
를}}}{{{#!if 문단6 != null & 앵커6 == null
의 [[#s-|]]번 문단을}}}{{{#!if 문단6 == null & 앵커6 != null
의 [[#|]] 부분을}}}}}}{{{#!if 설명7 != null
, {{{#!html }}}에 대한 내용은 [[]] 문서{{{#!if (문단7 == null) == (앵커7 == null)
를}}}{{{#!if 문단7 != null & 앵커7 == null
의 [[#s-|]]번 문단을}}}{{{#!if 문단7 == null & 앵커7 != null
의 [[#|]] 부분을}}}}}}{{{#!if 설명8 != null
, {{{#!html }}}에 대한 내용은 [[]] 문서{{{#!if (문단8 == null) == (앵커8 == null)
를}}}{{{#!if 문단8 != null & 앵커8 == null
의 [[#s-|]]번 문단을}}}{{{#!if 문단8 == null & 앵커8 != null
의 [[#|]] 부분을}}}}}}{{{#!if 설명9 != null
, {{{#!html }}}에 대한 내용은 [[]] 문서{{{#!if (문단9 == null) == (앵커9 == null)
를}}}{{{#!if 문단9 != null & 앵커9 == null
의 [[#s-|]]번 문단을}}}{{{#!if 문단9 == null & 앵커9 != null
의 [[#|]] 부분을}}}}}}{{{#!if 설명10 != null
, {{{#!html }}}에 대한 내용은 [[]] 문서{{{#!if (문단10 == null) == (앵커10 == null)
를}}}{{{#!if 문단10 != null & 앵커10 == null
의 [[#s-|]]번 문단을}}}{{{#!if 문단10 == null & 앵커10 != null
의 [[#|]] 부분을}}}}}}
#!if 설명 == null
{{{#!if 리스트 != null
다른 뜻에 대한 내용은 아래 문서를}}} 참고하십시오.
#!if 리스트 != null
{{{#!if 문서명1 != null
* {{{#!if 설명1 != null
스타트렉에 등장하는 현상: }}}[[암흑 물질 변칙]] {{{#!if 문단1 != null & 앵커1 == null
문서의 [[암흑 물질 변칙#s-|]]번 문단}}}{{{#!if 문단1 == null & 앵커1 != null
문서의 [[암흑 물질 변칙#|]] 부분}}}}}}{{{#!if 문서명2 != null
* {{{#!if 설명2 != null
: }}}[[]] {{{#!if 문단2 != null & 앵커2 == null
문서의 [[#s-|]]번 문단}}}{{{#!if 문단2 == null & 앵커2 != null
문서의 [[#|]] 부분}}}}}}{{{#!if 문서명3 != null
* {{{#!if 설명3 != null
: }}}[[]] {{{#!if 문단3 != null & 앵커3 == null
문서의 [[#s-|]]번 문단}}}{{{#!if 문단3 == null & 앵커3 != null
문서의 [[#|]] 부분}}}}}}{{{#!if 문서명4 != null
* {{{#!if 설명4 != null
: }}}[[]] {{{#!if 문단4 != null & 앵커4 == null
문서의 [[#s-|]]번 문단}}}{{{#!if 문단4 == null & 앵커4 != null
문서의 [[#|]] 부분}}}}}}{{{#!if 문서명5 != null
* {{{#!if 설명5 != null
: }}}[[]] {{{#!if 문단5 != null & 앵커5 == null
문서의 [[#s-|]]번 문단}}}{{{#!if 문단5 == null & 앵커5 != null
문서의 [[#|]] 부분}}}}}}{{{#!if 문서명6 != null
* {{{#!if 설명6 != null
: }}}[[]] {{{#!if 문단6 != null & 앵커6 == null
문서의 [[#s-|]]번 문단}}}{{{#!if 문단6 == null & 앵커6 != null
문서의 [[#|]] 부분}}}}}}{{{#!if 문서명7 != null
* {{{#!if 설명7 != null
: }}}[[]] {{{#!if 문단7 != null & 앵커7 == null
문서의 [[#s-|]]번 문단}}}{{{#!if 문단7 == null & 앵커7 != null
문서의 [[#|]] 부분}}}}}}{{{#!if 문서명8 != null
* {{{#!if 설명8 != null
: }}}[[]] {{{#!if 문단8 != null & 앵커8 == null
문서의 [[#s-|]]번 문단}}}{{{#!if 문단8 == null & 앵커8 != null
문서의 [[#|]] 부분}}}}}}{{{#!if 문서명9 != null
* {{{#!if 설명9 != null
: }}}[[]] {{{#!if 문단9 != null & 앵커9 == null
문서의 [[#s-|]]번 문단}}}{{{#!if 문단9 == null & 앵커9 != null
문서의 [[#|]] 부분}}}}}}{{{#!if 문서명10 != null
* {{{#!if 설명10 != null
: }}}[[]] {{{#!if 문단10 != null & 앵커10 == null
문서의 [[#s-|]]번 문단}}}{{{#!if 문단10 == null & 앵커10 != null
문서의 [[#|]] 부분}}}}}}
1. Direct Memory Access
직접 메모리 접근은 컴퓨터 주변기기에서 CPU의 처리를 거치지 않고 직접 RAM이나 입출력장치에 접근해서 필요한 데이터를 가져오는 기능이다.원래 컴퓨터에서 주변기기가 통신을 하거나 메모리를 읽고 쓰려고 한다면 CPU에서 주변기기의 레지스터를 메모리에 복사하는 작업을 거쳐야 한다. 하지만 DMA를 사용할 경우 CPU를 거치지 않고 DMA 컨트롤러를 통해 주변기기에서 직접 메모리에 접근해서 필요한 정보를 가져옴으로써 더 빠르게 데이터를 가져오면서 동시에 CPU에 걸리는 부하 또한 줄이는 효과가 있다.
다만 CPU를 거쳐가지 않는다는 점은 CPU를 통해 요청이 유효한 것인지를 확인할 수단이 없다는 것을 의미하는 만큼 보안 위협에 시달릴수 있는데 대표적으로 Thunderbolt(인터페이스)에 있던 Thunderclap 취약점이 이 DMA기능을 이용한 취약점이다. 그래서 Windows에는 기기가 잠금 상태에서 DMA를 비활성화하는 기능을 로컬 정책 편집기를 통해 켤 수 있게 해 두었다.[1]
1.1. Remote Direct Memory Access
RDMA. DMA와의 차이점은 로컬 메모리가 아닌 원격 메모리에 액세스한다.이 Remote Memory는 시스템 메모리가 아닌 전혀 다른 시스템에 장착된 메모리에 직접 액세스하게 되는데 원격지라는 특징에서도 유추할 수 있듯이 이더넷 카드 (NIC)에서 주로 사용된다. 10Gbps 가 넘어가는 시스템에서 대량의 데이터를 액세스하게 되면 기존의 네트워크 스택은 TCP/IP 로 인한 CPU의 오버헤드와 메모리 복사로 인해 오버헤드가 커지지만 RDMA를 지원하면 NIC이 각 시스템의 메모리에 직접 액세스하므로 CPU로 인한 오버헤드가 줄어든다.
2. Dynamic Memory Allocation
동적 메모리 할당이라고 부르며 컴파일 당시에 메모리를 할당하는게 아닌 프로그램 동작중에 임의로 필요한만큼 할당해서 사용하는 행위이다.C나 C++에서 Malloc 함수등을 이용해 메모리를 새로 할당하는 행위등이 대표적인 동적 메모리 할당이며 C#이나 Java등의 언어에서는 인터프리터,JIT가 실시간으로 메모리 할당을 자동으로 수행한다.
이 기능을 쓰면 들어오는 자료 량에 따라서 필요한 메모리 량을 능동적으로 줄이고,키우고 할 수 있기 때문에 처음부터 스택영역에 많은 메모리를 할당할 필요가 없지만 대신에 힙 영역 메모리에 임의로 공간을 추가하는 셈이라 제대로 관리를 안할경우 메모리 누수의 원흉이 된다.
3. Digital Markets Act
디지털 시장법. 유럽연합(EU)이 빅테크 기업의 시장 지배력을 억제하려는 목적으로 제정을 추진하고 있는 법안. # #시장 지배력을 이용해 소비자의 선택권을 제한하는 소수 거대 플랫폼 사업자를 게이트키퍼(gatekeeper)로 지정하여 이들 기업을 대상으로 특별 규제를 적용하는 것이 골자이다.
[1] MS에서 이러한 옵션을 만든 이유는 Bitlocker 때문이다.