[CS기초] 소켓 프로그래밍 핵심 개념 정리 (socket, connect, bind, listen, accept)
·
크래프톤 정글/CS기초(키워드, 개념정리)
소켓 프로그래밍 핵심 개념 정리 (socket, connect, bind, listen, accept)소켓(Socket)은 네트워크 상에서 데이터를 주고받기 위한 통신의 끝점(endpoint)입니다. 이는 네트워크 프로그램에서 통신 채널을 설정하는 데 사용되지요. 소켓 프로그래밍의 핵심 함수socket()네트워크 통신을 위한 소켓을 생성한다통신 도메인(예: IPv4, IPv6), 소켓 타입(예: TCP, UDP), 프로토콜을 지정한다connect()클라이언트에서 서버의 소켓에 연결 요청을 보낼 때 사용한다서버의 IP 주소와 포트 번호가 인자로 제공됩니다.bind()생성된 소켓에 특정 IP 주소와 포트 번호를 연결(바인딩)한다주로 서버에서 사용하며, 클라이언트가 연결할 수 있는 고정된 주소를 제공한다lis..
[CS기초] 클라이언트-서버 모델(Client-Server Model)
·
크래프톤 정글/CS기초(키워드, 개념정리)
클라이언트-서버 모델(Client-Server Model)클라이언트-서버 모델은 네트워크상에서 컴퓨터 간 데이터를 주고받기 위한 통신 구조의 한 형태인데요. 특정 역할이 명확하게 분리된 클라이언트(Client)와 서버(Server)로 구성됩니다. 핵심 개념클라이언트(Client)사용자의 요청을 생성하여 서버에게 특정 서비스나 자원을 요청하는 컴퓨터 또는 소프트웨어웹 브라우저, 이메일 클라이언트 등서버(Server)클라이언트의 요청을 수신하고 처리하여 응답을 제공하는 컴퓨터 또는 소프트웨어웹 서버, 메일 서버, 데이터베이스 서버 등 작동 원리요청(Request): 클라이언트가 서버에게 필요한 데이터를 요청처리(Processing): 서버는 해당 요청을 받아 처리응답(Response): 서버가 처리 결과를..
[CS기초] 네트워크 계층 (OSI 7 Layer와 TCP/IP Layer)
·
크래프톤 정글/CS기초(키워드, 개념정리)
네트워크 계층 (OSI 7 Layer와 TCP/IP Layer)컴퓨터 네트워크는 데이터를 주고받기 위해 여러 계층으로 구성된 모델을 따르는데요. 가장 널리 알려진 두 가지 모델인 OSI 7계층 모델과 TCP/IP 계층 모델의 핵심을 정리해 보겠습니다. OSI 7계층 (Open Systems Interconnection)OSI 7계층은 네트워크 통신 과정을 7개의 세부 계층으로 나누는 방식으로, 각 계층이 독립적으로 기능을 수행하는 구조입니다.계층이름주요 역할7응용 계층 (Application)사용자 인터페이스 제공 (HTTP, FTP, SMTP 등)6표현 계층 (Presentation)데이터 표현, 압축, 암호화5세션 계층 (Session)연결 관리, 세션 유지 및 종료4전송 계층 (Transport)..
[CS기초] 만화로 보는 Implicit vs Explicit free list을 구분하는 방식
·
크래프톤 정글/CS기초(키워드, 개념정리)
[중간정리] 7주차 - 페이징과 세그멘테이션, 메모리 할당 정책, DMA, C언어(포인터), 힙 정렬
·
크래프톤 정글/CS기초(키워드, 개념정리)
페이징과 세그멘테이션페이징 (Paging)가상 메모리를 고정 크기의 블록인 페이지(Page)로 나누고, 물리 메모리도 같은 크기의 프레임(Frame)으로 구분하여 매핑하는 방식장점외부 단편화(External Fragmentation)를 효과적으로 제거 가능하다메모리 관리가 단순해진다페이지 단위로 메모리 보호 및 공유가 용이하다단점내부 단편화(Internal Fragmentation)가 발생할 수 있다페이지 테이블 관리에 추가적인 메모리가 필요하다세그멘테이션 (Segmentation)가상 메모리를 논리적 의미를 가진 가변 크기의 블록, 즉 세그먼트(Segment) 단위로 나누어 관리하는 방식 (예: 코드, 데이터, 스택 등)장점프로그램의 논리적 구조에 맞게 메모리를 최적화하여 사용 가능하다세그먼트 단위로 ..
[CS기초] 7주차 개념 정리
·
크래프톤 정글/CS기초(키워드, 개념정리)
7주차 개념 정리아래의 내용을 코드 블럭 우측 상단의 Copy 버튼을 눌러 복사한 뒤, 퀴즈 로봇(신명훈 학우 제작)의 프롬프트에 붙여넣기하면 핵심 개념들에 대한 퀴즈를 풀어볼 수 있습니다. □ 힙 정렬힙의 특성을 이용하여 정렬하는 알고리즘■ 힙의 특징 • 힙은 '부모의 값이 자식의 값보다 항상 크다'를 항상 만족하는 완전 이진 트리 (최대 힙) • '크다'가 '작다'로 바뀌어도 성립 (최소 힙) • 힙에서 최댓값(또는 최솟값)은 항상 루트에 위치한다 • 형제 노드 간에는 대소 관계를 따지지 않는다. (부모-자식 관계만 만족하면 됨)■ 힙 정렬 과정 1. 루트 노드를 삭제한다. 루트 노드는 마지막 원소가 대체한다. 2. 이후 규칙을 만족할 때까지 힙을 재조정한다. a. 최대 힙 기준, 루트 노드를 두 ..
[CS기초] 이더넷(Ethernet)
·
크래프톤 정글/CS기초(키워드, 개념정리)
이더넷(Ethernet)이더넷(Ethernet)은 컴퓨터 네트워크에서 데이터를 서로 주고받기 위해 사용하는 유선 통신 규약(프로토콜)입니다. 특히 OSI 7계층 중 데이터 링크 계층(Data Link Layer)에서 동작하며, 물리적 주소(MAC 주소)를 이용해 데이터의 목적지를 지정하고 전송을 관리하는데요. 뿐만 아니라 로컬 영역 네트워크(LAN)를 구축하는 데 있어 사실상 표준처럼 널리 사용됩니다. 핵심 특징프레임 기반 통신데이터를 작은 단위인 프레임(Frame)으로 쪼개서 전송한다MAC 주소 사용네트워크에 연결된 각 장비는 고유한 MAC 주소를 가지며, 이를 통해 서로를 식별하고 통신한다CSMA/CD 기술초기 이더넷은 충돌 감지(Collision Detection) 방식으로 통신함오늘날에는 스위치..
[CS기초] DMA (Direct Memory Access)
·
크래프톤 정글/CS기초(키워드, 개념정리)
DMA (Direct Memory Access)컴퓨터 시스템에서는 CPU가 메모리와 입출력(I/O) 장치 간의 데이터 이동을 직접 관리하는 경우가 많습니다. 그러나 매번 CPU가 데이터를 옮기느라 시간을 낭비하면, 다른 중요한 작업을 처리할 시간이 줄어들게 되는데요. 이를 해결하기 위한 기술이 바로 DMA(Direct Memory Access) 입니다. DMA란?DMA(Direct Memory Access)는 CPU를 거치지 않고, 입출력 장치가 메모리와 직접 데이터를 주고받을 수 있도록 하는 메커니즘입니다. 이때 DMA 컨트롤러라는 전용 하드웨어 장치가 메모리-입출력 장치 간 데이터 전송 작업을 CPU로부터 위임받아 대신 수행하게 되는데요. 이를 통해 CPU의 개입 없이 데이터 전송이 가능해지기 때문에..