본문 바로가기

반응형

CS

[운영체제(OS)] 6. 프로세스 동기화(Process Synchronization) [목차] 1. Race Condition 2. Critical Section 3. Synchronization Algorithms 4. Synchronization Hardware 5. Mutex Locks 6. Semaphores 7. Classical Problems of Synchronization 8. Monitor 참고) - https://parksb.github.io/article/10.html - KOCW 공개강의 (2014-1. 이화여자대학교 - 반효경) - Sogang Univ. Operating System Lecture Note (2018-2. Prof. Youngjae Kim) 1. Race Condition Race Condition(경쟁 상태)은 여러 프로세스들이 동시에 데이터에..
[운영체제(OS)] 5. 프로세스 스케줄링(Process Scheduling) [목차] 1. CPU Scheduling 2. Scheduling Criteria 3. Scheduling Algorithm 4. Multiple-Processor Scheduling 참고) - https://parksb.github.io/article/9.html - KOCW 공개강의 (2014-1. 이화여자대학교 - 반효경) - Sogang Univ. Operating System Lecture Note (2018-2. Prof. Youngjae Kim) 1. CPU Scheduling 스케줄러(Scheduler)는 언제, 어떤 프로세스를 선택해서 CPU에서 실행시키는지 선택하는 모듈(Module)이다. 멀티프로그래밍의 목적이 CPU 효율 극대화이므로 적절한 스케줄링이 필요하다. 기본적으로 프로세스는..
[DB] 8. 정규형 (1NF, 2NF, 3NF, BCNF) [목차] 1. 제1 정규형 2. 제2 정규형 3. 제3 정규형 4. BCNF 정규형이란 정규화된 결과를 말하며, 제1 정규형, 제2 정규형, 제3 정규형, BCNF, 제4 정규형, 제5 정규형이 있다. 실무적으로 제4, 제5 정규형은 잘 쓰이지 않는다고 한다. 따라서 BCNF까지만 설명할 예정이다. 1. 제1 정규형 (1NF) 제1 정규형은 릴레이션에 속하는 속성의 속성 값이 모두 원자값(Atomic Value)만으로 구성되어야 한다. 원자값이란 더 이상 쪼개질 수 없는 단위를 말한다. 예를 들어 위처럼 릴레이션이 이루어져 있다면, 제1 정규형을 만족하지 못한다. 학번이 100인 학생의 과목 번호와 성적이 2개로 이루어져 있기 때문이다. 따라서 제1 정규형이 되려면 다음과 같이 속성 값을 분리해주어야 한..
[DB] 7. 정규화 & 함수 종속성 & 이상현상 [목차] 1. 정규화가 생겨난 배경 2. 정규화란? 3. 반정규화란? 4. 함수 종속성 5. 이상현상(Anomaly) 1. 정규화가 생겨난 배경 한 릴레이션(Relation)에 여러 엔티티의 속성을 혼합하면 정보가 중복 저장되며 저장 공간을 낭비하게 된다. 또 중복된 정보로 인해 '이상 현상'이 발생하게 된다. 이러한 문제를 해결하기 위해 정규화 과정을 거치는 것이다. 2. 정규화란? Attribute 간의 종속성으로 인한 이상현상이 발생하는 릴레이션을 분해하여 재디자인함으로써 이상현상을 없애는 과정 데이터의 중복 방지, 무결성을 충족하기 위해 데이터베이스를 설계하는 방법 정규화에는 아래와 같은 3가지 원칙이 있다. 1. 정보의 무손실 : 분해된 릴레이션이 표현하는 정보는 분해되기 전의 정보를 모두 포함..
[DB/SQL] 4. DML(Data Manipulate Language) - INSERT, SELECT [목차] 1. INSERT 2. SELECT 1) FROM, WHERE 2) AND, OR, NOT 3) LIKE 4) ORDER BY 5) DISTINCT DML(Data Manipulate Language), 데이터 조작 언어는 사용자가 데이터베이스에 대해 검색, 등록, 삭제, 갱신 등을 할 수 있도록 하는 데이터베이스 언어이다. 이전 게시글에 이어서 현재 테이블이 아래와 같이 이루어져 있다고 가정하자. 아직 열의 타입만 정의된 상태이다. 1. INSERT INSERT 명령어는 데이터를 테이블에 추가할 때 사용한다. 입력하지 않은 값은 자동으로 NULL값이 입력된다. 만약 입력하지 않은 열이 NOT NULL 속성을 가지고 있다면 default value를 가지고 있지 않다는 에러가 발생한다. 문법은 ..
[DB/SQL] 3. SQL 특징 & DDL(Data Definition Language) [목차] 1. SQL이란? 2. SQL의 특징 3. DDL (Data Definition Language) 1. SQL이란? SQL은 Structured Query Language의 줄임말로, 관계형 데이터베이스 시스템(RDBMS)에서 데이터를 관리, 처리하기 위해 설계된 프로그래밍 언어이다. 1970년대 IBM에서 SEQUEL(Structured English Query Language)이라는 이름으로 처음 개발되었으며, 후에 Structured Query Language로 다시 이름이 지어졌다. SQL 문법의 종류는 다음 세 가지로 분류된다. - Data Definition Language (DDL) : Schema definition (CREATE, ALTER, RENAME, DROP,...) - ..
[DB] 2. Relational Algebra (관계 대수) [목차] 1. Data Manipulation Languages (DMLs) 2. Relational Algebra 1. Data Manipulation Languages (DMLs) 데이터베이스로부터 정보를 얻거나, 저장하는 데 사용하는 두 가지 방식의 '데이터 언어'가 있다. 절차적 언어 : Relational Algebra (관계 대수). 원하는 결과를 찾기 위해서 데이터의 처리 과정을 구체화해야 한다. 비절차적 언어 : Relational Calculus (관계 해석). 원하는 결과만 구체화하고, 어떻게 찾을지는 필요하지 않다. 원하는 데이터를 얻기 위해서 릴레이션에 필요한 쿼리(Query)를 수행할 때 사용한다. 데이터를 쉽고 빠르고 정확하게 얻기 위해 사용되며, 절차적 또는 비절차적 언어로 모..
[DB] 1. Relational Model (관계형 모델) [목차] 1. Database Management System 2. Relational Model이란? 3. Relation 4. Relational Model의 특징 1. Database Management System 데이터베이스 관리 시스템(Database Management System, DBMS)은 다수의 사용자들이 데이터베이스 내의 데이터를 접근할 수 있도록 해주는 소프트웨어 도구의 집합이다. 범용 DBMS는 데이터베이스의 정의, 생성, 질의, 업데이트, 관리 등을 위해 고안되었다. 초기의 DBMS에서는 데이터베이스가 가진 독립체와 속성인 '논리 계층(Logical layer)'과 이들이 저장되는 방식인 '물리 계층(Physical layer)'이 매우 밀접한 관계였기 때문에, 물리 계층을 바..