인덱싱
인덱스
인덱스의 개념
데이터 검색에서 발생하는 비효율적인 데이터 입출력 문제를 해결하기 위한 목적으로 시작
인덱스의 탐색키를 이용하여 해당 레코드가 저장된 블럭을 디스크 저장장치 또는 메모리에서 파악하여 해당 블럭을 빠르게 적재
인덱스 방식의 장점
레코드 블록을 메모리에 적재하는 것보다 인덱스 블록을 메모리에 적재하는 것이 사이즈가 작고 더 많은 레코드들을 올려놓을 수 있어 검색할 때 효율적이다.
인덱스의 종류
순서 인덱스: 특정 값에 대해 정렬된 순서 구조
해시 인덱스: 버킷의 범위 안에서 값의 균일한 분포에 기초한 구조로 해시 함수가 어떤 값이 어느 버킷에 할당되는지 결정
인덱스의 평...
관계형 모델
관계형 모델의 개념
논리적 데이터 모델링 단계
DBMS에서 사용하는 데이터 모델에 맞추어 데이터를 표현하는 과정
데이터 정의 언어로 기술된 개념 스키마 생성
논리적 데이터 모델링의 필요
릴레이션의 구성
컬럼, 속성, 필드
레코드, 투플
컬럼값
인스턴스
스키마
릴레이션의 특징
레코드의 유일성: 중복된 레코드의 존재가 불가능
레코드의 무순서성: 레코드의 순서는 의미가 없음
컬럼의 무순서성: 컬럼은 순서가 없고, 이름과 값의 쌍
컬럼값의 원자성: 모든 값들을 나눌 수 없는, 단 하나의 의미
키(key)의 역할
릴레이션의 레코드를 식별할 수 있는 값
키...
병행 프로세스 I
병행 프로세스의 개요
병행성(concurrency)
여러 개의 프로세스 또는 쓰레드가 동시 수행되는 시스템의 특성
병행 프로세스
동시 수행되는 여러 개의 프로세스 또는 쓰레드
병행 프로세스의 실행 형태
1개의 CPU: 인터리빙 형식
여러개의 CPU: 병렬처리 형식
멀티프로세서 시스템에서의 메모리 구조에 따라
강결합 시스템(공유 메모리 구조)
약결합 시스템(분산 메모리 구조)
프로세스 간의 관계
독립 프로세스
수행 중인 다른 프로세스에 영향을 주지도 받지도 않음
데이터 및 상태를 다른 프로세스와 공유하지 않음
프로세스의 실행
...
데이터베이스 모델링
데이터베이스 모델링 이해
데이터베이스 모델링의 필요
비즈니스적 관점 (어떤 데이터를 저장해야 하는가?)
컴퓨터 프로그래머 관점 (어떻게 데이터를 저장해야 하는가?)
데이터베이스 시스템 구현 과정
사용자 요구사항 분석
개념적 데이터 모델링
논리적 데이터 모델링 (개념 스키마)
물리적 데이터 모델링 (내부 스키마)
데이터베이스 모델링의 개념
데이터의 의미를 파악하고 데이터와 관여하는 업무 프로세스를 개념적으로 정의하고 분석하는 작업
모델링의 단계
사용자 요구사항 분석
개념적 데이터 모델링
논리적 데이터 모델링
물리적 데이터 모델링
내부 스키마
데이터 모델
...
프로세스 생성과 복사 fork()와 exec()
널널한 개발자 - 프로세스 생성과 복사 fork()와 exec()
프로세스와 가상메모리의 관계
os는 프로세스 단위로 파일, 자원의 접근을 제어하고 권한을 부여한다. 프로세스가 os에게 자원을 할당받으면 내부에 있는 쓰레드들도 자연스럽게 공유 받을 수 있는 상태가 된다.
프로세스는 가상메모리를 가지게 된다. 즉, 프로세스가 생성되면 독립적인 가상 메모리가 주어지게 된다.
프로세스의 내부
프로세스는 PID, 고유의 id를 가지게 되며, 프로세스 + PCB + VMS(가상 메모리 공간)은 하나의 세트다.
운영체제마다 각각 실행파일 포맷이 다르다
유닉스계열은 ELF 파일 형식 ...
컴퓨터가 3층집인건 알고 있죠?
널널한 개발자 - 컴퓨터가 3층집인건 알고 있죠?
컴퓨터 3층
유저모드(User)
커널모드(Kernel)
하드웨어(Physical) / 소프트웨어(Logical, Virtual)
컴퓨터 3층 내부에서는 통신을 한다
운영체제는 유저모드에 있는 애플리케이션을 서포트하고, 내부에 있는 커널모드와 하드웨어에는 관리 및 제어를 한다.
컴퓨터는 주변기기와 통신(입출력)을 한다. 즉, I/O를 말하는 것인데, 컴퓨터가 주변기기와 통신을 할 때 여러가지 매커니즘이 존재하는데 그럴때마다 인터럽트(Interrupt)가 발생한다.
Hello World 를 입력한다면?
컴퓨터 3층이 통신을 하는 예시이다....
24 post articles, 3 pages.