반응형 CS 지식118 [데이터베이스] recovery 알고리즘 종류과 checkpoint 동작 원리 데이터베이스 장애와 복구, 데이터 접근 구조Failure Classification(장애 분류)데이터베이스 시스템에서 발생할 수 있는 장애(failure)는 크게 세 가지로 분류된다.Transaction failure(트랜잭션 장애)Logical errors: 트랜잭션 내부 오류로 인해 완료되지 못하는 경우System errors: 데드락(deadlock) 등 시스템이 트랜잭션을 강제로 종료해야 하는 경우System crash(시스템 크래시)전원 장애, 하드웨어/소프트웨어 오류 등으로 시스템이 중단되는 현상Fail-stop assumption: 비휘발성 저장장치의 데이터는 시스템 크래시로 손상되지 않는다고 가정데이터베이스 시스템은 무결성(integrity) 체크를 통해 데이터 손상 방지Disk failu.. 2025. 6. 12. [운영체제] 가상 메모리의 이해와 최적화 (demand paging, 페이지 교체 알고리즘, 프레임 할당) 가상 메모리 (Virtual Memory)정의: 가상 메모리는 user logical 메모리를 physical 메모리로부터 분리하는 개념입니다. 프로그램의 일부분만 메모리에 있어도 실행이 가능하며, 논리 주소 공간이 물리 주소 공간보다 훨씬 커질 수 있습니다.프로세스 관리 효율: 여러 프로세스가 주소 공간을 공유할 수 있게 하고, 프로세스 생성(fork)을 더 효율적으로 만들며, 더 많은 프로그램이 동시에 실행되도록 합니다. 가상 메모리의 배경과 이점코드 실행 및 부분 로딩프로그램 코드는 실행을 위해 메모리에 있어야 하지만, 프로그램 전체가 한 번에 사용되는 경우는 드뭅니다. 오류 처리 코드, 자주 사용되지 않는 루틴, 또는 대규모 데이터 구조 등이 대표적입니다. 가상 메모리 시스템은 프로그램의 부분적인.. 2025. 6. 12. [데이터베이스] 타임스탬프 기반과 버전 기반 제어 프로토콜의 동작 원리 - 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. 이전 1 2 3 4 ··· 17 다음