SMALL

2026/05/27 14

[네트워크] 패킷 헤더와 프로토콜: 유니캐스트, 브로드캐스트, 멀티캐스

헤더와 프로토콜패킷 교환 네트워크에서는 메시지를 작은 단위인 패킷으로 나누어 전송한다.패킷은 보통 실제 데이터와 부가 정보로 구성된다. 헤더페이로드트레일러 여기서 페이로드(payload)는 실제로 주고받고자 하는 데이터이다.예를 들어 웹 페이지 내용, 파일 조각, 메일 내용 등이 페이로드에 해당한다. 헤더(header)는 패킷 앞에 붙는 부가 정보이다.패킷이 어디로 가야 하는지, 어떤 방식으로 처리되어야 하는지 알려주는 정보가 담긴다. 택배에 비유하면 헤더는 택배 송장과 같다. 택배 상자 안에 들어 있는 물건이 페이로드라면, 상자 겉에 붙어 있는 송장은 헤더라고 볼 수 있다. 택배 송장에는 받는 사람의 주소, 보내는 사람의 주소, 연락처 같은 정보가 적혀 있다.택배 기사는 이 정보를 보고 택배를 어디로 ..

STUDY 2026.05.27

[네트워크] 네트워크 기본 개념: 호스트, LAN/WAN, 패킷 교환 정리

