반응형 전체 글271 [데이터베이스] 타임스탬프 기반과 버전 기반 제어 프로토콜의 동작 원리 - Timestamp-Ordering(TSO), Validation-based, Optimistic Concurrency Control(OCC) Timestamp-Based Protocols각 transaction Ti는 고유한 timestamp TS(Ti)를 가진다.Timestamp는 transaction이 시작할 때 할당되며, 새로운 transaction들은 이전 것들보다 큰 timestamp를 가진다.Timestamp는 logical counter를 기반으로 할 수 있다.Real time은 unique하지 않을 수 있으므로 (wall-clock time, logical counter)를 사용하여 uniqueness를 보장할 수 있다.Timestamp-based protocol은 timestamp order = serializability order가 되도록 concurrent execution을 관리한다.Timestamp-Ordering P.. 2025. 6. 6. [데이터베이스] 데드락과 팬텀현상을 해결 위한 동시성 제어 프로토콜의 종류 (deadlock, 교착상태, Phantom, Granularity) - Index Locking, Next-Key Locking Protocol Deadlock HandlingDeadlock이란 transaction들의 집합에서 각 transaction이 집합 내의 다른 transaction을 기다리고 있는 상황이다. 이러한 deadlock 상황을 처리하는 방법에는 prevention, detection, recovery가 있다. Deadlock PreventionDeadlock prevention protocol은 시스템이 deadlock 상태에 절대 진입하지 않도록 보장하는 기법들이다.1. Pre-declaration 방식각 transaction이 실행을 시작하기 전에 필요한 모든 data item들을 미리 lock하는 방법이다.2. Graph-based Protocol모든 data item에 partial ordering을 부과하고, tra.. 2025. 6. 6. [데이터베이스] 동시성, 격리 수준 이론과 락(lock) 기반 프로토콜의 종류 - 2PL, graph based protocol, tree, lock table Concurrency ControlDBMS에서 Concurrency Control의 목표는 다음과 같다.스케줄링 결정이 conflict serializable 또는 view serializable이어야 하며,recoverable하고 가능하면 cascadeless해야 한다.Scheduler는 높은 수준의 concurrency(동시성)를 제공해야 한다.단일 트랜잭션만 실행하는 정책은 serial schedule을 만들지만 concurrency가 매우 낮다.Concurrency-control scheme은 허용하는 concurrency의 양과 발생하는 오버헤드 사이에서 tradeoff를 가진다.어떤 scheme은 conflict-serializable schedule만 생성하고, 어떤 scheme은 confl.. 2025. 6. 6. [네트워크] SDN과 Openflow 동작 원리와 미들박스(Middlebox) Generalized Forwarding: match plus actionGeneralized Forwarding란 네트워크 라우터(router)에서 패킷(packet)을 처리할 때, 단순히 목적지(destination) IP 주소만을 기준으로 포워딩(forwarding)하는 것이 아니라, 패킷 헤더(header)의 다양한 필드(field)를 기준으로 여러 가지 동작(action)을 수행할 수 있는 방식을 의미한다.포워딩의 기본 개념각 라우터(router)는 forwarding table(포워딩 테이블=flow table)을 가진다."match plus action" 추상화(abstraction): 도착한 패킷의 비트(bit) 값을 테이블과 매칭(match)하고, 그 결과에 따라 특정 동작(action).. 2025. 6. 4. [운영체제] OS의 메모리 할당 관리와 segmentation, 페이징(Paging) 배경지식프로그램은 실행되기 위해 disk에서 memory로 로드되어 프로세스 내에 배치되어야 한다.CPU가 직접 접근할 수 있는 저장소는 main memory와 registers뿐이며, memory unit은 주소와 read 요청, 또는 주소와 데이터 및 write 요청의 스트림만을 인식한다.성능 특성은 다음과 같다:Register access: 1 CPU clock 이하의 시간Main memory access: 여러 사이클이 소요되어 stall을 유발Cache: main memory와 CPU registers 사이에 위치하여 성능 향상올바른 동작을 위해서는 memory protection이 필요하다.Base and Limit RegistersBase register와 limit register의 쌍이 .. 2025. 5. 31. [운영체제] OS의 교착상태(Deadlock) 이론과 해결 알고리즘 (Banker's Algorithm, Safety Algorithm, Detection Algorithm, 자원 그래프) System Model시스템은 resource들(R1, R2, ..., Rm)로 구성됩니다.각 resource type은 CPU cycles, memory space, I/O devices와 같은 자원을 의미하며, 각 resource type Ri는 Wi개의 인스턴스를 가집니다. 프로세스는 다음과 같은 순서로 자원을 활용합니다:Request: 자원 요청Use: 자원 사용Release: 자원 해제Deadlock CharacterizationDeadlock은 다음 4가지 조건이 동시에 충족될 때 발생합니다:Mutual Exclusion: 한 번에 하나의 프로세스만 특정 자원을 사용할 수 있음.Hold and Wait: 자원을 보유한 프로세스가 다른 프로세스가 점유한 추가 자원을 요청하며 대기.No Preem.. 2025. 5. 31. [네트워크] NAT(network address translation)동작 원리와 IPv6 도입 NAT: Network Address TranslationNAT(Network Address Translation)는 내부 네트워크의 모든 device들이 외부 세계(인터넷)에서는 단 하나의 IPv4 address만 사용하는 기술이다.즉, 내부 네트워크(예: home network 10.0.0/24)에 여러 device(10.0.0.1, 10.0.0.2 등)가 있더라도, 외부에서는 모두 동일한 NAT IP address(예: 138.76.29.7)만 보인다.내부 네트워크에서 외부로 나가는 모든 datagram은 동일한 NAT IP address(예: 138.76.29.7)를 source로 사용하지만, source port number는 각기 다르다.내부 네트워크로 들어오는 datagram은 원래대로 내부.. 2025. 5. 30. [네트워크] IP 데이터그램 형식과 주소 할당 방식(서브넷, DHCP, CDIR) Network Layer: InternetNetwork Layer는 인터넷에서 host와 router의 핵심 기능을 담당한다.주요 기능에는 Path-selection algorithms(경로 선택 알고리즘), IP protocol(IP 프로토콜), ICMP protocol(ICMP 프로토콜)이 있다.Path-selection algorithmsrouting protocols(OSPF, BGP), SDN controller 등에 의해 구현된다.forwarding table(포워딩 테이블)을 사용해 데이터가 목적지까지 가는 경로를 결정한다.IP protocoldatagram format(데이터그램 포맷), addressing(주소 지정), packet handling conventions(패킷 처리 규칙)을.. 2025. 5. 30. [네트워크] 라우터 내부 구조, 포트, 버퍼 관리, 스케쥴링 내부 동작 설명 Router Architecture Overview (라우터 아키텍처 개요)라우터(Router)는 네트워크에서 데이터그램(datagram, 패킷)을 목적지까지 전달(forwarding)하는 장치이다. 라우터의 내부 구조는 크게 두 가지 평면(plane)으로 나뉜다.Control Plane(제어 평면): 소프트웨어 기반으로 동작하며, 라우팅(routing)과 관리(management)를 담당한다. 라우팅 프로토콜을 통해 라우팅 테이블을 계산하고, 이 결과를 데이터 평면에 전달한다. 밀리초(ms) 단위의 시간 프레임에서 동작한다.Data Plane(데이터 평면, Forwarding Plane): 하드웨어 기반으로 동작하며, 실제 패킷 전달(forwarding)을 수행한다. 나노초(ns) 단위의 매우 빠른 시.. 2025. 5. 28. [네트워크] 네트워크 계층 개요와 라우터, data plane, control plane Network-layer services and protocolsNetwork-layer(네트워크 계층)은 transport segment(트랜스포트 계층의 세그먼트)를 sending host(송신 호스트)에서 receiving host(수신 호스트)로 전달하는 역할을 한다.sender(송신자): 세그먼트를 datagram(데이터그램)으로 캡슐화(encapsulate)하여 link layer(링크 계층)로 전달한다.receiver(수신자): 데이터그램에서 세그먼트를 추출하여 transport layer protocol(트랜스포트 계층 프로토콜)로 전달한다.네트워크 계층 프로토콜은 모든 Internet device(인터넷 장치)에 존재한다. 여기에는 hosts(호스트)와 routers(라우터)가 포함된다... 2025. 5. 28. 이전 1 2 3 4 ··· 28 다음