CS 42

IP(Internet Protocol)

1. IP의 정의IP(Internet Protocol)는 인터넷 계층(Layer 3)에 해당하며, 각 장치에 고유한 주소(IP 주소)를 부여하고, 목적지까지 데이터를 전달하는 역할을 수행하는 비연결형, 비신뢰성 프로토콜입니다.비연결형(Connectionless): 사전에 연결을 설정하지 않고, 각 패킷은 독립적으로 전송됩니다.비신뢰성(Unreliable): 전송 오류나 순서 보장은 하지 않으며, 이러한 기능은 TCP 등 상위 계층에서 보장합니다.2. IP의 등장 배경초기 컴퓨터 네트워크는 각각의 하드웨어와 운영체제에 따라 독자적인 프로토콜을 사용했습니다. IBM, DEC, Apple 등은 각기 다른 통신 방식을 개발하여 자사 제품 간에는 통신이 가능했지만, 이기종 장비 간에는 상호운용성이 없었습니다.이에..

CS/네트워크 2025.06.13

네트워크 이론

네트워크 이론의 등장 배경컴퓨터가 처음 등장했을 때, 각각의 시스템은 독립적으로 동작했습니다. 그러나 시간이 지나면서 여러 컴퓨터를 연결하여 정보를 주고받고자 하는 수요가 급증했습니다. 초기에는 각 제조사가 고유의 방식으로 장치를 연결했기 때문에, 서로 다른 시스템 간에는 직접적인 통신이 거의 불가능했습니다.예를 들어 IBM의 장비는 IBM 장비끼리만, DEC의 장비는 DEC 장비끼리만 통신할 수 있는 방식이었고, 이는 기업과 기관의 확장성, 유지보수, 협업에 큰 제약을 주었습니다. 이러한 상호운용성 부족(Interoperability issue)이 심각한 문제로 부상했습니다.또한, 컴퓨터 간 통신에는 명확한 규칙이 없었기 때문에 데이터의 전송, 해석, 흐름 제어 등에 대해 모든 개발자가 제각기 다른 방..

CS/네트워크 2025.06.13

OSI 7계층과 TCP/IP 4계층 모델

OSI와 TCP/IP 모델의 발전 과정1. 네트워크 통신의 초창기 (1960~1970년대)초기에는 제조사별 독자적인 통신 프로토콜(예: IBM SNA, DECnet)을 사용서로 다른 네트워크 간 호환성 없음: 특정 벤더 장비끼리만 통신 가능네트워크 간 상호 연결에 대한 표준화 요구가 증가2. TCP/IP 모델의 등장 (1970년대 후반)1973년 미국 국방부(DARPA)의 ARPANET 프로젝트에서 TCP/IP 연구 시작1974년: Vint Cerf와 Bob Kahn이 TCP 프로토콜 개념 발표1981년: TCP와 IP가 분리되어 각각 정의됨 (RFC 791, RFC 793)1983년 1월 1일: ARPANET이 TCP/IP 프로토콜로 전면 전환 (인터넷의 시작)단순하고 실용적인 4계층 구조로 실제 운영..

CS/네트워크 2025.06.13

운영체제의 네트워크 관리

네트워크 관리란?운영체제의 네트워크 관리(Network Management) 기능은 시스템이 네트워크를 통해 다른 장치와 데이터를 송수신하고 연결을 유지하며, 안정성과 보안을 보장할 수 있도록 지원하는 역할을 수행합니다. 네트워크는 현대 컴퓨터 시스템의 필수 구성 요소로, 운영체제는 하드웨어 인터페이스부터 소켓 API, 프로토콜 스택에 이르기까지 다양한 계층을 관장합니다.네트워크 관리의 주요 기능1. 네트워크 인터페이스 제어이더넷 카드, Wi-Fi 등 네트워크 장치(Network Interface Controller, NIC)를 제어하고 상태를 모니터링합니다.장치 드라이버를 통해 물리 계층과 데이터 링크 계층 간의 프레임 송수신을 지원합니다.2. 프로토콜 스택 관리 (TCP/IP)운영체제는 TCP/IP ..

CS/운영체제 2025.05.12

운영체제의 파일 시스템