네트워크네트워크는 여러 장치가 서로 연결되어 정보를 주고받는 구조이다.우리가 웹 페이지를 열고, 파일을 다운로드하고, 메일을 보내는 모든 과정은 네트워크를 통해 이루어진다. 네트워크는 크게 다음 요소들로 구성된다.노드링크메시지네트워크 노드(node)는 네트워크에 연결된 장치를 말한다.컴퓨터, 스마트폰, 서버, 라우터, 스위치 등이 모두 노드가 될 수 있다. 링크(link)는 노드와 노드를 연결하는 통신 경로이다.유선 케이블일 수도 있고, 무선 신호일 수도 있다. 메시지(message)는 노드들이 서로 주고받는 정보이다.웹 페이지, 파일, 메일, 동영상 데이터 등이 메시지에 해당한다. 호스트와 네트워크 장비네트워크의 노드는 위치와 역할에 따라 크게 호스트와 네트워크 장비로 나눌 수 있다.호스트호스트(hos..

STUDY 2026.05.27

[운영체제] 파일 시스템 정리: 파일, 디렉터리, FAT, i-node

파일 시스템컴퓨터에서 파일은 보조기억장치에 저장된다. 하지만 보조기억장치에 데이터가 아무렇게나 저장되어 있다면 사용자는 원하는 파일을 찾기 어렵고, 운영체제도 파일을 효율적으로 관리하기 어렵다. 이때 필요한 것이 파일 시스템(file system)이다. 파일 시스템은 파일과 디렉터리를 관리하는 운영체제 내부의 프로그램이다. 보조기억장치에 저장된 데이터 덩어리를 파일과 디렉터리라는 단위로 정리하고, 사용자가 쉽게 접근할 수 있도록 도와준다. 파일을 생성하고, 삭제하고, 열고, 닫는 작업도 결국 파일 시스템을 통해 이루어진다. 파일파일(file)은 보조기억장치에 저장된 관련 정보의 집합이다.조금 더 쉽게 말하면, 의미 있고 관련 있는 정보를 모아둔 논리적 단위이다. 예를 들어 사진 파일, 문서 파일, 실..

STUDY 2026.05.27

[운영체제] 요구 페이징과 페이지 교체 알고리즘, 프레임 할당 정리

요구 페이징과 페이지 교체 알고리즘물리 메모리의 크기는 한정되어 있다.가상 메모리를 사용하면 물리 메모리보다 큰 프로세스도 실행할 수 있지만, 그렇다고 모든 페이지를 메모리에 올릴 수 있는 것은 아니다. 운영체제는 한정된 메모리를 효율적으로 사용하기 위해 두 가지를 결정해야 한다.첫째, 기존에 메모리에 올라와 있는 페이지 중 어떤 페이지를 보조기억장치로 내보낼지 결정해야 한다.둘째, 각 프로세스에게 몇 개의 프레임을 할당할지 결정해야 한다. 첫 번째 문제와 관련된 것이 페이지 교체이고, 두 번째 문제와 관련된 것이 프레임 할당이다. 요구 페이징요구 페이징(demand paging)은 처음부터 모든 페이지를 메모리에 적재하지 않고, 실행에 필요한 페이지만 메모리에 적재하는 기법이다. 프로세스 전체를 메모리..

STUDY 2026.05.27

[운영체제] 가상 메모리와 페이징: 페이지 테이블, TLB, 페이지 폴트 정리

가상 메모리와 페이징연속 메모리 할당 방식에는 대표적인 문제가 두 가지 있다. 첫째, 외부 단편화가 발생할 수 있다. 둘째, 물리 메모리보다 큰 프로세스를 실행하기 어렵다. 연속 메모리 할당은 프로세스를 메모리에 연속된 공간으로 배치하는 방식이다. 프로세스마다 크기가 다르기 때문에, 프로세스가 생성되고 종료되는 과정에서 메모리 곳곳에 작은 빈 공간이 생길 수 있다. 이렇게 메모리 전체에는 빈 공간이 충분히 있어도, 연속된 큰 공간이 없어서 프로세스를 적재하지 못하는 문제가 외부 단편화이다. 또한 프로세스 전체를 한 번에 메모리에 올려야 하므로, 물리 메모리보다 큰 프로세스는 실행하기 어렵다. 이 문제를 해결하기 위해 등장한 개념이 가상 메모리이다.가상 메모리가상 메모리는 실행하려는 프로그램의 일부만 ..

STUDY 2026.05.27

[운영체제] 교착 상태 해결 방법: 예방, 회피, 검출 후 회복

교착 상태 해결 방법이전 글에서 교착 상태가 발생하는 조건을 살펴보았다.교착 상태가 발생하려면 다음 네 가지 조건이 모두 만족되어야 한다.1. 상호 배제2. 점유와 대기3. 비선점4. 원형 대기 따라서 교착 상태를 해결하는 방법은 크게 네 가지로 나눌 수 있다.교착 상태 예방교착 상태 회피교착 상태 검출 후 회복교착 상태 무시 교착 상태 예방교착 상태 예방은 애초에 교착 상태가 발생하지 않도록 만드는 방식이다.교착 상태는 네 가지 조건이 모두 만족될 때 발생한다.따라서 이 중 하나라도 만족하지 않게 만들면 교착 상태를 막을 수 있다. 다만 교착 상태 예방은 교착 상태가 발생하지 않음을 보장할 수 있지만, 그만큼 부작용이 따를 수 있다.1. 상호 배제 없애기상호 배제는 한 프로세스가 사용하는 자원을 다른 ..

STUDY 2026.05.27

[운영체제] 교착 상태 발생 조건과 자원 할당 그래프

교착 상태운영체제에서 여러 프로세스는 동시에 실행되며 여러 자원을 사용한다.그런데 어떤 상황에서는 프로세스들이 서로 필요한 자원을 기다리기만 하고, 아무도 더 이상 진행하지 못하는 상태가 발생할 수 있다.이런 상태를 `교착 상태(deadlock)`라고 한다. 쉽게 말하면, 각 프로세스가 자원을 하나씩 붙잡고 있으면서 서로가 가진 자원을 기다리는 상황이다. 프로세스 A는 자원 1을 가지고 자원 2를 기다림프로세스 B는 자원 2를 가지고 자원 1을 기다림→ 둘 다 서로의 자원을 기다리기만 함→ 아무도 진행하지 못함 즉, 교착 상태는 프로세스들이 서로 자원을 기다리느라 멈춰버린 상태라고 볼 수 있다.식사하는 철학자 문제교착 상태를 설명할 때 자주 나오는 예시가 식사하는 철학자 문제이다.상황은 다음과 같다.다섯..

STUDY 2026.05.27

[운영체제] 동기화 도구: 뮤텍스 락, 세마포, 모니터 정리

동기화 도구: 뮤텍스 락, 세마포, 모니터이전 글에서 프로세스 동기화가 필요한 이유를 살펴보았다.여러 프로세스나 스레드가 공유 자원에 동시에 접근하면 데이터의 일관성이 깨질 수 있다. 이를 막기 위해 운영체제는 동기화 도구를 제공한다. 대표적인 동기화 도구에는 다음과 같은 것들이 있다. 뮤텍스락뮤텍스 락(Mutex Lock)은 상호 배제를 위한 동기화 도구이다. 상호 배제란 한 번에 하나의 프로세스만 임계 구역에 들어갈 수 있도록 하는 것이다. 뮤텍스 락은 쉽게 말하면 자물쇠 역할을 한다. 옷가게 탈의실을 생각해보자. 탈의실은 한 번에 한 명만 사용할 수 있다.누군가 탈의실을 사용 중이라면 다른 사람은 밖에서 기다려야 한다.손님 = 프로세스탈의실 = 임계 구역자물쇠 = 뮤텍스 락 탈의실 문이 잠겨 ..

STUDY 2026.05.27

[운영체제] 스레드란? 멀티 프로세스와 멀티 스레드 비교

스레드운영체제에서 `스레드(thread)`는 프로세스를 구성하는 실행 흐름의 단위이다.하나의 프로세스는 하나 이상의 스레드를 가질 수 있다. 프로세스 = 실행 중인 프로그램스레드 = 프로세스 안에서 실행되는 흐름 즉, 프로세스가 하나의 실행 공간이라면, 스레드는 그 안에서 실제로 명령어를 실행하는 흐름이라고 볼 수 있다. 단일 스레드 프로세스하나의 프로세스 안에 실행 흐름이 하나만 있다면 이를 단일 스레드 프로세스라고 한다.프로세스 └─ 스레드 1 예를 들어 어떤 프로그램이 입력을 받고, 계산을 하고, 결과를 출력한다고 하자.단일 스레드라면 이 작업들이 하나의 흐름 안에서 순서대로 실행된다.입력 받기 → 계산하기 → 출력하기 즉, 동시에 여러 작업을 처리하는 구조가 아니라 하나의 흐름을 따라 차례대로 실..

STUDY 2026.05.27

[운영체제] 프로세스 상태와 프로세스 계층 구조 정리

프로세스 상태와 계층 구조프로세스는 생성되어 실행되고, 필요하면 대기하다가, 작업이 끝나면 종료된다. 운영체제마다 프로세스 상태를 표현하는 방식은 조금씩 다를 수 있다. 하지만 일반적으로 많이 사용하는 상태는 다음 다섯 가지이다. 생성 상태준비 상태실행 상태대기 상태종료 상태 프로세스는 실행되는 동안 이 상태들을 오가며 관리된다.생성 상태생성 상태(new state)는 프로세스가 이제 막 만들어진 상태이다.프로그램이 실행되면 운영체제는 해당 프로그램을 메모리에 적재하고, 프로세스를 관리하기 위한 PCB를 만든다.즉, 생성 상태는 프로세스가 메모리에 올라오고 PCB를 할당받은 상태라고 볼 수 있다.프로그램 실행→ 메모리에 적재→ PCB 생성→ 생성 상태 이후 프로세스가 실행될 준비를 마치면 준비 상태로 ..

STUDY 2026.05.27