2025/03/07 5

MMU (Memory Management Unit)의 역할

1. MMU란? (Memory Management Unit의 개념)운영체제(OS)에서 CPU가 직접 메모리에 접근하는 방식은 비효율적이며, 보안 및 자원 관리 문제를 초래할 수 있음. 이를 해결하기 위해 **메모리 관리를 담당하는 하드웨어 장치인 MMU (Memory Management Unit, 메모리 관리 장치)**가 사용됨 ✅ MMU란?CPU와 메모리 사이에서 메모리 주소 변환 및 보호 기능을 수행하는 하드웨어 장치가상 주소(Virtual Address)를 물리 주소(Physical Address)로 변환하는 역할메모리 보호 기능을 제공하여 프로세스 간의 충돌을 방지📌 실생활 예시: "지도 네비게이션 시스템"사용자가 "서울역"을 검색하면 GPS 좌표(물리 주소)로 변환되어 정확한 위치를 찾는 과정..

컴퓨터공학 2025.03.07

메모리 단편화(Internal & External Fragmentation)와 해결 방법

1. 메모리 단편화란?운영체제(OS)는 CPU가 프로세스를 실행할 때 필요한 메모리(RAM)를 할당하고, 사용이 끝나면 반환하는 방식으로 메모리를 관리한다. 하지만, **메모리 할당 및 해제가 반복되면서 사용하지 못하는 자투리 공간이 발생하는 현상을 "메모리 단편화(Memory Fragmentation)"**라고 한다.이러한 단편화가 심해지면 RAM에 여유 공간이 있음에도 불구하고 새로운 프로세스를 실행할 수 없는 문제가 발생할 수 있다. 즉, 전체적인 시스템 성능 저하 및 메모리 낭비가 심화되는 원인이 된다.1-1. 메모리 단편화가 발생하는 이유메모리 단편화는 운영체제가 메모리를 할당하고 반환하는 과정에서 블록이 불규칙하게 배치되면서 발생한다.다음과 같은 경우에 메모리 단편화 문제가 발생할 가능성이 높..

컴퓨터공학 2025.03.07

페이지 교체 알고리즘 (FIFO, LRU, LFU, OPT)란? 개념과 비교 분석

1. 페이지 교체 알고리즘이란? 운영체제(OS)에서 한정된 메모리(RAM)를 효율적으로 사용하기 위해 가상 메모리(Virtual Memory) 개념을 적용한다. 가상 메모리는 물리적 메모리(RAM)가 부족할 경우, 하드디스크(SSD/HDD)의 일부를 임시 메모리(Swap Space)로 사용하여 실행을 지속할 수 있도록 돕는다. 하지만, RAM의 크기가 제한되어 있기 때문에 새로운 프로세스가 실행될 때 필요한 데이터를 저장할 공간이 부족하면 기존 데이터를 삭제해야 한다. 이때, **어떤 데이터를 삭제하고 새로운 데이터를 저장할지를 결정하는 방법이 "페이지 교체 알고리즘(Page Replacement Algorithm)"**이다. ✅ 페이지 교체 알고리즘의 필요성효율적인 메모리 관리: RAM이 가득 찬 경..

컴퓨터공학 2025.03.07

캐시 메모리(Cache Memory)와 성능 최적화

1. 캐시 메모리(Cache Memory)란?캐시 메모리(Cache Memory)란, CPU와 메인 메모리(RAM) 간의 속도 차이를 줄이기 위해 자주 사용하는 데이터를 임시 저장하는 고속 메모리를 의미한다. CPU는 RAM보다 훨씬 빠르게 동작하지만, 직접 RAM에 접근하면 속도가 느려지므로 캐시 메모리를 활용하여 성능을 최적화함. ✅ 캐시 메모리의 주요 특징고속(High-Speed): RAM보다 훨씬 빠른 속도를 제공휘발성(Volatile): 전원이 꺼지면 저장된 데이터가 사라짐자동화(Automatic Management): CPU가 자주 사용하는 데이터를 자동으로 저장하고 관리📌 실생활 예시: "자주 가는 카페에서 미리 커피를 준비하는 바리스타"일반적으로 커피를 주문하면 바리스타가 재료를 꺼내서 ..

컴퓨터공학 2025.03.07

동기화 문제(Critical Section, Mutex, Semaphore)란? 개념과 해결 방법

1. 동기화(Synchronization) 문제란?멀티프로세스 또는 멀티스레드 환경에서는 여러 개의 프로세스(또는 스레드)가 동시에 실행되면서 동일한 자원(변수, 파일, 메모리 등)에 접근할 수 있음. 이 과정에서 데이터 충돌, 무결성 문제, 경쟁 조건(Race Condition)이 발생할 수 있으며, 이를 "동기화(Synchronization) 문제"라고 함 ✅ 동기화 문제가 발생하면?데이터 손상: 두 개의 스레드가 동시에 같은 데이터를 수정하면, 예상하지 못한 값이 저장될 수 있음일관성 문제: 여러 개의 프로세스가 같은 파일을 동시에 변경할 때, 올바르지 않은 데이터가 기록될 수 있음무한 대기 상태: 프로세스가 서로의 작업이 끝나기를 기다리면서 교착 상태(Deadlock)에 빠질 수 있음2. 동기화 ..

컴퓨터공학 2025.03.07