본문 바로가기

Computer Science9

[CS] 가비지 컬렉션 (Garbase Collection, GC) 가비지 컬렉션 (Garbase Collection, GC)메모리 관리 방법JVM(자바 가상 머신)의 Heap 영역에서 동적으로 할당됐던 메모리 중 필요 없게 된 메모리 객체(garbage)를 모아 주기적으로 제거하는 프로세스프로그램을 개발하다 보면 유효하지 않은 메모리인 Garbage 가 발생하게 되는데, *메모리 누수를 방지하기 위해서 이러한 불필요한 메모리를 제거해야 한다.C / C++ 언어에서는 가비지 컬렉션이 없어 free() 라는 함수를 통해 직접 메모리를 해제해주어야 한다.Java 나 Kotlin 을 이용하면 가비지 컬렉션가 주기적으로 검사하여 메모리를 청소해 준다.하지만 자동으로 처리해 준다 해도 메모리가 언제 해제되는지 정확하게 알 수 없어 제어하기 힘들고, 가비지 컬렉션이 동작하는 동안에.. 2024. 8. 27.
[CS] 가상 메모리 (Virtual Memory) 메모리 (Memory)프로그램과 프로그램 수행에 필요한 데이터 및 코드를 저장하는 장치메모리는 크게 내부 기억장치인 주기억장치(DRAM, CPU 안에 있는 레지스터와 캐시)와 외부 기억장치인 보조 기억장치(SSH, HDD)로 분류된다. 가상 메모리 등장 배경1. 초창기 컴퓨터에서는 사용 가능한 RAM 의 용량이 가장 큰 실행 애플리케이션의 주소 공간보다 커야 했다. 그렇지 않을 경우 "메모리 부족" 오류로 인해 해당 애플리케이션을 실행할 수 없었다.즉, 컴퓨터에 실제로 장착된 물리 메모리(RAM)의 최대 크기는 CPU 에 의해 제한되기 때문에 *운영체제는 물리 메모리보다 큰 *프로세스를 실행시킬 수 없었다.운영체제 : 컴퓨터 시스템의 핵심 소프트웨어로, 컴퓨터 하드웨어와 응용 프로그램 간의 상호작용을 관.. 2024. 8. 23.