여기서 말할 메모리컴퓨터,computer의 주 기억 장치(primary memory), 주 저장 공간(primary storage)를 뜻함.
so compare: secondary_storage { 하드디스크 HDD, SSD 등등 }
rel 스토리지,storage

선형으로 일렬로 되어 있기도 하고 // flat_memory_model =,flat_memory_model =,flat_memory_model . flat_memory_model
{
flat memory model

Google:flat memory model

Up: memory_model
}
페이지,page 세그먼트,segment 등의 분리된 구획으로 나뉘어 있기도 하고... // 페이징,paging / segmented_memory_model or memory_segmentation { Google:segmented memory model WpKo:메모리_세그먼트 WpEn:Memory_segmentation

Up: memory_model
}
Ex.
IA-64 defines a single, uniform, linear address space of 264 bytes.[1]

위 것들은
memory_model =,memory_model =,memory_model . memory_model ... pagename ? 메모리모형 ? 메모리모델 ? TBD
{
memory model
메모리모델 or 메모리모형 ....
기억장치모델 or 기억장치모형 ... <- too long

Up: 메모리,memory 모형,model 모델,model

...
"memory model"
Ndict:memory model
Ggl:memory model
} // memory model


레지스터,register와의 자료,data 복사/이동/읽기/쓰기 정리예정.
메모리에 있는 것을 레지스터로 복사 : load
로드,load? 불러오기 ?
메모리의 자료를 레지스터에 있던 것으로 덮어쓰기 : store
스토어,store? 저장,store? 저장하기?
에 해당하는 instruction이 모든 cpu에 있다.

memory access = memory_access
메모리 접근 메모리접근 ... pagename TBD
memory_access =,memory_access =,memory_access . memory_access
{
접근, 액세스, access, ....

memory access

WtEn:memory_access ?

"memory access"
Ggl:memory access

Sub:
DMA,direct_memory_access 직접메모리접근 ?
uniform_memory_access (UMA)
UMA,uniform_memory_access ?
{
WtEn:uniform_memory_access ? mmmmmmmmmmmmmmmmm

공유메모리,shared_memory
병렬성,parallelism > parallel_computer
multiprocessor / multiprocessing

WpEn:Uniform_memory_access
= https://en.wikipedia.org/wiki/Uniform_memory_access
"is a shared_memory architecture used in parallel computers."
... Google:uniform memory access
}
////// 위아래둘비교 /////
non-uniform_memory_access (NUMA)
{
non-uniform memory access (NUMA)

병렬성,parallelism
multiprocessor / multiprocessing

Sub:
캐시 일관성 NUMA (ccNUMA)
Cache coherent NUMA (ccNUMA)
캐시,cache 캐시메모리,cache_memory
... Google:ccNUMA

WpKo:불균일_기억_장치_접근
= https://ko.wikipedia.org/wiki/불균일_기억_장치_접근

WpEn:Non-uniform_memory_access
= https://en.wikipedia.org/wiki/Non-uniform_memory_access

...
Google:NUMA
Ggl:non-uniform memory access
Ndict:NUMA
Ndict:non-uniform memory access
} // NUMA

WpKo:액세스_(마이크로프로세서)
= https://ko.wikipedia.org/wiki/액세스_(마이크로프로세서)

kkkkkkkkkkkkkkkk
}

memory_hierarchy =,memory_hierarchy =,memory_hierarchy . memory_hierarchy
{
메모리위계 or 메모리계층

MKLINK
caching
cache_memory
main_memory
secondary_storage
https://namu.wiki/w/메모리 계층 구조

http://mlwiki.org/index.php/Memory_Hierarchy

... Google:memory_hierarchy

Up: 메모리,memory 위계,hierarchy
}

cache_memory =,cache_memory . cache_memory
{
W cache_memory

Bryant Computer Systems 책
6.4 Cache Memories 596
6.4.1 Generic Cache Memory Organization 597
6.4.2 Direct-Mapped Caches 599
6.4.3 Set Associative Caches 606
6.4.4 Fully Associative Caches 608
6.4.5 Issues with Writes 611
6.4.6 Anatomy of a Real Cache Hierarchy 612
6.4.7 Performance Impact of Cache Parameters 614
}

memory_map =,memory_map . memory_map
{
memory map
메모리 맵

입출력,IO에서도 중요.

https://ko.wikipedia.org/wiki/메모리_맵
https://en.wikipedia.org/wiki/Memory_map

MKL
mmap mmio

Up: 메모리,memory 맵,map
}//memory map ... NN:memory map Bing:메모리 맵 Ggl:메모리 맵 Bing:memory map Ggl:memory map

