분류 전체보기 49

OSI 7계층과 TCP/IP 모델 개념 정리

1. OSI 7계층이란? OSI 7계층(Open Systems Interconnection Model)은 네트워크 통신이 어떻게 이루어지는지 단계별로 정리한 표준 모델이다. ISO(국제 표준화 기구)가 정의하였으며, 각 계층은 독립적으로 작동하여 데이터 전송을 효율적으로 수행하도록 설계되었다. ✅ OSI 7계층의 역할네트워크에서 데이터가 전송되는 과정을 7개의 계층으로 나누어 설명각 계층이 특정 기능을 담당하며 하위 계층의 기능을 활용하여 상위 계층을 지원표준화된 통신 방식을 제공하여 다양한 네트워크 장비와 프로토콜이 호환 가능하도록 설계📌 OSI 7계층 구조 계층계층 이름역할 및 기능프로토콜 예시7계층응용 계층(Application Layer)사용자와 네트워크를 연결하는 인터페이스 제공HTTP, FT..

컴퓨터공학 2025.03.08

RAID(복수 하드디스크 구성 방식) 개념과 종류

1. RAID란? (RAID 개념과 필요성) RAID(Redundant Array of Independent Disks, 복수 독립 디스크의 중복 배열)는 여러 개의 하드디스크(HDD) 또는 SSD를 하나의 논리적 장치로 묶어 성능을 향상시키고, 데이터 보호 기능을 강화하는 기술이다. RAID는 단순한 저장 방식이 아니라, 데이터를 여러 디스크에 나누어 저장하거나, 중복 저장하여 장애 발생 시 데이터를 복구하는 기능을 제공한다. ✅ RAID의 핵심 목표1️⃣ 데이터 보호 – 하나 이상의 디스크가 고장 나더라도 데이터를 복구할 수 있도록 설계2️⃣ 스토리지 성능 향상 – 여러 개의 디스크를 병렬로 사용하여 읽기/쓰기 속도를 증가3️⃣ 효율적인 디스크 사용 – 디스크 공간을 효과적으로 활용하여 데이터 저장 ..

컴퓨터공학 2025.03.08

디스크 스케줄링 알고리즘 (FCFS, SSTF, SCAN, C-SCAN)

1. 디스크 스케줄링이란?운영체제(OS)에서 디스크는 데이터를 읽고 쓰는 중요한 역할을 담당한다. 하지만, 여러 개의 입출력(I/O) 요청이 동시에 발생하면 디스크가 어떤 순서로 요청을 처리할지 결정해야 한다. 이때, 디스크 스케줄링(Disk Scheduling) 알고리즘을 사용하여 디스크 헤드의 이동을 최적화하고 성능을 향상시킬 수 있다. ✅ 디스크 스케줄링이 필요한 이유디스크 접근 시간을 최소화하여 시스템 성능 향상I/O 대기 시간을 줄여 CPU가 효율적으로 작업할 수 있도록 지원요청이 많은 환경에서 공정하게 자원을 배분📌 실생활 예시: "엘리베이터 운영 방식"엘리베이터가 여러 층에서 호출되었을 때, 호출된 순서대로 이동하면 비효율적이다. 대신, 가까운 층부터 이동하면 이동 거리가 줄어든다. 디스크..

컴퓨터공학 2025.03.08

파일 시스템(File System)이란?

1. 파일 시스템의 주요 개념파일 시스템(File System)은 운영체제(OS)가 데이터를 저장하고 관리하는 방식을 의미한다. 운영체제는 하드디스크(HDD), SSD, USB, 메모리 카드 등 다양한 저장 장치(Storage Device)를 효율적으로 활용하기 위해 파일과 디렉터리를 조직화하고 접근하는 체계적인 방법을 제공한다. 📌 파일 시스템의 역할✅ 데이터를 효율적으로 저장하고 검색할 수 있도록 함✅ 파일과 폴더를 계층 구조로 조직화하여 관리✅ 파일 이름, 확장자, 크기, 생성 및 수정 날짜, 권한 등 메타데이터를 저장✅ 데이터 무결성을 유지하고, 손상된 파일을 복구하는 기능 제공✅ 사용자 및 프로세스 간의 접근 권한을 관리하여 보안성 강화1-1. 파일(File)과 디렉터리(Directory) 개..

컴퓨터공학 2025.03.08

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

데드락(Deadlock)이란? 원인과 해결 방법

1. 데드락(Deadlock)이란?데드락(Deadlock, 교착 상태)이란, 두 개 이상의 프로세스가 서로의 자원을 기다리면서 무한히 대기하는 상태를 의미한다.즉, 각 프로세스가 필요한 자원을 다른 프로세스가 점유하고 있어 서로 양보하지 않으면, 영원히 실행되지 못하는 상태가 된다. 운영체제에서는 여러 개의 프로세스가 한정된 시스템 자원을 공유하기 때문에, 적절한 자원 관리가 이루어지지 않으면 데드락이 발생할 수 있음1-1. 쉽게 이해하는 데드락 예시데드락은 실생활에서도 비슷한 사례를 찾아볼 수 있다.📌 예시 1: 교차로에서 마주한 차량들이 서로 길을 양보하지 않는 경우네 방향에서 차량이 교차로에 진입했는데, 모두가 먼저 지나가려다 결국 아무도 움직이지 못하는 상태해결되지 않으면 도로가 마비됨 → 데드..

컴퓨터공학 2025.03.06