Jemalloc
Facebook 에서 개발한 malloc
메모리 단편화를 최소화하고, 멀티프로세서/멀티스레드 환경에서 동시성을 제공한다.
1 min read
Facebook 에서 개발한 malloc
메모리 단편화를 최소화하고, 멀티프로세서/멀티스레드 환경에서 동시성을 제공한다.
Semaphore 현재 공유 자원에 접근할 수 있는 thread 또는 Process 의 수를 나타내는 값을 설정하여 mutual exclusion 를 달성하는 기법 Semaphore 는 리소스 상태를 나타내는 간단한 카운터를 사용하며, 이는 OS 또는 Kernel 에서 지정된 값이다.
Memory B) 메모리의 구성 요소 4 개 B.1) Code 실행할 프로그램의 코드가 저장되는 영역 (컴파일 시 크기가 결정됨) B.2) Data 전역 변수, static variable 등 컴파일 시 결정되는 것들에 대한 영역 B.3) stack 지역 변수, parameters, return value 등...
Bit CPU 의 bit 는 한 번에 다룰 수 있는 데이터의 최대 크기를 의미한다. 예시: 32bit CPU 는 한 번에 다룰 수 있는 데이터의 최대 크기가 32bit 이다. B) Related C) References.
Cache Prefetch CPU 에서 사용할 데이터를 메인 메모리에서 캐시 메모리로 미리 올려놓는 방식을 의미한다. 2. Related 3. References Cache prefetching - Wikipedia .
Swap 영역 하드디스크에 존재하고 Memory Management Unit 가 관리하는 영역 swap in swap out Related References.
Mutex 공유된 자원의 데이터를 여러 thread 가 접근하는 것을 막는 것 상호배제라고도 하며, Critical Section 을 가진 thread 의 Running time 이 서로 겹치지 않도록 각각 단독으로 실행하게 하는 기술이다.
Cache Cache 는 느린 저장소나 계산 결과 앞에 더 빠른 저장 공간을 두어 반복 접근 비용을 줄이는 구조다. OS/architecture 에서는 CPU cache, page cache, disk cache 등이 대표적이다.
MMU 메모리 관리를 하는 메모리 관리자 의 줄임말 B) 하는 일 fetch (가져오기) Process 와 데이터를 Memory 로 가져오는 작업 placement (배치) replacement (재배치) .
Paging 페이징이란 external fragmentation 의 발생을 완전히 차단하기 위하여 적용한 방법으로, 프로세스가 적재되는 메모리 의 논리 주소를 Page 라고 불리는 고정된 크기의 블록들로 분할하여 관리하는 기법이다.
Critical Section Critical Section 은 여러 thread 또는 Process 가 동시에 접근하면 안 되는 shared resource 를 다루는 코드 구간이다.