파일 시스템이란?운영체제의 파일 시스템(File System)은 저장 장치(HDD, SSD 등)에 데이터를 논리적 단위인 파일과 디렉토리 형태로 저장, 조직, 관리하는 핵심 기능입니다. 물리적인 블록 수준의 데이터 저장을 사용자 친화적인 인터페이스로 추상화하여, 사용자가 파일 단위로 데이터를 쉽게 접근하고 조작할 수 있도록 합니다.주요 역할데이터 조직화데이터를 파일 단위로 나누고, 관련 파일을 디렉토리(폴더) 구조로 계층화하여 관리합니다.디렉토리는 트리 구조를 갖고 있으며, 루트 디렉토리를 기준으로 하위 디렉토리와 파일이 구성됩니다.파일 접근 및 조작 기능 제공파일의 생성, 읽기, 쓰기, 수정, 삭제와 같은 기본 연산을 제공합니다.각 파일에 대해 접근 권한(R/W/X)을 설정하여 보안을 유지합니다.접근 ..

CS/운영체제 2025.05.07

운영체제의 메모리 관리

메모리 관리 개요컴퓨터에서 메모리는 일반적으로 다음과 같은 구조로 나뉘어 관리됩니다:코드(Code): 프로그램의 실행 명령어가 저장되는 영역데이터(Data): 전역 변수, 정적 변수가 위치하는 영역힙(Heap): 동적 메모리 할당이 이루어지는 영역, 크기가 유동적스택(Stack): 함수 호출 시 사용되는 지역 변수, 매개변수 등이 저장되는 영역운영체제의 메모리 관리 기능은 이러한 구조를 기반으로 하여 한정된 물리 메모리를 여러 프로세스가 효율적이고 안전하게 공유할 수 있도록 관리하는 역할을 수행합니다. CPU가 명령어를 실행하려면 그에 필요한 코드와 데이터를 메모리에 올려야 하므로, 메모리 관리 기능은 운영체제의 핵심 기능 중 하나입니다.메모리 관리의 주요 기능메모리 할당과 해제프로세스가 실행되기 위해 ..

CS/운영체제 2025.05.07

운영체제의 프로세스 관리

프로세스 관리 개요프로세스 관리는 운영체제의 핵심 기능 중 하나로, CPU와 메모리 등의 자원을 효율적으로 분배하여 여러 프로그램(프로세스)이 동시에 실행될 수 있도록 지원합니다. 프로세스란 실행 중인 프로그램의 인스턴스를 의미하며, 운영체제는 프로세스의 생성, 종료, 스케줄링, 동기화 등을 담당합니다.프로세스의 구성 요소코드 (Code): 프로세스의 텍스트 섹션에 해당하는 부분으로, 실제 실행되는 명령어(기계어 코드)를 포함합니다. 이는 프로그램의 논리적 동작을 정의하며, 읽기 전용으로 메모리에 적재됩니다.데이터 (Data): 전역 변수 및 정적으로 할당된 변수가 저장되는 메모리 영역입니다. 초기화된 데이터(.data)와 초기화되지 않은 BSS(.bss) 영역으로 구분되며, 프로그램이 실행되면서 값이 ..

CS/운영체제 2025.04.30

커널

커널 개요 커널은 운영체제의 핵심 구성 요소(Core Component)로, 하드웨어 자원을 직접 관리하고 사용자 프로그램이 이 자원에 안전하게 접근할 수 있도록 중재하는 역할을 합니다. 커널은 하드웨어와 소프트웨어 사이의 추상화 계층(Abstraction Layer)을 제공하여 하드웨어의 복잡한 동작을 숨기고, 프로그램이 표준화된 인터페이스를 통해 하드웨어 기능을 사용할 수 있게 합니다. 또한 커널의 주요 목적은 자원 공유(Resource Sharing)와 자원 보호(Resource Protection)로, 여러 프로그램이 동시에 시스템 자원을 효율적이고 안전하게 사용할 수 있도록 보장하는 것입니다.커널의 주요 구성 요소프로세스 관리자 (Process Manager)프로세스 생성, 종료, 스케줄링, 상..

CS/운영체제 2025.04.23

운영체제

운영체제란?운영체제(OS, Operating System)는 하드웨어와 소프트웨어 사이에서 중재자 역할을 하는 시스템 소프트웨어입니다. 사용자가 하드웨어를 직접 제어하지 않고도 프로그램을 실행하거나 자원을 관리할 수 있도록 지원합니다.주요 역할하드웨어 자원 관리 (CPU, 메모리, 디스크, 네트워크 등)프로세스 관리 (프로그램 실행, 스케줄링, 동기화 등)파일 시스템 관리 (데이터 저장 및 접근)사용자 인터페이스 제공 (CLI, GUI)보안 및 접근 제어 (인증, 권한 관리)운영체제 종류Windows: GUI 기반, 마이크로소프트Linux: 오픈소스, 유닉스 계열, 서버 및 개발 환경macOS: 애플, 유닉스 기반 GUIUnix: 멀티태스킹, 멀티유저 시스템모바일 OS: Android, iOS운영체제 구..

CS/운영체제 2025.04.22