공유메모리,shared_memory =공유메모리,shared_memory =,shared_memory 공유메모리 shared_memory
{
shared memory

공유메모리 ?
외의 대안이 없는 듯. 2023-11-11

https://foldoc.org/shared memory

WtEn:shared_memory

Srch:shared_memory
}//shared memory ...... Ndict:공유메모리 Ndict:shared memory Ggl:공유메모리 Google:shared memory


가상메모리,virtual_memory =가상메모리,virtual_memory =,virtual_memory 가상메모리 virtual_memory |=,VM VM
{
가상 메모리, 가상 기억 장치

이게 아마 역사적으로 물리적인 RAM 크기가 너무 작아서 hard_disk의 일부를 느린 메모리로 (스왑_영역,swap_space?) 사용해야만 했을 때 생긴?

MKLINK
compare hibernation

https://foldoc.org/virtual memory
WpKo:가상_메모리
WpSimple:Virtual_memory
WpEn:Virtual_memory
메모리관리,memory_management =메모리관리,memory_management =,memory_management . WtEn:memory_management Srch:memory_management
}

페이징
paging ... memory_paging =,paging .
{
Compare: (둘 다 일정한 크기의 메모리 블록)
페이지,page - 가상메모리를 일정한 크기로 나눈 블록 { WpKo:페이지_(컴퓨터_메모리) WpEn:Page_(computer_memory) }
프레임,frame - 물리메모리를 일정한 크기로 나눈 블록 - aka page frame ?[2]

MKLINK
page in : swap space에서 RAM으로 불러오기. https://foldoc.org/page in
page_table
page_fault =,page_fault . { https://foldoc.org/page fault }
PTE
메모리주소,memory_address
가상메모리주소,virtual_memory_address
물리메모리주소,physical_memory_address

Compare
bank_switching =,bank_switching . { WpKo:뱅크_전환 = https://ko.wikipedia.org/wiki/뱅크_전환 WpEn:Bank_switching = https://en.wikipedia.org/wiki/Bank_switching }
swapping
{
https://foldoc.org/swap
https://foldoc.org/swap file
}

https://foldoc.org/paging
WpKo:페이징
WpEn:Memory_paging
Up: 메모리관리,memory_management 기법 중 하나
}

프레임,frame

세그먼트,segment
or
segmentation

메모리가상화,memory_virtualization
{
w
virtual_address etc
Up: 메모리,memory 가상화,virtualization
}

메모리주소,memory_address - is a 주소,address
=메모리주소,memory_address =,memory_address 메모리주소 memory_address
{

memory_location 은 거의 같은 뜻인듯?
https://foldoc.org/memory location

C에서 변수의 메모리 주소 알아내기 - & 연산자

Python에서 객체의 메모리 주소 알아내기
>>> id(2)
4484212032
>>> hex(id(2))
‘0x10b47a540’

Sub:
메모리주소레지스터,memory_address_register,MAR

MKLINK
주소공간,address_space
가상메모리,virtual_memory

WpKo:메모리_주소
= https://ko.wikipedia.org/wiki/메모리_주소
WpEn:Memory_address
= https://en.wikipedia.org/wiki/Memory_address
WpJa:メモリアドレス
= https://ja.wikipedia.org/wiki/メモリアドレス
}

메모리관리,memory_management
{

Sub:
manual_memory_management
{
WpEn:Manual_memory_management
}
automatic_memory_management
{

mark-and-sweep
세대,generation
...

GC:

garbage_collection {
}

garbage_collector =,garbage_collector . garbage_collector
{
garbage collector
너저분 수집기? 모으개?
WtEn:garbage_collector
WpEn:Garbage_collector ? -> 실제 쓰레기 수집 얘기. 맨 위에 WpEn:Garbage_collection_(computer_science)으로 안내함.
} // garbage collector .... Ggl:garbage collector NN:garbage collector

WpEn:
}

메모리 할당 memory allocation
메모리할당,memory_allocation Srch:memory_allocation
{
메모리 할당 memory allocation

Sub:

정적 메모리 할당 static memory allocation
정적메모리할당,static_memory_allocation
{
WpKo:정적_메모리_할당
= https://ko.wikipedia.org/wiki/정적_메모리_할당
}

동적 메모리 할당 dynamic memory allocation
동적메모리할당,dynamic_memory_allocation Srch:dynamic_memory_allocation
{
dynamic memory allocation

free list / freelist
free_list or freelist
free_list =,free_list . free_list
freelist =,freelist . freelist
{
free list

WtEn:free_list
WpEn:Free_list
= https://en.wikipedia.org/wiki/Free_list
dynamic_memory_allocation 을 위한 자료구조,data_structure의 일종 / 메모리풀,memory_pool 사용
} // free list

MKLINK
memory_allocator

C언어의 경우 malloc/free, C++의 경우 new/delete....

아래 둘 memory_management 로 옮길까?

C Dynamic memory management
https://en.cppreference.com/w/c/memory

C++ Dynamic memory management
https://en.cppreference.com/w/cpp/memory

WpEn:C_dynamic_memory_allocation
= https://en.wikipedia.org/wiki/C_dynamic_memory_allocation

WpKo:동적_메모리_할당
= https://ko.wikipedia.org/wiki/동적_메모리_할당

... Google:dynamic.memory.allocation
"dynamic memory allocation"
} // dynamic memory allocation

buddy_memory_allocation =,buddy_memory_allocation . buddy_memory_allocation
{
buddy memory allocation

WtEn:buddy_memory_allocation
WpKo:버디_메모리_할당
= https://ko.wikipedia.org/wiki/버디_메모리_할당
WpEn:Buddy_memory_allocation
= https://en.wikipedia.org/wiki/Buddy_memory_allocation
... Google:buddy memory allocation
"buddy memory allocation"
} // buddy memory allocation

stack-based_memory_allocation (SBMA) |=,SBMA SBMA
{
stack-based memory allocation (SBMA)
WpEn:Stack-based_memory_allocation
Cmp: heap-based_memory_allocation (HBMA)
Up: 스택,stack 메모리할당,memory_allocation
"stack-based memory allocation"
Ggl:stack-based memory allocation
}

heap-based_memory_allocation =,HBMA HBMA
{
heap-based memory allocation (HBMA)

Up:
힙,heap esp 힙메모리,heap_memory
메모리할당,memory_allocation
"heap-based memory allocation"
Ggl:heap-based memory allocation
}

slab_allocation =,slab_allocation . slab_allocation
{

REL. [[slab_allocator

WtEn:slab_allocation x 2023-08-21
WpEn:Slab_allocation
= https://en.wikipedia.org/wiki/Slab_allocation
...
Ndict:slab allocation x 2023-08-21
Bing:slab allocation
Google:Slab allocation
} // slab allocation .... 혹시 slab memory allocation 도 완전동의어인지


coalescing / fragmentation / ....
coalescing fragmentation ...
=,coalescing =,fragmentation ....
{
// wt coalescing -> wt coalesce = https://en.wiktionary.org/wiki/coalesce : 뭉치다, join, merge, combine, ... (coalition n. 연합체, 연합 생각)
// fragmentation - opp. defragmentation

rel. garbage_collection

WpEn:Coalescing_(computer_science)
= https://en.wikipedia.org/wiki/Coalescing_(computer_science)

WpKo:통합과_집약
= https://ko.wikipedia.org/wiki/통합과_집약
"통합(coalescing)이란 기억공간 내에 인접한 둘 이상의 공백을 그들 사이의 경계를 없애고 하나의 공백으로 합치는 것이다."
"집약(compaction)이란 기억공간 내에 섞여있는 사용중인 영역과 빈 영역을 각각 한쪽으로 몰아 빈 영역들을 하나로 모으는 것이다. 디스크 조각 모음"

WpKo:단편화
= https://ko.wikipedia.org/wiki/단편화

WpSimple:Fragmentation_(computer)
= https://simple.wikipedia.org/wiki/Fragmentation_(computer)

WpEn:Fragmentation_(computing)
= https://en.wikipedia.org/wiki/Fragmentation_(computing)

(이건 memory뿐 아니라 다른 기억장치 storage에도 해당되는 얘기)
}

The Cost of Software-Based Memory Management Without Virtual Memory // 가상메모리,virtual_memory 없이
https://arxiv.org/abs/2009.06789
https://news.ycombinator.com/item?id=24503773



Up: 메모리,memory 자원관리 resource_management 자원할당/자원배정 resource_allocation (curr at 자원,resource)
}

메모리관리장치,memory_management_unit,MMU
{
https://foldoc.org/Memory Management Unit
}

https://foldoc.org/memory management
WpEn:Memory_management
WpEn:Memory_management_(operating_systems)
}

memory_protection =,memory_protection =,memory_protection . memory_protection
{
메모리보호

MKLINK
memory_safety =,memory_safety =,memory_safety . memory_safety { 메모리보안 ? 메모리안전성 ? WtEn:memory_safety memory safety Ndict:memory safety x Naver:memory safety Bing:memory safety Ggl:memory safety "memory safety" }

https://foldoc.org/memory protection

WpKo:메모리_보호
WpEn:Memory_protection
... Google:메모리보호
... Google:memory protection
}


memory_leak =,memory_leak =,memory_leak . memory_leak
{
memory leak

Sub" memory_leak_detection =,memory_leak_detection =,memory_leak_detection . memory_leak_detection { memory leak detection WpEn:Memory_leak_detection redir to https://en.wikipedia.org/wiki/Memory_debugger Naver:memory leak detection Ggl:memory leak detection "memory leak detection" }

WtEn:memory_leak
https://everything2.com/title/memory leak

https://wiki.haskell.org/Memory_leak
https://foldoc.org/memory leak

Ndict:memory leak
Google:memory.leak
}

memory_dump ~= core_dump
{
프로세스,process의 에러가 걸린 마지막 상황이 그대로 파일,file로 저장된? 그 파일? data?
디버거,debugger 디버깅,debugging을 위한 snapshot ?

Rel. crash ~= system_crash ~= kernel_panic
rel. kdump =,kdump . kdump { kdump
rel. Linux_kernel kexec =,kexec . kexec { kexec https://ko.wikipedia.org/wiki/Kexec https://en.wikipedia.org/wiki/Kexec Naver:kexec Ggl:kexec }
https://ko.wikipedia.org/wiki/Kdump
WpEn:Kdump_(Linux)
= https://en.wikipedia.org/wiki/Kdump_(Linux)
= https://en.wikipedia.org/wiki/Kdump_(Linux)
Naver:kdump
Ggl:kdump
}

https://foldoc.org/memory dump

... Google:memory dump
... Google:core dump
}

메모리풀,memory_pool - alsoin 풀,pool merge.
{

WpKo:메모리_풀
WpEn:Memory_pool
= https://en.wikipedia.org/wiki/Memory_pool
"Memory pools, also called fixed-size blocks allocation, is the use of pools for memory management that allows dynamic memory allocation."
... Google:memory.pool

풀,pool
}

alignment
memory_alignment
memory_address_alignment / offset alignment
{
메모리주소,memory_address의 alignment.

구조체,struct / 배열,array / ...등 각종 collection 타입,type이나 (rel. padding) (- 이때는 공간)
cpu의 memory_access time( - 이때는 시간)
에서 중요한 주제임.

... Google:memory.alignment
}

RAM =,random_access_memory =,RAM . random_access_memory RAM
{
random access memory

https://en.wiktionary.org/wiki/random_access_memory
AKA
https://en.wiktionary.org/wiki/random-access_memory

http://www.linfo.org/ram.html

Up: random_access 메모리,memory
} // random access memory ... Ggl:random access memory

DRAM =,DRAM . DRAM
{
DRAM
https://en.wiktionary.org/wiki/dynamic_random_access_memory#English

Up: 메모리,memory
} // DRAM ... Ndict:DRAM Ggl:DRAM

SDRAM =,SDRAM . SDRAM
{
DRAM : operates asynchronously with the system clock
SDRAM : operates synchronously with the system clock
} // SDRAM ... Ndict:SDRAM Ggl:SDRAM

SRAM =,SRAM . SRAM
{
SRAM

Up: 메모리,memory
} // SRAM ... Ndict:SRAM Ggl:SRAM

bubble_memory =,bubble_memory . bubble_memory
{
bubble memory
버블메모리 ?

WtEn:bubble_memory = https://en.wiktionary.org/wiki/bubble_memory#English
WpSp:bubble_memory ?
WpEn:Bubble_memory = https://en.wikipedia.org/wiki/Bubble_memory
} // bubble memory ... Ndict:bubble memory Ggl:bubble memory

플래시메모리 ?
flash_memory =,flash_memory =,flash_memory . flash_memory
{
flash memory
https://en.wiktionary.org/wiki/flash_memory
http://www.linfo.org/flash_memory.html
} // flash memory ... Ndict:flash memory Ggl:flash memory

distributed_memory =,distributed_memory . distributed_memory
{
distributed memory
분산메모리 ?

of
분산시스템,distributed_system / 분산컴퓨팅,distributed_computing

WpKo:분산_메모리
= https://ko.wikipedia.org/wiki/분산_메모리

WpEn:Distributed_memory
= https://en.wikipedia.org/wiki/Distributed_memory

WtEn:distributed_memory x 2024-03-06
} // distributed memory ... Ndict:distributed memory Ggl:distributed memory

페이지,page운영체제,OS가 사용하는 메모리의 단위이다.

허용되지 않는 메모리 주소,address(메모리주소,memory_address)에 접근,access하는 것은 잘못된 행동으로서, 커널,kernel은 이런 프로세스,process를 강제로 종료시키고 코어_덤프,core_dump를 만드는 등의 행동을 한다.

메모리 특정 주소(메모리주소,memory_address)에 읽고 써서 입출력,IO를 하기도 한다. TBW: memory mapped I/O
{
https://foldoc.org/memory mapped I/O
}


C언어 메모리 관련 함수
{

}


도스,DOS
기본 메모리(Conventional memory) // conventional_memory =,conventional_memory . conventional_memory
{
0 KB - 640 KB

https://en.wiktionary.org/wiki/conventional_memory
}
UMA,upper_memory_area
{
상위 메모리 영역
640 KB - 1024 KB (0xA0000–0xFFFFF)
upper memory blocks UMBs

WpEn:Upper_memory_area
}

EMS,expanded_memory
{
EMM386
http://wiki.freedos.org/wiki/index.php/Emm386
JEMM386
http://wiki.freedos.org/wiki/index.php/JEMM386
}
XMS,extended_memory
{

}
중첩 확장 메모리 규격 - EMS
연속 확장 메모리 규격 - XMS


DMA,direct_memory_access
{
이건 cpu에 부담을 주지 않기 위한? 성능을 위해?

비교:
PIO

WpKo:직접_메모리_접근
WpEn:Direct_memory_access
}

CAM // =,CAM . CAM
content-addressable_memory
content_addressable_memory
연관 메모리(associative_memory), 연관기억장치 // =,associative_memory =,associative_memory . associative_memory
{
연관메모리
연관기억장치

내용주소화 메모리
내용주소화 기억장치 (내 직역) (보니 wpko도 그렇게 했음)

btw
연상 기억장치(associative memory) 라는 번역도 보이고 ... https://terms.naver.com/entry.naver?docId=2073343&cid=44414&categoryId=44414
내용 주소 기억장치(CAM) ... (저기서의 번역)
(Quote: "연상 기억장치(associative memory): 연상 기억장치는 순차적 컴퓨터에서 내용 주소 기억장치(CAM: Content Address Memory)라고도 하는데, 기억장치에 기억된 정보에 접근하기 위하여 주소를 사용하는 것이 아니라, 기억된 정보의 일부분을 이용하여 원하는 정보가 기억된 위치를 알아낸 후 그 위치에서 나머지 정보에 접근할 수 있는 기억장치이다.")

근데 연관이 더 낫지 않을지?


MKLINK
tuple_space - // curr at VG:튜플,tuple

WpKo:내용_주소화_기억장치
= https://ko.wikipedia.org/wiki/내용_주소화_기억장치

WpEn:Content-addressable_memory
= https://en.wikipedia.org/wiki/Content-addressable_memory

"associative memory" Ndict:associative memory Ggl:associative memory
"content-addressable memory" Ndict:content-addressable memory Ggl:content-addressable memory
} // CAM = content-addressable memory = associative memory


base_memory =,base_memory . base_memory
{
base memory

WtEn:base_memory
= https://en.wiktionary.org/wiki/base_memory

...
"base memory"
Naver:base memory Ggl:base memory
} // base memory

unreachable_memory =,unreachable_memory =,unreachable_memory . unreachable_memory
{

Rel reachability

Rel: unreachable_object? 정확한 관계가?
참고로 unreachable_objectgarbage_collection / garbage_collector의 관심을 끎...

WtEn:unreachable_memory
WpEn:Unreachable_memory = https://en.wikipedia.org/wiki/Unreachable_memory
}

ADDHERE
ADDHERE
ADDHERE
ADDHEREmemorySUBTOPICS
ADDHEREmemorySUBTOPICS
ADDHEREmemorySUBTOPICS

misc?

(misc?)
메모리 크기/한계/...
memory_size
memory_limit
memory_size_limit
tmp bmks ko:
{
컴퓨터인터넷IT용어대사전 메모리 한계 https://terms.naver.com/entry.naver?docId=829079&cid=42344&categoryId=42344
}

기타, 밀접한 관련

out of memory error/exception


.NET : System.OutOfMemoryException class
OutOfMemoryException 클래스 (System) | Microsoft Learn
https://learn.microsoft.com/ko-kr/dotnet/api/system.outofmemoryexception?view=net-8.0


bmks en


Misc

----
Retrieved from http://www.red-ruby.com/wiki/wiki.php/메모리,memory
last modified 2024-04-10 16:47:14