SQL(Structured Query Language) 현업에서 쓰이는 relational DBMS의 표준 언어 종합적인 database 언어 : DDL + DML + VDL 아래에서는 MySQL을 기준으로 설명한다. 주요 용어 SQL에서 relation이란? multi-set of tuples 이다. 중복된 tupl...
Database 3. SQL 개념과 각종 관련 지식
Database 2. 관계형 데이터베이스의 각종 개념
Relational Data Model Set 서로 다른 element를 가지는 collection 하나의 set에서 elements의 순서는 중요하지 않다 e.g. {1, 3, 11, 4, 7} Relation in mathematics Cartesian Product A x B : set A와 Set B에서 고를 수 ...
Operating System.13 Virtual Memory
Virtual Memory Knuth’s estimate : 10%의 code가 전체 실행의 90%를 차지한다. 때문에 locality를 활용하여 virtual memory를 관리하기 위한 Policy를 정한다. 장점 : multi programming의 정도를 높일 수 있다. 메모리 크기에 제약을 벗어날 수 있다. Virtual...
Database 1. 데이터베이스 개론
Database 조직에 필요한 정보를 얻기 위해 논리적으로 연관된 데이터를 모아 구조적으로 통합해 놓은 것 데이터의 종류 통합된 데이터(integrated data) : 데이터를 통합하는 개념으로, 각자 사용하던 데이터의 중복을 최소화하여 중복으로 인한 데이터 불일치 현상을 제거 저장된 데이터(stored data) : 문서로 보...
Operating System.12 Memory management
Memory Model Sequential Consistency(순차적 일관성) re-ordering을 고려하지 않은 모델 이 모델에서는 모든 프로세서가 메모리 작업을 동일한 순서로 보게 된다 최적화, 성능 향상을 하지 못한다. 위의 이미지와 같이 코드 실행 순서를 변경할 수 없기에 [100, 1]...
Operating System.11 Deadlock
Priority Inversion(우선 순위 역전) Priority Inversion(우선순위 역전)은 병행 프로그래밍에서 발생할 수 있는 동기화 문제 중 하나이다. 이 문제는 낮은 우선순위의 태스크가 높은 우선순위의 태스크보다 먼저 실행되거나 높은 우선순위의 태스크를 블로킹하는 상황을 말한다. Priority Invers...
Operating System.10 Synchronization 2
Condition Synchronization(조건 동기화) 조건 동기화(Condition Synchronization)는 병행 프로그래밍에서 여러 스레드 또는 프로세스 간의 실행 순서를 조정하고 조율하는 메커니즘이다. 이는 특정 조건이 만족될 때까지 스레드나 프로세스의 실행을 블록하고, 조건이 충족되면 실행을 재개하는 방식으로 동...
Operating System.9 Synchronization 1
Synchronization이란? 멀티스레딩 환경에서 여러 스레드가 공유 자원에 동시에 접근할 때 발생할 수 있는 문제를 해결하기 위한 메커니즘이다. Synchronization의 목적 데이터 무결성 보장 : 여러 스레드가 공유 자원을 동시에 접근하고 수정할 때, 데이터의 일관성과 무결성을 유지한다. 경쟁 상태...
Operating System.8 Threads and Synchronization
Process and Thread Process : 실행 상태에 있는 프로그램 운영체제가 바라보는 프로세스의 단위 자원 소유권 단위(Memory, I/O device, file) 실행/스케줄링의 단위(execution sequence -> thread) Multi-threading ...
Operating System.7 Processor Scheduling 2
Multiple-Processor(MP) System Multiple-Processor System은 여러 개의 프로세서를 사용하여 시스템의 성능을 향상시키는 컴퓨터 아키텍처이다. MP System의 종류 Symmetric Multiprocessing (SMP) ...