Decoder 디코더 - 여러 개의 입력을 받아 어느 특정 입력에 대한 어느 특정 출력만을 활성화시키는 회로이다. Active High Decoder - 이진수 값을 십진수 값으로 나타낼 때, True(1)값을 이용하여 나타내는 회로이다. 1. 2 to 4 Decoder a. Truth Table Inputs (BCD Code) Outputs (Decimal Digit) \(a\) \(b\) \(0_{(10)}\) \(1_{(10)}\) \(2_{(10)}\) \(3_{(10)}\) 0 0 1 0 0 0 0 1 0 1 0 0 1 0 0 0 1 0 1 1 0 0 0 1 b. Circuit Implementation 2. 3 to 8 Decoder a. Truth Table Inputs (BCD Code) ..
Relational Algebra 관계 대수 - Relational Query Language의 기반이 되는 이론이다. - Qurey Evaluation Plan들을 표현하기에 용이하다. - DBMS는 사용자로부터의 Query를 관계 대수로 변환한다. - DBMS의 Query Optimizer는 가장 Cost가 낮은 Query Evaluation Plan를 선택하여 수행한다. * Relational Algebra - Operational(절차적)하며, Execution Plan을 표현하는 데 최적화되어 있다. - 관계 대수에 대한 피연산자, 연산 결과 모두 Relation이다. ※ 연산 결과로는 단순한 Rows, Columns가 아닌, Table Relation으로 리턴된다. (이러한 특성으로 인해, 복..
The Relational Model 관계모델 - Conceptual Schema를 설계할 때 사용되는, Simple한 점이 장점인 모델링 방법 중 하나이다. - IBM, Microsoft, Oracle, Sybase 등과 같은 유수기업들에서 사용되고 있다. - 관계모델 이외에도, Tree 구조의 IBM IMS, Graph 구조의 Codasyl와 같은 Legacy System에서 구동되는 모델도 있다. (Tree(Hierarchical) 구조, Graph(Network) 구조는 비효율적인 구조에 속한다.) - Conceptual Schema에 위치한 DBMS가 인지할 수 있는 모델링 방법들 중 가장 널리 쓰이는 모델링 방법이다. - E-R Model은 External Schema(=View)를 설계할 때..
Finite Automata유한 오토마타 - 본 포스트에서는 유한 오토마타에 대해 알아본다. Terminology (용어 정리) Finite Accepter (유한 인식기)- 유한 개수의 State를 가지며, Temporary Storage를 가지지 않는 오토마타를 의미한다.- 유한 인식기는 Input File을 수정/저장할 수 없어, 계산 중 필요한 정보를 저장하는 데 제한을 가진다.- String(문자열)을 Accept(승인) 혹은 Reject(거부)하기 때문에 Accepter(인식기)라 부른다.- 유한 인식기는 간단한 패턴 인식 메커니즘으로 볼 수 있다. DFA (Deterministic Finite Accepter; 결정적 유한 인식기)- Regular Language(정규 언어)를 정의하기..
Transport Layer 전송 계층 - 전송계층(Layer-4)의 프로토콜로는 크게, TCP, UDP, SCTP가 있다. - 이들 프로토콜은 네트워크 계층(Layer-3)의 IPv4 혹은 IPv6 프로토콜을 이용한다. - Raw Socket이란, Layer-5(Application)이 Layer-4를 건너뛰고, Layer-3의 서비스를 이용하는 구조의 소켓을 의미한다. - Client-Server Program은 보통 TCP 혹은 UDP를 이용한다. - SCTP는 본래 인터넷을 통한 전화 서비스를 위해 설계되었다. TCP (Transmission Control Protocol) (URL) - 복잡하고, 신뢰도가 높은 Connection-Oriented Protocol이다. - Full-Duplex B..
Processes and Threads 프로세스와 스레드 - 2.1 Processes - Process = Job = Task = Sequential Process - Process는 Program Execution의 기본단위이다. - 프로그램 실행이 Abstraction된 형태를 Process라 한다. - Thread는 CPU 할당의 기본단위이다. - Program과 달리, Process는 수행되며 동적으로 상태가 변한다. (Dynamic Execution Context) * Multiprocessing - 다수의 Processor 시스템에서 다수의 Process를 구동하여 하나의 Job을 처리하는 형태를 의미한다. * Pseudoparallelism - 물리적으로 Parallelism이 구현된 것은 ..
Linux Manual Page 리눅스 메뉴얼 * man7.org (URL) * die.net (URL) Section Number in the Man Page (1) - General Commands (2) - System Calls (3) - C Library Functions (4) - Special Files (Usually devices, as in /dev) and Drivers (5) - File Formats and Conventions (6) - Games and Screensavers (7) - Miscellanea (8) - System Administration Commands and Daemons
Simple Daytime Program (Server-Side) 간단한 시각알림 프로그램 (서버 측) - 서버는 클라이언트로부터 시각과 날짜를 요청받아 응답을 해주는 프로그램이다. * TCP/IP Connection Function Process + OS Kernel을 구성하는 코드의 대부분은 TCP 기반의 네트워크를 운용하는 부분에 대한 코드이다. Source Code for Server Side (C Language) // Header Files --------------------------------------------- #include #include #include #include #include #include #include #include #include // -------------..