- 프로세스의 크기에 맞게 Memory 를 자르는 것
1 min read
Memory B) 메모리의 구성 요소 4 개 B.1) Code 실행할 프로그램의 코드가 저장되는 영역 (컴파일 시 크기가 결정됨) B.2) Data 전역 변수, static variable 등 컴파일 시 결정되는 것들에 대한 영역 B.3) stack 지역 변수, parameters, return value 등...
사용자의 Process 가 주어진 Memory 공간을 벗어나거나 접근 권한이 없는 곳에 접근할 때 발생하는 오류 해당 오류를 발생시킨 Process 를 강제 종료하여 해결한다.
Paging 페이징이란 external fragmentation 의 발생을 완전히 차단하기 위하여 적용한 방법으로, 프로세스가 적재되는 메모리 의 논리 주소를 Page 라고 불리는 고정된 크기의 블록들로 분할하여 관리하는 기법이다.
Process 란 OS 로 부터 시스템 자원을 할당받고 메모리에 적재되어 실행되고 있는 프로그램 (program) 의 인스턴스를 의미하며, 여기서 프로그램은 실행 가능한 파일을 뜻한다.
Swap 영역 하드디스크에 존재하고 Memory Management Unit 가 관리하는 영역 swap in swap out Related References.
Bit CPU 의 bit 는 한 번에 다룰 수 있는 데이터의 최대 크기를 의미한다. 예시: 32bit CPU 는 한 번에 다룰 수 있는 데이터의 최대 크기가 32bit 이다. B) Related C) References.
MMU 메모리 관리를 하는 메모리 관리자 의 줄임말 B) 하는 일 fetch (가져오기) Process 와 데이터를 Memory 로 가져오는 작업 placement (배치) replacement (재배치) .
CPU Scheduling CPU Scheduling 은 OS 가 어떤 Process 또는 thread 에 CPU 실행 시간을 줄지 결정하는 정책이다.
Semaphore 현재 공유 자원에 접근할 수 있는 thread 또는 Process 의 수를 나타내는 값을 설정하여 mutual exclusion 를 달성하는 기법 Semaphore 는 리소스 상태를 나타내는 간단한 카운터를 사용하며, 이는 OS 또는 Kernel 에서 지정된 값이다.
Jemalloc Facebook 에서 개발한 malloc 메모리 단편화를 최소화하고, 멀티프로세서/멀티스레드 환경에서 동시성을 제공한다. B) Related C) References.