분류 전체보기
-
교착 상태 (Deadlock)Computer Science/OS 2025. 11. 25. 20:15
1. 개요교착 상태(Deadlock) 는여러 프로세스가 서로가 가진 자원을 기다리며 무한히 대기하는 상태를 말함즉, 서로가 서로를 기다리느라 아무도 앞으로 진행하지 못하는 상황2. 교착 상태의 예시예시 상황프로세스현재 보유 자원요청 중 자원P1프린터스캐너P2스캐너프린터→ P1은 스캐너가 필요하고,→ P2는 프린터가 필요하지만,서로가 자원을 내놓지 않아 무한 대기 상태 발생.3. 교착 상태 발생의 4가지 조건 (필수 조건)교착 상태는 아래 4가지 조건이 모두 만족될 때만 발생하나라도 깨뜨리면 교착 상태를 예방할 수 있음.조건설명예시상호 배제 (Mutual Exclusion)자원을 한 번에 하나의 프로세스만 사용 가능프린터 1대만 사용 가능점유와 대기 (Hold and Wait)자원을 보유한 채 다른 자원을..
-
메모리 관리 – 페이징과 세그먼테이션Computer Science/OS 2025. 11. 5. 12:43
1. 개요운영체제에서 메모리 관리(Memory Management) 는 프로세스가 사용할 메모리 공간을 효율적이고 안전하게 분배하는 핵심 기능메모리 관리의 목표는 다음과 같음한정된 메모리 자원을 효율적으로 사용여러 프로세스가 동시에 실행될 수 있도록 지원 (멀티프로그램)서로 다른 프로세스가 메모리를 침범하지 않도록 보호2. 메모리 관리 기법의 분류분류설명예시연속 메모리 할당 (Contiguous)하나의 프로세스가 연속된 물리 공간을 차지단일 분할, 다중 분할비연속 메모리 할당 (Non-contiguous)프로세스가 여러 영역으로 나뉘어 저장페이징(Paging), 세그먼테이션(Segmentation)현대 운영체제는 대부분 비연속 메모리 관리(Paging + Segmentation) 방식을 사용3. 연속 메..
-
CPU 스케줄링 알고리즘Computer Science/OS 2025. 11. 4. 17:34
1. 개요운영체제에서 CPU 스케줄링(CPU Scheduling) 은Ready 상태의 여러 프로세스 중 어떤 프로세스에 CPU를 할당할지 결정하는 작업.한정된 CPU 자원을 효율적으로 배분하여 처리량(Throughput) 증가, 응답시간 단축, 공정성(Fairness) 을 달성하는 것이 목표용어설명스케줄링(Scheduling)프로세스 실행 순서를 결정하는 과정디스패처(Dispatcher)선택된 프로세스에 실제로 CPU를 넘겨주는 역할컨텍스트 스위칭(Context Switching)CPU 제어권을 다른 프로세스로 전환하는 과정Ready Queue실행 대기 중인 프로세스들의 대기열2. 스케줄링의 분류기준구분설명선점 여부비선점(Non-preemptive)CPU를 한 번 할당하면 종료 시까지 점유 (예: FCF..
-
프로세스와 스레드 차이Computer Science/OS 2025. 11. 3. 12:23
1. 개요운영체제(OS, Operating System)는 프로그램 실행과 자원 관리를 담당하는 핵심 소프트웨어이 중에서도 프로세스(Process) 와 스레드(Thread) 는 CPU가 작업을 수행하는 기본 단위로, 운영체제 이해의 핵심 개념구분프로세스스레드정의실행 중인 프로그램프로세스 내의 실행 흐름 단위독립성독립적인 메모리 공간 보유같은 프로세스 내 메모리 공유통신 방식프로세스 간 통신(IPC) 필요공유 메모리로 간단한 통신 가능자원 소모크다 (프로세스별 메모리, PCB 등 생성)작다 (Stack만 분리)예시Chrome.exe, Discord.exe탭 단위 실행, 채팅 전송 스레드 등2. 프로세스(Process)란?실행 중인 프로그램(Program in Execution)운영체제는 프로그램을 실행할 ..
-
패킷 전달 과정 (라우팅)Computer Science/Network 2025. 11. 2. 15:07
1. 개요라우팅(Routing)은 네트워크에서 데이터 패킷이 목적지까지 이동하는 경로를 결정하는 과정송신지에서 수신지로 가는 동안 여러 네트워크 장비(라우터, 게이트웨이 등)를 거치며 전달됨용어설명패킷(Packet)전송되는 데이터의 단위 (네트워크 계층에서 사용)라우팅(Routing)패킷이 이동할 최적 경로를 선택하는 과정라우터(Router)네트워크 간 패킷 전달을 담당하는 장비게이트웨이(Gateway)다른 네트워크로 나가는 출입구 역할2. 패킷 전달 기본 흐름예시: PC(192.168.10.5) → 웹 서버(203.0.113.10) 접속 과정1. PC는 브라우저를 통해 HTTP 요청 생성2. 전송 계층(TCP)이 데이터를 세그먼트로 분할3. 네트워크 계층(IP)이 목적지 IP(203.0.113.10)를..
-
DNS 동작 원리Computer Science/Network 2025. 10. 30. 12:46
1. 개요DNS(Domain Name System)는도메인 이름(예: www.google.com) 을 IP 주소(예: 142.250.196.132) 로 변환해주는 시스템사람은 기억하기 쉬운 “이름”으로 접근하지만, 컴퓨터는 “숫자(IP 주소)”로 통신하기 때문에DNS는 이 둘을 연결하는 인터넷 전화번호부 역할을 함항목예시설명도메인 이름www.google.com사람이 인식하기 쉬운 주소IP 주소142.250.196.132컴퓨터가 인식하는 주소변환 과정도메인 → IPDNS가 수행2. DNS의 기본 개념DNS는 분산형 계층 구조로 설계되어 있음.즉, 전 세계의 수많은 DNS 서버가 서로 역할을 나눠 도메인을 관리한다. 계층예시역할Root DNS.최상위 루트 서버 (전 세계에 13개 존재)Top-Level Do..
-
HTTP vs HTTPSComputer Science/Network 2025. 10. 28. 16:48
1. 개요웹 통신은 기본적으로 HTTP (HyperText Transfer Protocol) 을 사용하지만,보안이 필요한 환경에서는 HTTPS (HTTP Secure) 로 통신함.두 프로토콜의 가장 큰 차이는 데이터를 암호화하여 전송하느냐(HTTPS) vs 평문으로 전송하느냐(HTTP)구분HTTPHTTPS포트 번호80443암호화없음 (평문 전송)SSL/TLS 기반 암호화보안성낮음높음속도빠름약간 느림 (암호화 과정 때문)URL 예시http://example.comhttps://example.com 2. HTTP 동작 원리HTTP는 클라이언트–서버 모델로 동작.즉, 클라이언트(웹 브라우저)가 요청(Request)을 보내면, 서버가 응답(Response)을 돌려주는 구조.[브라우저] → HTTP 요청 → [웹..
-
포트 번호와 프로토콜Computer Science/Network 2025. 10. 21. 18:39
1. 개요포트(Port)는 하나의 IP 주소 안에서 여러 프로그램(프로세스)을 구분하기 위한 논리적 번호IP가 “건물 주소”라면, 포트는 “건물 안의 각 방 번호”TCP/IP 네트워크에서는 IP 주소 + 포트 번호 조합으로 통신이 이루어짐.예를 들어, 웹 브라우저가 www.example.com에 접속할 때는 IP 주소를 찾은 후 포트 80(HTTP) 으로 연결을 시도구분예시설명IP 주소192.168.0.10컴퓨터(호스트) 자체의 주소포트 번호80특정 서비스(웹 서버)의 식별자조합192.168.0.10:80특정 서버의 특정 서비스에 연결2. 포트 번호 체계포트 번호는 16비트(0~65535) 정수로 표현되며, 세 가지 범위로 구분 구분범위설명Well-known Port (공인 포트)0 ~ 1023전 세계적..