1. 인터럽트의 정의

 

프로그램을 실행하는 도중에 예기치 않은 상황이 발생할 경우 현재 실행 중인 작업을 즉시 중단하고, 발생된 상황을 우선 처리한 후 실행 중이던 작업으로 복귀하여 계속 처리하는 것이다. 일명 "끼어들기"라고도 한다.
- 외부 인터럽트, 내부 인터럽트, 소프트웨어 인터럽트로 분류하는데, 외부나 내부 인터럽트는 CPU의 하드웨어에서의 신호에 의해 발생하고 소프트웨어 인터럽트는 명령어의 수행에 의해 발생한다.

 

 

2. 인터럽트의 종류 및 발생원인

 

외부 인터럽트
- 전원 이상 인터럽트 (Power Fail Interrupt) : 정전이 되거나 전원 이상이 있는 경우이다.
- 기계 착오 인터럽트 (Machine Check Interrupt) : CPU의 기능적인 오류동작이 발생한 경우이다.
- 외부 신호 인터럽트 (External Interrupt): 타이머에 의해 규정된 시간(Time Slice)을 알리는 경우, 키보드로 인터럽트 키를 누른 경우, 외부장치로부터 인터럽트 요청이 있는 경우이다.
- 입/출력 인터럽트 (Input-Output Interrupt) : 입/출력 Data의 오류나 이상 현상이 발생한 경우, 입/출력장치가 데이터의 전송을 요구하거나 전송이 끝났음을 알릴 경우이다.

 

내부 인터럽트
- 잘못된 명령이나 데이터를 사용할 때 발생하며, 트랩 (Trap)이라고도 부른다.
- 명령어 잘못에 의한 인터럽트 : 프로그램에서 명령어를 잘못 사용한 경우이다.
- 프로그램 인터럽트 (Program Interrupt) : 0으로 나누거나, Over flow 또는 Underflow가 발생한 경우이다.


소프트웨어 인터럽트
- 프로그램 처리 중 명령의 요청에 의해 발생하는 것으로, 가장 대표적인 형태는 감시 프로그램을 호출하는 SVC(SuperVisor Call) 인터럽트가 있다.
- SVC (Supervisor Call) 인터럽트 : 사용자가 SVC 명령을 써서 의도적으로 호출한 경우이다.

 

3. 인터럽트 발생시 CPU가 확인할 사항

-프로그램 카운터의 내용
-사용한 모든 레지스터의 내용
-상태 조건의 내용(PSW)

 

4. 인터럽트의 동작원리
① 인터럽트 요청 신호 발생
② 프로그램 실행을 중단함 : 현재 실행 중이던 명령어(Micro Instruction)는 끝까지 실행한다.
③ 현재의 프로그램 상태를 보존함 : 프로그램 상태는 다음에 실행할 명령의 번지로서 PC가 가지고 있다.
④ 인터럽트 처리 루틴을 실행함 : 인터럽트를 요청한 장치를 식별한다.
⑤ 인터럽트 서비스 루틴을 실행함 : 실질적인 인터럽트를 처리한다.
⑥ 상태복구: 인터럽트 요청신호가 발생했을 때 보관한 PC의 값을 다시 PC에 저장한다.
⑦ 중단된 프로그램 실행 재개 : PC의 값을 이용하여 인터럽트 발생 이전에 수행 중이던 프로그램을 계속 실행한다.

 

5. 인터럽트 우선순위
- 목적 : 여러 장치에서 동시에 인터럽트가 발생하였을 때 먼저 서비스할 장치를 결정하기 위해서이다.
- 우선 순위(높음>낮음) : 전원 이상(Power Fail) > 기계착오(MachineCheck) > 외부신호(External) > 입출력(I/O) > 명령어 잘못 > 프로그램(Program Check) > SVC(Supervisor Call)

 

6. 인터럽트 우선순위 판별 방법

 

소프트웨어적인 인터럽트 우선순위 판별방법 : Polling
- Interrupt 발생시 가장 높은 우선순위의 인터럽트 자원(Source)부터 차례로 검사해서, 우선순위가 가장 높은 Interrupt 자원(Source)를 찾아내어 이에 해당하는 인터럽트 서비스 루틴을 수행하는 방식이다.
․ 소프트웨어적인 방식을 폴링이라고 한다.
․ 많은 인터럽트가 있을 때 그들을 모두 조사하는 데 많은 시간이 걸려 반응시간이 느리다는 단점이 있다.
․ 회로가 간단하고 융통성이 있으며 별도의 하드웨어가 필요 없으므로 경제적이다.

 

하드웨어적인 인터럽트 우선순위 판별방법

  • CPU와 Interrupt를 요청할 수 있는 장치 사이에 장치 번호에 해당하는 버스를 병렬이나 직렬로 연결하여 요청장치의
    번호를 CPU에 알리는 방식이다.
  •  장치 판별 과정이 간단해서 응답속도가 빠르다.
  •  회로가 복잡하고 융통성이 없으며, 추가적인 하드웨어가 필요하므로 비경제적이다.
  •  직렬(Serial) 우선순위 부여방식 : 데이지 체인(Daisy-Chain)

- 인터럽트가 발생하는 모든 장치를 1개의 회선에 직렬로 연결한다.
- 우선순위가 높은 장치를 선두에 위치시키고 나머지를 우선순위에 따라 차례로 연결한다.
- 직렬 우선순위 부여방식을 데이지 체인 방식이라고 한다.

  • 병렬(Parallel) 우선순위 부여방식
    - 인터럽트가 발생하는 각 장치를 개별적인 회선으로 연결한다.
    - 각 장치의 인터럽트 요청에 따라 각 Bit가 개별적으로 Set될 수 있는 Mask Register를 사용한다.
    - 우선순위는 Mask Register의 Bit위치에 의해서 결정된다.
    - 우선순위가 높은 Interrupt는 낮은 Interrupt가 처리되는 중에도 우선 처리된다.

 

7. 기억장치의 특성을 결정하는 요소

 

- 기억용량 :기억장치는 무조건 기억용량이 큰 것을 사용한다고 해서 좋은 것이 아니라, 사용목적에 따라 성능당 경비 비율이 적은것을 사용하는 것이 바람직하다.
- Access Time : 기억장치에 읽기요청이 발생한 시간부터 요구한 정보를 꺼내서 사용 가능할 때까지의 시간이다. 한 Word단위의 정보를 읽거나 기록하는데 걸리는 시간이고  공식은  Access time = Seek Time + Latency Time(또는 SerachTime) + Transmission Time 이다.

- Cycle Time : 기억장치에 읽기신호를 보낸 후 다시 읽기 신호를 보낼 수 있을 때까지의 시간 간격이다. Cycle Time ≥ Access Time

- Bandwidth(대역폭, 전송률) : 메모리로부터 또는 메모리까지 1초 동안 전송되는 최대한의 정보량으로 기억장치의 자료처리 속도를 나타내는 단위이고 메모리 워드의 길이가 작을수록 대역폭이 좋다.

 

8.기억장치의 구분

 

내용의 보존 여부 
- 파괴성 메모리(Destructive Memory) : 판독 후 저장된 내용이 파괴되는 메모리로, 파괴된 내용을 재생시키기 위한 재저장 시간(Restoration Time)이 필요함 (예)자기 코어
- 비파괴성 메모리 : 판독 후에도 저장된 내용이 그대로 유지됨 (예) 자기코어를 제외한 모든 기억장치이다.

 

전원단절시 내용 소멸 여부
- 휘발성 메모리(Volatile Memory) : 전원이 단절되면 모든 정보가 지워지는 메모리 (예) RAM
- 비휘발성 메모리 : 전원이 단절되더라도 기억된 정보가 보존되는 메모리 (예) ROM, 자기코어, 보조기억장치

 

재충전 (Ref resh) 여부
- 정적메모리(SRAM) : 전원이 공급되는 한 기억된 내용이 계속 유지되는 메모리이다.
- 동적메모리(DRAM) : 전원이 공급되어도 일정시간이 지나면 내용이 지워지므로 재충전을 해야 하는 메모리이다.

접근 방식
- 직접접근방식(SASD, Sequential Access Storage Device) :자료가 저장된 위치에 접근할 때, 처음부터 순서대로 접근하여 원하는 위치를 검색하는 메모리 (예) 자기테이프
- 직접접근방식(DASD, Direct Access Storage Device) : 순서를 거치지 않고 자료가 저장된 위치를 직접 접근할 수 있는 메모리 (예)자기 테이프를 제외한 모든 기억장치

 

9. ROM(Read Only Memory)
- 기억된 내용을 읽을 수만 있는 기억장치로서 일반적으로 쓰기는 불가능하다.
- 전원이 꺼져도 기억된 내용이 지워지지 않는 비휘발성 메모리이다.
- 실제로 ROM은 주기억장치로 사용하기 보다는 주로 기본 입.출력시스템(BIOS), 자가 진단 프로그램(POST) 같은 변경가능성이 희박한 시스템 소프트웨어를 기억시키는데 이용한다.

 

ROM의 종류와 특징

 

Mask ROM
제조공장에서 프로그램화하여 생산한 ROM으로, 사용자가 내용을 변경시킬 수 없다.


PROM(Programmable ROM)
PROM 프로그램장치라는 특수장치를 이용하여 비어있는 ROM에 사용자가 한번만 내용을 기입할 수 있으며, 이후엔 읽기만 가능하다.


EPROM(Erasable PROM)
- 자외선을 쏘여서 기입한 내용을 지울 수도 있고, PROM프로그램장치로 기입할 수도 있다.
- 사용자가 여러 번 반복해서 지우거나 기입할 수 있다.

EAROM (Erasable Alterable ROM)
전기적 특성을 이용하여 기록된 정보의 일부를 바꿀 수 있는 ROM이다.


EEPROM(Electronic EPROM)
전기적인 방법을 이용하여 기록된 내용을 여러 번 수정하거나 새로운 내용을 기록할 수 있는 ROM이다.

 

9. RAM(Random Access Memory)
- 자유롭게 읽고 쓸 수 있는 기억장치로, RWM(Read Write Memory)라고도 한다.
- RAM에는 현재 사용 중인 프로그램이나 데이터가 저장되어 있다.
- 전원이 꺼지면 기억된 내용이 모두 사라지는 휘발성 메모리이다.
- 일반적으로 ‘주기억장치’ 또는 메모리라고 하면 램을 의미한다.
- 정보가 저장된 위치는 주소로 구분한다.
- SRAM/DRAM의 특징 : 동적 램(DRAM)은 구성소자가 콘덴서이고, 전원공급이 되어도 일정시간이 지나면 전하가 방전되므로 주기적인 재충전(refresh)가 필요하다. 그리고 전력소모가 적으며 접근속도가 느리고, 밀도가 높고 가격이 저렴하다. DRAM은 일반적인 주기억장치로 사용된다. 정적 램(SRAM)은 플립플롭으로 구성되며 전원이 공급되는 동안에는 기억내용이 유지된다. 전력소모가 많으며 접근 속도가 빠르며 밀도가 낮고 가격이 비싸다. SRAM은 캐시메모리로 사용된다.

 

10.자기코어
- 전류 일치 기술(coincident-current technique)에 의하여 기억장소를 선별한다.
- 데이터를 읽으면 읽은 내용이 지워지는 파괴메모리(destructive memory) 이므로 내용을 읽은 후 지워진 내용을 기록하기 위한 재저장(restoration time)시간이 필요하다.
- 자기 코어는 중심을 통과하는 전선에 흐르는 전류의 방향에 따라 1혹은 0의 값을 갖는다.
- 자기 코어는 부피에 비해 용량이 작고 가격이 비싸 현재는 거의 사용하지 않는다.
- 자기코어에는 4개의 선이 있다.
- 구동선(X, Y) 2개 : 번지 선택선
- 센스선 1개 : 자기코어의 상태 검출한다.
- 금지선 1개 : 불필요하게 자화되었을 때 -1/2 금지 전류를 흘려 자화를 소거시키는 선이다.

 

11. 보조기억장치
자기 테이프
- 순차처리(SASD)만 할 수 있는 대용량 저장매체이다.
- 가격이 저렴하고 용량이 커서 자료의 백업용으로 많이 사용한다.
- 자성 물질이 코팅된 얇은 플라스틱 테이프를 동그란 릴에감아 놓은 형태이다
- 테이프의 시작과 끝부분을 알리는 은박지 사이의 정보 저장부분을 7~9 트랙으로 구성한다.


자기디스크(Magnetic Disk)
- 자성 물질을 입힌 금속 원판을 여러 장 겹쳐서 만든 기억매체로 용량이 크고 접근 속도가 빠르다.
- 순차, 비순차(직접) 처리가 모두 가능한 DASD(Direct Access Storage Device) 방식으로 데이터를 처리한다.
- 트랙(Track) : 디스크 표면에서 회전축(스핀들 모터)을 중심으로 데이터가 기록되는 동심원
- 섹터(Sector) : Track들을 일정한 크기로 구분한 부분이며, 정보 기록의 기본 단위이다.
- 실린더(Cylinder) : 서로 다른 면들에 있는 동일 위치의 Track들의 모임으로 실린더의 수는 한 면의 트랙 수와 동일하다.

 

자기드럼(Magnetic Drum)
- 원통 표면에 Track과 Sector를 구성하고, 각 Track마다 고정된 R/W Head를 두고 있어 자기디스크에 비해 속도가 빠르다.
- 순차, 비순차(직접) 처리가 모두 가능한 DASD(Direct Access Storage Device) 방식으로 데이터를 처리한다.
- 크기에 비해 용량이 적어 현재는 거의 사용하지 않는다.

 

12. 특수 기억장치

 

연관기억장치(Associative Memory)
- 기억장치에서 자료를 찾을 때 주소에 의해 접근하지 않고, 기억된 내용의 일부를 이용하여 Access할 수 있는 기억장치로 CAM(Content Addressable Memory)이라고도 한다.
- 주소에 의해서만 접근이 가능한 기억장치보다 정보검색이 신속하다.
- 캐시메모리나 가상메모리관리 기법에서 사용하는 Mapping Table에 사용된다.
- 외부의 인자와 내용을 비교하기 위한 병렬 판독 논리회로를 갖고 있기 때문에 하드웨어 비용이 증가한다.

 

복수 모듈 기억장치(Memory Interleaving)
- 독자적으로 데이터를 저장할 수 있는 기억장치 모듈을 여러 개 가진 기억장치이다.
- 주기억장치와 CPU의 속도차의 문제점을 개선한다.

- 기억장치 버스를 시분할하여 사용한다.
- 기억장소의 접근을 보다 빠르게 한다.
- 복수 모듈 기억장치에 사용되는 각각의 기억장치는 자체의 어드레스 레지스터와 버퍼 레지스터를 가지고 독자적으로 데이터를 저장할 수 있다.
- 인터리빙 기법에 의해 기억장치를 구성하는 모듈 수만큼의 단어(Word)들에 동시 접근이 가능한다.

캐시메모리(CacheMemory)
- CPU의 속도와 메모리의 속도 차이를 줄이기 위해 사용하는 고속 Buffer Memory이다.
- 캐시는 주기억장치와 CPU 사이에 위치한다.
- 캐시 메모리는 메모리 계층 구조에서 가장 빠른 소자이며, 처리속도가 거의 CPU의 속도와 비슷할 정도이다.
- 캐시를 사용하면 기억장치의 접근(access) 시간이 줄어듦으로 컴퓨터의 처리속도가 향상된다.
- 캐시는 수십 Kbyte~수백 Kbyte의 용량을 사용한다.

가상기억장치(Virtual Memory)
- 기억용량이 작은 주기억장치를 마치 큰 용량을 가진 것처럼 사용할 수 있도록 하는 운영체제의 메모리 운영 기법이다.
- 가상기억장치의 목적은 주기억장치의 용량 확보이다.
- 가상 기억장치는 하드웨어적으로 실제로 존재하는 것이 아니고 소프트웨어적인 방법으로 보조기억 장치를 주 기억장치처럼 사용하는 것이다.
- 사용자 프로그램을 여러 개의 작은 블록으로 나누어서 보조기억장치 상에 보관해놓고 프로그램 실행시 필요한 부분들만 주기억장치에 적재한다.
- 주 기억장치의 이용률과 다중프로그래밍의 효율을 높일 수 있다.
- 가상기억장치 기법에서 사용하는 보조기억장치는 디스크 같은 DASD 장치이어야 한다.

 

 

1. 마이크로 오퍼레이션(Micro Operation)의 정의

- Instruction을 수행하기 위해 CPU내의 레지스터와 플래그가 의미 있는 상태 변환을 하도록 하는 동작이다.

- 레지스터에 저장된 데이터에 의해 이루어지는 동작이다.

- 한 개의 Clock 펼스 동안 실행되는 기본 동작이다.

- 마이크로 오퍼레이션의 순서를 결정하기 위하여 제어장치가 발생하는 신호를 제어신호라고 한다.

- 한 개의 Instruction은 여러 개의 Micro Operation이 동작되어 실행한다.

- Micro Cycle Time : 한 개의 Micro Operation을 수행하는데 걸리는 시간이다.


2. Micro Cycle Time 부여 방식

1) 동기고정식(Synchronous fixed)

- 모든 마이크로 오퍼레이션의 동작시간이 같다고 가정하여 CPU Clock의 주기를 Micro Cycle Time과 같도록 정의하는 방식이다,.

- 모든 마이크로 오퍼레이션 중에서 수행시간이 가장 긴 마이크로 오퍼레이션의 동작시간을 Micro Cycle Time으로 정한다.

- 모든 마이크로오퍼레이션의 동작시간이 비슷할 때 유리한 방식이다.

- 장점 : 제어기의 구현이 단순하다.

- 단점 : CPU의 시간 낭비가 심하다.

2) 동기가변식(Synchronous Variable)

- 수행시간이 유사한 Micro Operation끼리 그룹을 만들어, 각 그룹별로 서로 다른 Micro Cycle Time을 정의하는 방식이다.

- 동기 고정식에 비해 CPU 시간 낭비를 줄일 수 있는 반면, 제어기의 구현은 조금 복잡하다.

- 마이크로오퍼레이션의동작시간이차이가날때유리하다.(정수배)

3) 비동기식(Asynchronous)

- 모든 마이크로 오퍼레이션에 대하여 서로 다른 Micro Cycle Time을 정의하는 방식이다.

- CPU의 시간 낭비는 전혀 없으나, 제어기가 매우 복잡해지기때문에 실제로는 거의 사용되지 않는다.


3. 메이저 스테이트

- 현재 CPU가 무엇을 하고 있는가를 나타내는 상태로서 fetch, indirect, execute, interrupt 이렇게 4개의 상태가 있다.

- CPU는 메이저 스테이트의 4가지 단계를 반복적으로 거치면서 동작을 수행한다.

- 메이저 스테이는 메이저 스테이트 레지스터를 통해서 알 수 있다.

- Major Cycle 또는 Machine Cycle라고도 한다.

- 메이저 스테이트의 변천 과정이다.


4. 인출단계

- 명령어를 주기억장치에서 중앙처리장치의 명령레지스터로 가져와 해독하는 단계이다.

- 읽어와 해석된 명령어가 1 Cycle 명령이면 이를 수행한 후 다시 Fetch Cycle 사이클로 변천한다.

- 1 Cycle 명령이 아니면, 해석된 명령어의 모드비트에 따라 직접주소와간접 주소를 판단한다.


제어신호 Micro Operation 의미

C0t0 MAR ← PC PC에 있는 번지를 MAR에 전송시킨다.

C0t1

MBR ←M[MAR],

PC ← PC + 1

- 메모리에서 MAR이 지정하는 위치의 값을 MBR에 전송한다.

- 다음에 실행할 명령의 위치를 지정하기 위해 PC의 값을 1 증가시킨다.

C0t2

IR ←MBR[OP],

I ← MBR[I]

- 명령어의 OP-code 부분을 명령레지스터에 전송한다.

※현재 MBR에는 주기억 장치에서 읽어온 명령이 들어있다.

- 명령어의 모드비트를 플립플롭 I에 전송한다.

C0t3

F ← 1

또는 R ← 1

- I가 0이면 F 플립플롭에 1을 전송하여Execute 단계로 변천하고, I가 1이면 R 플립플롭에 1을 전송하여 Indirect 단계로 변천한다.


5. 간접 단계(Indirect cycle)

- Fetch 단계에서 해석된 명령의 주소부가 간접주소인 경우 수행된다.

- Fetch 단계에서 해석한 주소를 읽어온 후 그 주소가 간접주소이면 유효주소를 계산하기 위해 다시 Indirect 단계를 수행 한다.

- 간접 주소가 아닌 경우에는 명령어에 따라서 Execute 단계 또는 Fetch 단계로 이동할지를 판단한다.


제어신호 Micro Operation 의미

C1t0 MAR ← MBR[AD]

- MBR에 있는 명령어의 번지 부분을 MAR에 전송한다.

C1t1 MBR ← M[MAR]

- 메모리에서 MAR이 지정하는 위치의 값을MBR에 전송한다.

C1t2 No Operation 동작없다.

C1t3 F ← 1, R ← 0

- F에 1, R에 0을 전송하여 Execute 단계로변천한다.


6. 실행 단계(Execute Cycle)

- Fetch 단계에서 인출하여 해석한 명령을 실행하는 단계이다.

- 플래그 레지스터의 상태 변화를 검사하여 Interrupt 단계로 변천할 것 인지를 판단한다.

- Interrupt 요청신호를 나타내는 플래그 레지스터의 변화가 없으면 Fetch 단계로 변천한다.

- ADD 연산을 수행하는 Execute 단계이다.


제어신호 Micro Operation 의미

C2t0 MAR ← MBR[AD]

- MBR에 있는 명령어의 번지 부분을 MAR에 전송한다.

C2t1 MBR ← M[MAR]

- 메모리에서 MAR이 지정하는 위치의 값을MBR에 전송한다.

C2t2 AC ←AC + MBR

- 누산기의 값과 MBR의 값을 더해 누산기에전송한다.

※ 실질적인 ADD 연산이 이루어는 부분이다.

C2t3

F ← 0

또는 R ←1

- F에 0을 전송하면 F=0, R=0이 되어 Fetch단계로 변천하고, R에 1을 주면 F=1, R=1이 되어 Interrupt 단계로 변천한다.


7. 인터럽트 단계(Interrupt Cycle)

-인터럽트 발생시 복귀주소(PC)를 저장시키고, 제어순서를 인터럽트 처리 프로그램의 첫 번째 명령으로 옮기는 단계이다.

-인터럽트 단계를 마친 후에는 항상 Fetch 단계로 변천한다.


C3t0

MBR[AD] ←PC,

PC ← 0

- PC가 가지고 있는, 다음에 실행할 명령의 주소를 MBR의 주소 부분으로 전송한다.

․ 복귀 주소를 저장할 0번지를 PC에 전송한다.

C3t1

MAR ← PC,

PC ← PC + 1

․ PC가가지고있는, 값0번지를MAR에전송함․ 인터럽트 처리 루틴으로 이동할 수 있는 인터럽트 벡터의 위치를 지정하기 위해 PC의 값을 1 증가 시켜 1로 세트시킨다.

C3t2

M[MAR] ← MBR,

IEN ← 0

․ MBR이 가지고 있는, 다음에 실행할 명령의 주소를 메모리의 MAR이 가리키는 위치(0 번지)에 저장한다.

․ 인터럽트 단계가 끝날 때까지 다른 인터럽트가 발생하지 않게 IEN에 0을 전송한다.

C3t3 F ← 0, R ← 0 F에 0, R에 0을 전송하여 Fetch 단계로 변천한다.


8. 주요 명령의 마이크로 오퍼레이션

ADD : AC ← AC + M[AD]

제어신호 Micro Operation 의미

C2t0 MAR ← MBR[AD]

MBR에 있는 명령어의 번지 부분을 MAR에 전송한다.

C2t1 MBR ← M[MAR]

메모리에서 MAR이 지정하는 위치의 값을 MBR에 전송한다.

C2t2 AC ←AC + MBR

누산기의 값과 MBR의 값을 더해 누산기에 전송한다.

C2t3

IEN' F ←0

F에 0을 전송하면 F=0, R=0이 되어 Fetch 단계로 변천한다.

IEN R ←1

R에 1을 전송하면 F=1, R=1이 되어 Interrupt 단계로 변천한다.

LDA(Load to AC) : AC ← M[AD]

제어신호 Micro Operation 의미

C2t0 MAR ← MBR[AD]

MBR에 있는 명령어의 번지 부분을 MAR에 전송한다.

C2t1

MBR ← M[MAR]

AC ← 0

․ 메모리에서 MAR이 지정하는 위치의값을 MBR에 전송한다.

․ AC에 0을 전송하여 AC를 초기화 한다.

C2t2 AC ← AC + MBR

․ 메모리에서 가져온 MBR과 AC를 더해AC에 전송한다.

․ 초기화된 AC에 더해지지므로 메모리의 값을 AC로 불러오는것과 같다.

C2t3

IEN' F ← 0

F에 0을 전송하면 F=0, R=0이 되어 Fetch단계로 변천한다.

IEN R ← 1

R에 1을 전송하면 F=1, R=1이 되어 Interrupt 단계로 변천한다.

STA(Store AC) : M[AD]← AC

제어신호 Micro Operation 의미

C2t0 MAR ← MBR[AD]

MBR에 있는 명령어의 번지 부분을 MAR에 전송한다.

C2t1 MBR ← AC AC의 값을 MBR에 전송한다.

C2t2 M[MAR] ←MBR

MBR의 값을 메모리의 MAR이 지정하는 위치에 전송한다.

C2t3

IEN' F ← 0

F에 0을 전송하면 F=0, R=0이 되어 Fetch단계로 변천한다.

IEN R ← 1

R에 1을 전송하면 F=1, R=1이 되어Interrupt 단계로 변천한다.


9. 제어 데이터

제어장치가 제어신호를 발생하기위한 자료로서, CPU가 특정한 메이저 상태와 타이밍 상태에 있을 때 제어자료에 따른 제어규칙에 의해 제어신호가 발생한다.

- 메이저 스테이트 사이의 변천을 제어하는 데이터이다.

- 중앙처리장치의 제어점을 제어하는 데이터이다.

- 인스트럭션의 수행 순서를 결정하는데 필요한 제어 테이터이다.


10. 제어장치의 비교

제어장치는 필요한 마이크로 연산들이 연속적으로 수행할 수 있도록 제어 신호를 보내는 역할을 한다.

고정배선 제어장치 마이크로 프로그래밍 기법

- 반응속도 고속 저속

- 회로 복잡도 복잡 간단

- 경제성 비경제적 경제적

- 융통성 없음 있음

- 구성 하드웨어 소프트웨어


11. 입/출력장치의 구성

- 입/출력제어 장치이다.

- 입/출력 장치와 컴퓨터 사이의 자료전송을 제어하는 장치이다.

- 데이터버퍼레지스터를 이용하여 두 장치간의 속도 차이를 조절한다.

- 제어신호의 논리적, 물리적 변환 그리고 에러를 제어한다.

- 종류 : DMA, 채널, 입/출력 프로세서, 입/출력 컴퓨터 입/출력 인터페이스가 있다.

- 동작방식이나 데이터 형식이 서로 다른 컴퓨터 내부의 주기억 장치나 CPU의 레지스터와 외부 입/출력 장치간의 이진 정보를 원활하게 전송하기 위한 방법을 제공한다.

- 컴퓨터와 각 주변 장치와의 다음과 같은 차이점을 해결하는 것이 목적이다.

- 전자기 혹은 기계적인 주변장치와 전기적인 CPU나 메모리 간의 동작방식의 차이

- 주변 장치와 CPU간의 데이터 전송속도의 차이

- 주변 장치의 데이터 코드와 CPU나 메모리의 워드 형식의 차이

- 동작 방식이 서로 다른 주변 장치들의 간섭 없는 제어 입/출력 버스

- 주기억장치와 입/출력장치 사이의 데이터 전송을 위해 모든 주변 장치의 인터페이스에 공통으로 연결된 버스

- 데이터버스, 주소버스, 제어 버스로 구성되어 있다.


12. 기억장치와 입출력 장치 동작의 차이

기억장치는 처리속도가 nano(10-9)의 단위인 전자적인 장치이고 입출력 장치는 milli(10-3)의 단위인 기계적인 장치이므로 동작방식에는 많은 차이가 있다.

비교항목 입/출력 장치 기억 장치

동작의 속도 느리다 빠르다

동작의 자율성 타율/자율 타율

정보의 단위 Byte(문자) Word

착오 발생률 많다 적다


13. 스풀링(spooling)

-다중 프로그래밍 환경 하에서 용량이 크고 신속한 액세스가 가능한 디스크를 이용하여 각 사용자 프로그램이 입.출력할 데이터를 직접 I/O장치로 보내지 않고 디스크에 모았다가 나중에 한꺼번에 입.출력함으로써 입.출력 장치의 공유 및 상대적으로 느린 입.출력 장치의 처리속도를 보완하는 기법이다.

-스풀링은 고속의 CPU와 저속의 입.출력장치가 동시에 독립적으로 동작하게 하여 높은 효율로 여러 작업을 병행 작업할 수 있도록 해줌으로써 다중 프로그래밍 시스템의 성능 향상을 가져올 수 있다.

-스풀링은 디스크 일부를 매우 큰 버퍼처럼 사용하는 방법이다.


14. 입/출력 방식

Programmed I/O

․ 원하는 I/O이 완료되었는지의 여부를 검사하기 위해서 CPU가 상태 Flag를 계속 조사하여 I/O가 완료 되었으면 MDR(MBR)과 AC 사이의 자료전송도 CPU 직접 처리하는 I/O방식이다.

․ 입/출력에 필요한 대부분의 일을 CPU가 해주므로 Interface는 MDR, Flag, 장치번호 디코더로만 구성하면 된다.

․ I/O 작업시 CPU는 계속 I/O 작업에 관여해야 하기 때문에 다른 작업을 할 수 없다는 단점이 있다.

Interrupt I/O

․ 입/출력을 하기 위해 CPU가 계속 Flag를 검사하지 않고, 데이터를 전송할 준비가 되면 입/출력 인터페이스가 컴퓨터에게 알려 입/출력이 이루어지는 방식이다.

․ 입/출력 인터페이스는 CPU에게 인터럽트 신호를 보내 입/출력이 있음을 알린다.

․ CPU는 작업을 수행하던 중 입/출력 인터럽트가 발생하면 수행중인 프로그램을 중단하고 입/출력을 처리한 후 원래의 작업으로 돌아와 작업을 계속 수행한다.

․ CPU가 계속 Flag를 검사하지 않아도 되기 때문에 Programm ed I/O 보다 효율적임 DMA (Di r e c t Memory Access)에 의한 I/O

․ 입/출력장치가 직접 주기억장치를 접근(Access)하여 Data Block을 입/출력하는 방식으로 입/출력 전송이 CPU의 레지스터를 경유하지 않고 수행된다.

․ CPU는 I/O에 필요한 정보를 DMA제어기에 알려서 I/O동작을 개시 시킨 후 I/O동작에 더 이상 간섭하지 않고 다른 프로그램을 할당하여 수행한다.

․ 입/출력 자료 전송시 CPU를 거치지 않기 때문에 CPU의 부담없이 보다 빠른 데이터의 전송이 가능한다.

․ 인터럽트 신호를 발생시켜 CPU에게 입/출력 종료를 알린다.

․ Cycle Steal 방식을 이용하여 데이터를 전송한다.

Channel에 의한 I/O

․ CPU를 대신하여 주기억장치와 입/출력장치 사이에서 입/출력을 제어하는 입/출력 전용 프로세서(IOP)이다.

․ 채널 제어기는 채널명령어로 작성된 채널 프로그램을 해독하고 실행하여 입/출력 동작을 처리한다.

․ CPU로부터 입/출력 전송을 위한 명령어를 받으면 CPU와는독립적으로 동작하여 입/출력을 완료한다.

․ CPU와 인터럽트로 통신한다.

․ 채널의 종류

- Selector Channel : 고속 입/출력장치(자기디스크, 자기테이프,자기드럼)1개와 입/출력하기 위해 사용한다.

- Multiplexer Channel : . 저속 입/출력장치(카드리더, 프린터)를 여러개를 동시에 제어하는 채널이다.

- Block Multiplexer Channel : 동시에 여러 개의 고속 입/출력장치를 제어한다.

'IT > 자격증' 카테고리의 다른 글

산업기사-전자계산기구조(3)  (0) 2017.05.31
산업기사- 전자계산기 구조(1)  (0) 2017.05.18
산업기사 - 데이터베이스(2)  (0) 2017.05.17
산업기사 - 데이터베이스(1)  (0) 2017.05.16
정보처리기사 필기요약(5)  (0) 2017.01.05

2과목 : 전자계산기 구조


1. 불 대수의 기본 공식

-교환법칙 : A+B=B+A, A․ B=B․ A

-결합법칙 : A+(B+C)=(A+B)+C, A․ (B․ C)=(A․ B)․ C

-분배법칙 : A․ (B+C)=A․ B+A․ C, A+B․ C=(A+B)(A+C)

-멱등법칙 : A+A=A, A․ A=A

-보수법칙 : A+A‘=1, A․ A’=0

-항등법칙 : A+0=A, A+1=1, A․ 0=0, A․ 1=A

-콘센서스 : AB+BC+CA‘=AB+CA’, (A+B)(B+C)(C+A‘)=(A+B)(C+A’)

-드모르강 : A‘+B’=(A․ B)‘, A’․ B‘=(A+B)’

-복원법칙 : A‘’=A


2. 자료 구성의 단위


비트(Bit, Binary Digit)

- 자료(정보) 표현의 최소 단위이다.

- 두 가지 상태(0과 1)를 표시하는 2진수 1자리


니블(Nibble)

- 4개의 비트(Bit)가 모여 1개의 Nibble을 구성한다.

- 4비트로 구성되며 16진수 1자리를 표현하기에 적합하다.


바이트(Byte)

- 문자를 표현하는 최소 단위로, 8개의 비트(Bit)가 모여 1Byte를 구성한다.

- 1Byte는 256(28)가지의 정보를 표현할 수 있다.

- 주소 지정의 단위로 사용된다.


워드(Word)

- CPU가 한 번에 처리할 수 있는 명령 단위이다.

- 반워드(Half Word) : 2Byte

- 풀워드(Full Word) : 4Byte

- 더블워드(Double Word) : 8Byte


필드(Field)

- 파일 구성의 최소 단위이다.

- 의미 있는 정보를 표현하는 최소 단위이다.


레코드(Record)

- 하나 이상의 관련된 필드가 모여서 구성된다.

- 컴퓨터 내부의 자료 처리 단위로서, 일반적으로 레코드는 논리 레코드(Logical Record)를 의미한다.


블록(Block)물리 레코드(Physical Record)

- 하나 이상의 논리 레코드가 모여서 구성된다.

- 각종 저장매체와의 입/출력 단위를 의미하며, 일반적으로 물리 레코드(Physical Record)라고 한다.


파일(File)

- 프로그램 구성의 기본 단위로, 여러 레코드가 모여서 구성된다.


데이터베이스(Database)

- 여러 개의 관련된 파일(File)의 집합이다.


3. 기타 자료의 표현 방식


BCD 코드

- 10진수 1자리의 수를 2진수 4Bit로 표현한다.

- 4Bit의 2진수 각 Bit가 8(23), 4(22), 2(21), 1(20)의 자리 값을 가지므로 8421코드라고도 한다.

- 대표적인 가중치 코드이고 문자코드인 BCD에서 Zone 부분을 생략한 형태이다.

- 10진수 입.출력이 간편하다.


Excess-3 코드(3초과 코드)

- BCD + 3, 즉BCD 코드에 310(00112)을 더하여 만든 코드이다.

- 대표적인 자보수 코드이며, 비가중치 코드이다.


Gray 코드

- BCD 코드의 인접하는 비트를 X-OR 연산하여 만든 코드이고, 입출력장치, D/A변환기, 주변장치 등에서 숫자를 표현할 때 사용한다.

․ 1Bit만 변화시켜 다음 수치로 증가시키기 때문에 하드웨어 적인 오류가 적다.


패리티 검사 코드

- 코드의 오류를 검사하기 위해서 데이터비트 외에 1Bit의 패리티 체크 비트를 추가하는 것으로 1Bit의 오류만 검출할 수 있다.

- Odd Parity : Odd 패리티는 코드에서 1인 Bit의 수가 홀수가 되도록 0이나 1을 추가한다.

․ Even Parity : Even 패리티는 코드에서 1인 Bit의 수가 짝수가 되도록 0이나 1을 추가한다.


해밍 코드

- 오류를 스스로 검출하여 교정이 가능한 코드이고, 1Bit의 오류만 교정할 수 있다.

- 데이터 비트 외에 에러 검출 및 교정을 위한 잉여 비트가 많이 필요하다.

- 해밍코드 중 1, 2, 4, 8, 16 …… 2n 번째 비트는 오류 검출을 위한 패리티 비트이다.


4. 중앙처리장치의 구성요소


-컴퓨터에 있는 모든 장치들의 동작을 지시하고 제어하는 장치이다.

- 주기억장치에서 읽어 들인 명령어를 해독하여 해당하는 장치에게 제어 신호를 보내 정확하게 수행하도록 지시한다.

- 프로그램 카운터(PC), 명령어레지스터(IR), 부호기(제어신호 발생기), 명령어 해독기, 번지 해독기 등으로 구성되어 있다.


- 제어장치의 명령에 따라 실제로 연산을 수행하는 장치이고 , 연산장치가 수행하는 연산에는 산술연산, 논리연산, 관계연산, 이동(Shift) 등이 있다.

- 가산기, 누산기(AC ; Accumulator), 보수기, 데이터 레지스터, 오버플로우 검출기, Shift Register 등으로 구성되어 있다.


- CPU 내부에서 처리할 명령어나 연산의 중간 결과값 등을 일시적으로 기억하는 임시 기억 장소이다.

- 플립플롭(Flip-Flop)이나 래치(Latch)들을 병렬로 연결하여 구성하고 메모리 중에서 가장 속도가 빠르다.


5. 레지스터

  • 프로그램 카운터, 프로그램 계수기(PC, Program Counter) : 다음 번에 실행할 명령어의 번지를 기억하는 레지스터이다.
  • 명령 레지스터(IR, Instruction Register) : 현재 실행 중인 명령의 내용을 기억하는 레지스터이다.
  • 누산기(AC, Accumulator) : 연산된 결과를 일시적으로 저장하는 레지스터로 연산의 중심이다.
  • 상태 레지스터(Status Register) PSWR(Program Status Word Register) : 시스템 내부의 순간순간의 상태가 기록된 정보를 PSW라고 하고, 오버플로, 언더플로, 자리올림, 인터럽트 등의 PSW를 저장하고 있는 레지스터이다.
  • 메모리 주소 레지스터(MAR, Memory Address Register) : 기억장치를 출입하는 데이터의 번지를 기억하는 레지스터이다.
  • 메모리 버퍼 레지스터(MBR, Memory Buffer Register) : 기억장치를 출입하는 데이터가 잠시 기억되는 레지스터이다.
  • 인덱스 레지스터(Index Register) : 주소의 변경이나 프로그램에서의 반복연산의 횟수를 계수하는 레지스터이다.
  • 데이터 레지스터(Data Register) : 연산에 사용될 데이터를 기억하는 레지스터이다.
  • Shift Register : 저장된 값을 왼쪽 또는 오른쪽으로 1Bit씩 자리 이동시키는 레지스터이고,  2배 길이 레지스터라고도 한다.
  • Major Status Register CPU의 메이저 상태를 저장하고 있는 레지스터이다.

6. 버스(BUS)

CPU, 메모리, I/O장치 등과 상호 필요한 정보를 교환하기 위해 연결하는 공동의 전송선이다.


 전송하는 정보에 따른 분류

- 번지 버스(Address Bus) : CPU가 메모리나 입출력 기기의 번지를 지정할 때 사용하는 단방향 전송선이다.

- 자료 버스(Data Bus) : CPU와 메모리 또는 입출력 기기 사이에서 데이터를 전송하는 양방향 버스이다.

- 제어 버스(Control Bus) : CPU의 현재 상태나 상태 변경을 메모리 또는 입출력에 알리는 제어신호를 전송하는선이다.


버스 위치에 따른 분류

- 내부 버스 : CPU 및 메모리 내에 구성된 Bus

- 외부 버스 : 주변 입출력장치에 구성된 Bus


7. 명령어 구성

연산자 부(Operation Code부)

- 수행해야할 동작에 맞는 연산자를 표시함, 흔히 OP-Code부라고 한다.

- 연산자부의 크기(비트수)는 표현할 수 있는 명령의 종류를 나타내는 것으로, nBit면 최대 2n개의 명령어를 사용할 수 있다.


주소부(Operand부)

- 실제 데이터에 대한 정보를 표시하는 부분이다.

- 기억장소의 주소, 레지스터 번호, 사용할 데이터 등을 표시한다.

- 주소부의 크기는 메모리의 용량과 관계가 있다.


8. 연산자(Operation Code)의 기능


함수 연산 기능

산술 연산 : ADD, SUB, MUL, DIV, 산술 Shift 등이 있다.

논리 연산 : NOT, AND, OR, XOR, 논리적 Shift, Rotate,Complement, Clear 등이 있다.


자료전달기능

- CPU와 기억장치 사이에서 정보를 교환하는 기능이다.

- Load : 기억장치에 기억되어 있는 정보를 CPU로 꺼내오는 명령이다.

- Store : CPU에 있는 정보를 기억장치에 기억시키는 명령이다.

- Move : 레지스터간에 자료를 전달하는 명령이다.

- Push : 스택에 자료를 저장하는 명령이다.

- Pop : 스택에서 자료를 꺼내오는 명령이다.


제어 기능

- 프로그래머가 명령어 실행 순서를 변경시키는 기능 이다.

- 무조건 분기 명령 : GOTO, Jump(JMP) 등이 있다.

- 조건 분기 명령 : IF 조건, SPA, SNA, SZA 등이 있다.

- Call : 부프로그램 호출

- Return : 부프로그램에서 메인 프로그램으로 복귀


입 /출력기능

- CPU와 I/O장치, 또는 메모리와 I/O장치 사이에서 자료를 전달하는 기능이다.

- INPUT : 입출력 장치의 자료를 주기억장치로 입력하는 명령이다.

- OUTPUT : 주기억 장치의 자료를 입출력 장치로 출력하는 명령이다.



9. 연산


AND(Masking Operation)

- 특정 문자 또는 특정 Bit를 삭제(Clear)시키는 명령으로 Masking 명령이라고도 한다.

- 삭제할 부분의 Bit를 0과 AND시켜서 삭제하는데, 대응시키는 0인 Bit를 Mask Bit라고 한다.


OR(SelectiveSet)

- 특정 문자를 삽입하거나 특정 Bit에 1을 세트시키는 명령으로 Selective Set 연산이라고도 한다.

- 삽입하거나 세트 시킬 Bit에 삽입할 문자코드 또는 1을 OR 연산시킨다.


XOR : 비교(Compare)명령

- 2개의 데이터를 비교하거나, 특정 비트를 반전시킬 때 사용한다.

- 2개의 데이터를 XOR 연산하여 결과에 1Bit라도 1이 있으면 서로 다른 데이터이다.

- 반전시킬 때는 반전시킬 비트와 1을 XOR 시킨다.


NOT(Complement, 보수)

- 각 비트의 값을 반전시키는 연산으로 보수를 구할 때 사용한다.


논리 Shift

- 왼쪽 또는 오른쪽으로 1Bit씩 자리를 이동시키는 연산으로 데이터의 직렬전송(Serial Transfer)에 사용하고 삽입되는 자리는 무조건 0이다.


Rotate

- Shift에서 밀려 나가는 비트의 값을 반대편 값으로 입력하는 연산이다.

- 문자 위치를 변환할 때 이용한다.


산술 Shift

- 부호(Sign)를 고려하여 자리를 이동시키는 연산으로, 2n으로 곱하거나 나눌 때 사용한다.

- 왼쪽으로 n Bit Shift하면 원래 자료에 2n을 곱한 값과 같다.

- 오른쪽으로 n Bit Shift 하면 원래 자료를 2n으로 나눈 값과 같다.

- 홀수를 오른쪽으로 한 번 Shift하면 0.5의 오차가 발생한다.


10. 명령어 형식


3번지 명령어

- Operand부가 3개로 구성되는 명령어형식으로 여러 개의 범용레지스터(GPR)를 가진 컴퓨터에서 사용한다.

- 연산의 결과는 Operand3에 기록된다.

- 연산시 원시 자료를 파괴하지 않는다.

- 다른 형식의 명령어를 이용하는 것보다 프로그램 전체의 길이를 짧게 할 수 있다.

- 전체 프로그램 실행시 명령 인출을 위하여 주기억장치를 접근하는 횟수가 줄어들어 프로그램 실행속도를 단축시킨다.

- 명령어 한 개의 길이가 너무 길어진다.


2 번지 명령어

- Operand부가 2개로 구성되는 명령어 형식으로 가장 일반적으로 사용되는 명령어 형식이다.

- 여러 개의 범용레지스터를 가진 컴퓨터에서 사용한다.

- 3 주소 명령에 비해 명령어의 길이가 짧다.

- 연산의 결과는 주로 Operand1에 저장되므로 Operand1에 있던 원시자료가 파괴된다.

- 전체 프로그램의 길이가 길어진다.


1 번지 명령어

- Operand부가 1개로 구성되어 있다.

- AC(Accumulator ; 누산기)를 이용하여 명령어를 처리한다.


0 번지 명령어

- Operand부 없이 OP Code부만으로 구성된다.

- 모든 연산은 STACK 메모리의 Stack Pointer가 가리키는 Operand를 이용하여 수행한다.

- 모든 연산은 스택에 있는 자료를 이용하여 수행하기 때문에 스택머신(Stack Machine)이라고도 한다.

- 원래의 자료가 남지 않는다.


11. 주소지정방식(Addressing Mode)의 종류


  • 암시적 주소 지정 방식 (Implied Mode) :주소를 지정하는 필드가 없는 0 번지 명령어에서 Stack의 SP가 가리키는 Operand를 암시하여 이용한다. 
  • 즉치(즉시)적 주소지정방식(Immediate Mode) : 명령어자체에오퍼랜드(실제데이터)를내포하고있는방식이고, 별도의 기억장소를 액세스하지 않고 CPU에서 곧바로 자료를 이용할 수 있어서 실행속도가 빠르다는 장점이 있다. 그리고 명령어의 길이에 영향을 받으므로 표현할 수 있는 데이터 값의 범위가 제한적이다.
  • 직접 주소 지정방식 (Direct Mode) :  명령의 주소부(Operand)가 사용할 자료의 번지를 표현하고 있는 방식이고, 명령의 Operand부에 표현된 주소를 이용하여 실제 데이터가 기억된 기억장소에 직접 사상시킬 수 있다. 그리고 기억용량이 2n개의 Word인 메모리 시스템에서 주소를 표현하려면 n 비트의 Operand부가 필요한다.
  • 간접 주소 지정방식(Indirect Mode) :  명령어에 나타낼 주소가 명령어 내에서 데이터를 지정하기 위해 할당된 비트(Operand 부의 비트) 수로 나타낼 수 없을 때 사용하는 방식이다.  명령의 길이가 짧고 제한되어 있어도 긴 주소에 접근 가능하고, 명령어 내의 주소부에 실제 데이터가 저장된 장소의 번지를 가진 기억장소의 번지를 표현함으로써, 최소한 주기억장치를 두 번 이상 접근하여 데이터가 있는 기억장소에 도달한다.
  • 계산에 의한 주소지정방식: 상대 주소 지정방식 : 명령어의 주소부분 + PC    - Base Register Mode : 명령어의 주소부분 + Base Register    - Index Register Mode : 명령어의 주소부분 + Index Register


'IT > 자격증' 카테고리의 다른 글

산업기사-전자계산기구조(3)  (0) 2017.05.31
산업기사- 전자계산기 구조(2)  (0) 2017.05.25
산업기사 - 데이터베이스(2)  (0) 2017.05.17
산업기사 - 데이터베이스(1)  (0) 2017.05.16
정보처리기사 필기요약(5)  (0) 2017.01.05

1. 관계 데이터베이스 특징

- 개체(Entity)나 관계(Relationship)를 모두 릴레이션(Relation)이라는 표로 표현한다.
- 릴레이션은 개체를 표현하는 개체 릴레이션, 관계를 나타내는 관계 릴레이션으로 구분할 수 있다.
- 장점 : 간결하고 보기 편리하며, 다른 데이터베이스로의 변환이 용이하다.
- 단점 : 성능이 다소 떨어진다.

 

2. 관계 데이터베이스의 Relation 구조

데이터들을 표의 형태로 표현한 것으로 구조를 나타내는 릴레이션 스키마와 실제 값들인 릴레이션 인스턴스로 구성된다.

 

튜플(Tuple)

- 릴레이션을 구성하는 각각의 행을 의미한다.

- 속성의 모임으로 구성된다.
- 파일 구조에서 레코드와 같은 의미이다.

 

속성(Attribute)
- 데이터베이스를 구성하는 가장 작은 논리적 단위이다.
- 파일 구조상의 데이터 항목 또는 데이터 필드에 해당된다.
- 개체의 특성이다.

도메인(Domain)
- 하나의 애트리뷰트가 취할 수 있는 같은 타입의 원자(atomic) 값들의 집합이다.
- 실제 애트리뷰트 값이 나타날 때 그 값의 합법여부를 시스템이 검사하는 데에도 이용된다.
차수(Degree) : Attribute의 개수
기수(대응수; Cardinality) : Tuple의 개수

 

3. KEY의개념 및 종류

데이터베이스에서 조건에 만족하는 튜플을 찾거나 순서대로 정렬할 때 기준이 되는 애트리뷰트이다.

 

후보키(Candidate Key)

 

- 릴레이션을 구성하는 속성들 중에서 튜플을 유일하게 식별하기 위해 사용하는 속성들의 부분집합, 즉 기본키로 사용할 수 있는 속성들을 말한다.
- 릴레이션에 있는 모든 튜플에 대해서 유일성과 최소성을 만족시켜야 한다.

 

기본키(Primary Key)

 

- 후보키 중에서 선택한 주 키(Main Key)
- 한 릴레이션에서 특정 튜플을 유일하게 구별 할 수있는속성이다.
- Null 값을 가질 수 없다.
- 기본키로 정의된 속성에는 동일한 값이 중복되어 저장 될 수 없다.

 

대체키 (Alternate Key)

 

- 후보키가 둘 이상일 때 기본키를 제외한 나머지 후보키들을 말한다.
- 보조키라고도 한다.

 

슈퍼키(Super Key)

- 릴레이션에서 같은 튜플이 발생하지 않는 키를 구성할 때, 속성의 집합으로 구성하는 것을 말한다.
- 릴레이션을 구성하는 모든 튜플에 대해 유일성은 만족시키지만, 최소성은 만족시키지 못한다.

 

외래키 (Foreign Key)

- 관계(Realtionship)를 맺고 있는 릴레이션 R1, R2에서 릴레이션 R1이 참조하고 있는 릴레이션 R2의 기본키와 같은 R1 릴레이션의 속성이다.
- 외래키로 지정되면 참조테이블의 기본키에 없는 값은 입력할 수 없다.

 

널 값(NULL Value) : 데이터베이스에서 아직 알려지지 않거나 모르는 값으로서 "해당없음" 등의 이유로 정보 부재를 나타내기 위해 사용하는, 이론적으로 아무것도 없는 특수한 데이터

 

4. 무결성

 

- 개체 무결성 : 릴레이션에서 기본키를 구성하는 속성은 널(NULL) 값이나 중복값을 가질 수 없다.
- 참조 무결성 : 외래키 값은 NULL이거나 참조 릴레이션의 기본키 값과 동일해야 함 즉, 릴레이션은 참조할 수 없는 외래키값을 가질 수 없다.

 

5. 순수관계 연산자

관계 데이터베이스에 적용할 수 있도록 특별히 개발한 관계 연산자이다.

Select
- 릴레이션에 존재하는 튜플중에서 선택조건을 만족하는 튜플의 부분집합을 구하여 새로운 릴레이션을 만든다.
- 릴레이션의 행(가로)에 해당하는 튜플을 구하는 것이므로 수평연산이라고도 한다.
- 연산자의 기호는 그리스문자 시그마(σ)를 사용한다.
- 표기 형식 : σ<조건>(R) 단, R은 릴레이션 이름

Project
- 주어진 릴레이션에서 속성 List에 제시된 Attribute만을 추출하는 연산자이다.
- 릴레이션의 열(세로)에 해당하는 Attribute을 추출하는 것이므로 수직 연산자라고도 한다.
- 연산자의 기호는 그리스문자 파이(π)를 사용한다.
- 표기 형식 : π<속성리스트>(R) 단, R은 릴레이션 이름

Join

- 공통 속성을 중심으로 2개의 릴레이션을 하나로 합쳐서 새로운 릴레이션을 만드는 연산이다.
- 연산자의 기호는 그리스문자 ▷◁를 사용한다.
- 표기 형식 : R ▷◁키속성r=키속성sS
단, 키속성 r은 릴레이션 R의 속성이고, 키속성 s는 릴레이션 S의 속성이다.

Division
- X ⊃ Y인 2개의 릴레이션에서 R(X)와 S(Y)가 있을 때, R의 속성이 S의 속성값을 모두 가진 튜플에서 S가 가진 속성을 제외한 속성만을구하는 연산이다.
- 표기 형식 : R [속성r ÷ 속성s] S
단, 속성 r은 관계 R의 속성이고 속성 s는 관계 S의 속성이며, 속성 r과 속성 s는 동일 속성값을 가지는 속성이어야 한다.

 

6. Anomaly(이상)의 개념 및 종류

이상(Anomaly) : 정규화(Normalization)를 거치지 않은 데이터베이스 내에 데이터들이 불필요하게 중복되어 릴레이션 조작시 발생하는 예기치못한 곤란한 현상이다.

 

삽입이상 - 릴레이션에 데이터를 삽일 할 때 의도와는 상관없이 원하지 않은 값들도 함께 삽입되는 현상이다.

삭제이상 - 릴레이션에서 한 튜플을 삭제할 때 의도와는 상관없이 값들도 함께 삭제되는 연쇄 삭제 현상이다.

갱신이상 - 릴레이션에서 튜플에 있는 속성값을 갱신할 떄 일부 튜플의 정보만 갱신되어 정보에 모순이 생기게 되는 현상이다.

 

7. SQL의 분류

 

DDL(데이터 정의어)
- SCHEMA, DOMAIN, TABLE, VIEW, INDEX를 정의하거나 변경 또는 삭제할 때 사용하는 언어이다.
- 데이터베이스 관리자나 데이터베이스 설계자가 사용한다.
- 데이터 정의어(DDL)의 3가지 유형

CREATE, ALTER, DROP

 

DML(데이터 조작어)

 

- 데이터베이스 사용자가 응용 프로그램이나 질의어를 통하여 저장된 데이터를 실질적으로 처리하는데 사용하는 언어이다.
- 데이터베이스 사용자와 데이터베이스관리시스템 간의 인터페이스 제공이다.
- 데이터 조작어(DML)의 4가지 유형

SELECT , INSERT, DELETE, UPDATE

 

DCL(데이터 제어어)

 

데이터의 보안, 무결성, 데이터 회복, 병행 수행 제어 등을 정의하는데 사용하는 언어이다.
- 데이터베이스 관리자가 데이터 관리를 목적으로 사용한다.
- 데이터 제어어(DCL)의 종류

COMMIT, ROLLBACK, GRANT, REVOKE

 

8. 시스템 카탈로그

- 시스템 그 자체에 관련이 있는 다양한 객체에 관한 정보를 포함하는 시스템 데이터베이스이다.
- 데이터베이스에 포함되는 모든 데이터 객체에 대한 정의나 명세에 관한 정보를 유지 관리하는 시스템 테이블이다.
- 데이터 정의어의 결과로 구성되는 기본 테이블, 뷰, 인덱스, 패키지,접근권한 등의 데이터베이스 구조 및 통계 정보를 저장한다.
- 카탈로그들이 생성되면 자료 사전(Data Dictionary)에 저장되기 때문에 좁은 의미로는 카탈로그를 자료사전이라고도 한다.
- 카탈로그에 저장된 정보를 메타 데이터(Meta-Data)라고 한다.
- 카탈로그의 특징 ․ 카탈로그 자체도 시스템 테이블로 구성되어 있어 일반 이용자도 SQL을 이용하여 내용을 검색해 볼 수 있다.

- INSERT, DELETE, UPDATE문으로 갱신하는 것은 허용하지 않음 ․ DBMS가 스스로 생성하고, 유지한다. 카탈로그는 사용자가 SQL문을 실행시켜 기본 테이블, 뷰, 인덱스 등에 변화를 주면 시스템이 자동으로 갱신하다.

 

9. 뷰(View)

 

사용자에게 접근이 허용된 자료만을 제한적으로 보여주기 위해 하나 이상의 기본 테이블로부터 유도된, 이름을 가지는 가상 테이블이다.

- 권한이 있는 상태로 저장장치 내에 물리적으로 존재하지 않지만, 사용자에게는 있는 것처럼 간주된다.
- 뷰 (View)의 특징 ․ 기본 테이블로부터 유도된 테이블이기 때문에 기본 테이블과 같은 형태의 구조를 가지며, 조작도 기본 테이블과 거의 같다 ․ 가상 테이블이기 때문에 물리적으로 구현되어 있지 않다 ․ 필요한 데이터만 뷰로 정의해서 처리할 수 있기 때문에 관리가 용이하고 명령문이 간단해진다 ․ 뷰를 통해서만 데이터에 접근하게 하면 뷰에 나타나지 않는 데이터를 안전하게 보호하는 효율적인 기법으로 사용할 수 있다 ․ 기본 테이블의 기본키를 포함한 속성(열) 집합으로 뷰를 구성해야만삽입, 삭제, 갱신 연산이 가능하다 ․ 정의된 뷰는 다른 뷰의 정의에 기초가 될 수 있다 ․ 하나의 뷰를 삭제하면 그 뷰를 기초로 정의된 다른 뷰도 자동으로 삭제된다.

 

 

- 뷰의 장점 : 논리적 데이터 독립성을 제공한다. 동일 데이터에 대해 동시에 여러 사용자의 상이한 응용이나 요구를지원해준다 ․ 사용자의 데이터 관리를 간단하게 해준다 ․ 접근제어를 통한 자동 보안이 제공된다.
- 뷰의 단점 : 독립적인 인덱스를 가질 수 없다 ․ 뷰의 정의를 변경할 수 없음 ․ 뷰로 구성된 내용에 대한 삽입, 삭제, 갱신 연산에 제약이 따른다.

 

10. 자료구조의 분류

- 선형 구조 : 선형리스트, 연결리스트, 스택, 큐, 데크

- 비선형 구조 : 트리, 그래프

 

11. Stack

- 리스트의 한쪽 끝으로만 자료의 삽입, 삭제 작업이 이루어지는 자료구조이다.
- 가장 나중에 삽입된 자료가 가장 먼저 삭제되는 후입선출(LIFO;Last-In, First-Out) 방식으로 자료를 처리한다.
- TOP : Stack으로 할당된 기억공간에 가장 마지막으로 삽입된 자료가 기억된 공간을 가리키는 요소, 스택 포인터라고도 한다.
- Bottom : 스택의 가장 밑바닥이다.
- Stack의 용도

 ․ 부프로그램 호출시 복귀주소를 저장할 때

 ․ 인터럽트가 발생하여 복귀주소를 저장할 때

 ․ 후위표기법(Postfix Notation)으로 표현된 산술식을 연산할 때

 ․ 0 주소 지정방식 명령어의 자료저장소

 ․ 재귀(RECURSIVE)프로그램의 순서제어

 ․ 컴파일러를 이용한 언어번역시 

 

12. 큐(Queue)

-선형 리스트의 한쪽에서는 삽입작업이 이루어지고 다른 쪽에서는 삭제 작업이 이루어지도록 구성한 자료구조이다.
-가장 먼저 삽입된 자료가 가장 먼저 삭제되는 선입선출(FIFO; First-In,First-Out) 방식으로 처리한다.
-Queue를 이용하는 예

 ․ 창구업무처럼 서비스 순서를 기다리는 등의 대기행렬의 처리에 사용한다.

 ․ 운영체제의 작업 스케줄링에 사용함

 

13. 데크(Deque)

- 삽입과 삭제가 리스트의 양쪽 끝에서 모두 발생할 수 있는 자료구조이다.
- Stack과 Queue의 장점만 따서 구성한 것이다.
- 입력이 한쪽에서만 발생하고 출력은 양쪽에서 일어날 수 있는 입력제한과, 입력은 양쪽에서 일어나고 출력은 한곳에서만 이루어지는 출력 제한이 있다.
- 입력 제한 데크 : Scroll
- 출력 제한 데크 : Shelf

 

14. 이진트리의 운행법(Traversal)

 

- Preorder 운행 : Root → Left → Right 순
- Inorder 운행 : Left → Root → Right 순
- Postorder 운행 : Left → Right → Root 순

 

15. 해싱(Hashing)

 

- Hash Table이라는 기억공간을 할당하고, 해시함수(Hash Function)를 이용하여 레코드 키에 대한 Hash Table 내의 Home Address를 계산한 후 주어진 레코드를 해당 기억장소에 저장하거나 검색작업을 수행하는 방식이다.

- DAM(직접접근) 파일을 구성할 때 해싱이 사용되며, 접근 속도는 빠르나 기억공간이 많이 요구된다.
- 검색 속도가 가장 빠르다.
- 삽입, 삭제 작업의 빈도가 많을 때 유리한 방식이다.
- 해시 테이블(Hash Table) ․ 레코드를 1개 이상 보관할 수 있는 Home Bucket들로 구성한 기억공간으로, 보조기억장치에 구성할 수도 있고 주기억장치에 구성할 수도 있다.
- 버킷(bucket) : 하나의 주소를 갖는 파일의 한 구역을 의미하며, 버킷의 크기는 같은 주소에 포함될 수 있는 레코드 수를 의미한다

․ 슬롯(slot) : 한 개의 레코드를 저장할 수 있는 공간으로 n개의 슬롯이 모여 하나의 버킷을 형성한다.
․ Collision(충돌현상) : 서로 다른 두 개 이상의 레코드가 같은 주소를 갖는 현상이다.
․ Synonym : 같은 Home Address를 갖는 레코드들의 집합이다.
․ Overflow : 계산된 Home Address의 Bucket 내에 저장할 기억공간이 없는 상태(Bucket을 구성하는 Slot이 여러 개일 때는 Collision은발생해도 Overflow는 발생하지 않을 수 있다.)

 

16. 순차 파일(Sequential File) = 순서 파일

 

- 입력되는 데이터들을 논리적인 순서에 따라 물리적 연속 공간에 순차적으로 기록하는 방식이다.
- 급여 관리 등과 같이 변동 사항이 크지 않고 기간 별로 일괄 처리를 주로 하는 경우에 적합하다.
- 주로 순차 접근이 가능한 자기 테이프에서 사용된다.
- 순차 파일의 장점 : 기록 밀도가 높아 기억 공간을 효율적으로 사용할 수 있다.
․ 매체 변환이 쉬워 어떠한 매체에도 적용할 수 있음 ․ 레코드를 기록할 때 사용한 키 순서대로 레코드를 처리하는 경우, 다른 편성법보다는 처리 속도가 빠르다.
-순차 파일의 단점 : 파일에 새로운 레코드를 삽입, 삭제하는 경우 파일 전체를 복사해야하므로 시간이 많이 소요되고, 데이터 검색시 처음부터 순차적으로 하기 때문에 검색 효율이 낮다.

 

17. 색인 순차 파일(Indexed Sequential File)

 

- 순차 처리와 랜덤 처리가 모두 가능하도록 레코드들을 키 값순으로 정렬(Sort)시켜 기록하고, 레코드의 키 항목만을 모은 색인을 구성하여편성하는 방식이다.
- 색인을 이용한 순차적인 접근 방법을 제공하여 ISAM(Index Sequential Access Method)라고도 한다.
- 레코드를 참조하는 경우 색인을 탐색한 후 색인이 가리키는 포인터(주소)를 사용하여 직접 참조할 수 있다.
- 일반적으로 자기 디스크에 많이 사용되며, 자기 테이프에서는 사용할 수 없다.
- 색인 순차 파일의 구성

․ 기본 구역(Prime Area) : 실제 레코드들을 기록하는 부분으로, 각 레코드는 키 값순으로 저장된다

․ 색인 구역(Index Area) : 기본 구역에 있는 레코드들의 위치를 찾아가는 색인이 기록되는 부분으로, 트랙 색인 구역, 실린더 색인 구역, 마스터 색인 구역으로 구분할 수 있다

․ 오버플로우 구역(Overflow Area) : 기본 구역에 빈 공간이 없어서 새로운 레코드의 삽입이 불가능할 때를 대비하여 예비적으로 확보해둔 부분이다.

 

 

'IT > 자격증' 카테고리의 다른 글

산업기사- 전자계산기 구조(2)  (0) 2017.05.25
산업기사- 전자계산기 구조(1)  (0) 2017.05.18
산업기사 - 데이터베이스(1)  (0) 2017.05.16
정보처리기사 필기요약(5)  (0) 2017.01.05
정보처리기사 필기요약(4)  (0) 2016.12.28

1. 정보처리 시스템

 

정보시스템

 

- 조직체에 필요한 데이터를 수집, 저장해 두었다가 필요시에 처리해서 의사결정에 유용한 정보를 생성하고 분배하는 수단이다.
- 사용하는 목적에 따라 경영정보 시스템, 군사 정보시스템, 인사 행정 정보 시스템, 의사 결정 지원 시스템 등으로 사용된다.

 

정보와 자료

- 자료(Data) : 관찰이나 측정을 통해 수집한 단순한 사실이나 결과값으로, 가공되지 않은 상태이다.
- 정보(Information) : 의사 결정에 도움을 줄 수 있는 유용한 형태, 자료를 가공해서 얻을 수 있는 결과이다.

 

자료처리 시스템 : 정보시스템이 사용할 자료를 처리하는 정보 시스템의 서브시스템으로, 처리형태에 따라서 일괄 처리 시스템, 온라인 실시간처리 시스템, 분산 처리 시스템으로 분류된다.

-데이터 웨어 하우스(DataWare House) : 조직이나 기업체의 중심이 되는 주요 업무 시스템에서 추출되어 새롭게 생성된 데이터베이스로서 의사결정지원 시스템을 지원하는 주체적, 통합적, 시간적 데이터 집합체이다.

 

2. 데이터베이스의 정의

 

- 통합된 데이터(Integrated data) : 자료의 중복을 배제한 데이터의 모임이다.
- 저장된 데이터(Stored data) : 저장 매체에 저장된 자료이다.
- 운영 데이터(Operational data) : 조직의 업무를 수행하는데 있어서 없어서는 안 될 반드시 필요한 자료이다.
- 공용 데이터 : 여러개 응용 시스템들이 공동(공용)으로 소유하고 유지하는 자료이다.

 

3. 데이터베이스의 특징

 

-실시간 접근성 : 수시적이고 비정형적인 질의(조회)에 대하여 실시간 처리(real time processing) 응답이 가능하다.
-계속적인 변화 : 새로운 데이터의 삽입(insertion), 삭제(deletion),갱신(update)으로 항상 최신의 데이터를 유지한다.
-동시 공용 : 여러 사용자가 동시에 자기가 원하는 데이터를 이용할 수있다. 서로 공용으로 데이터를 사용한다.
-내용에 의한 참조 : 데이터베이스에 있는 데이터를 참조할 때, 데이터 주소나 위치에 의해서가 아니라 사용자가 요구하는 데이터 내용으로 데이터를 찾는다.

 

4. 기존의 파일 처리 방식의 문제점

 

▶ 종속성으로 인한 문제점
- 종속성 : 응용프로그램과 데이터 파일이 상호 의존적인 관계인 것
- 데이터 파일이 보조 기억 장치에 저장되는 방법이나 저장된 데이터의 접근 방법을 변경할 때는 종속 되어있기 때문에 응용프로그램도 같이 변경하여야한다.
▶ 중복성으로 인한 문제점
- 일관성 : 중복된 데이터간에 내용이 일치하지 않는 상황이 발생하여 일관성이 없어진다.
- 보안성 : 중복되어 있는 모든 데이터에 동등의 보안수준을 유지하기가 어렵다.
- 경제성 : 저장 공간 낭비와 동일한 데이터의 반복 작업으로 인한 비용의 증가
- 무결성 : 제어의 분산으로 인해 데이터의 정확성을 유지할 수 없다.

 

5. DBMS의 필수기능

- 정의(조직) : 데이터의 형과 구조, 데이터가 DB에 저장될 때의 제약조건 등을 명시하는 기능이다.
- 조작 : 처리를 위한 데이터 접근 수단 등을 정하는 기능이다.
- 제어 : 무결성, 보안 및 권한 검사, 병행수행 제어 등의 기능을 정하는 기능이다.

 

6. DBMS의 장단점

장점
- 데이터의 중복을 피할 수 있다.
- 저장된 자료를 공동(공유)으로 이용할 수 있다.
- 데이터의 일관성을 유지할 수 있다.
- 데이터의 무결성을 유지할 수 있다.
- 보안을 유지할 수 있다.
- 데이터를 표준화할 수 있다.
- 데이터를 통합하여 관리할 수 있다.
- 항상 최신의 데이터를 유지한다.
- 데이터의 실시간 처리가 가능하다.
- 데이터의 논리적 물리적 독립성이 보장된다.

 

단점
- 데이터베이스 전문가 부족하다.
- 전산화 비용이 증가한다.
- 대용량 디스크로의 집중적인 Access로 과부하가 발생한다.
- 파일의 예비(Backup)와 회복(Recovery)이 어렵다.
- 시스템이 복잡하다.

 

7. 데이터의 독립성

 

- 논리적 독립성 : 응용 프로그램과 데이터베이스를 독립시킴으로써, 데이터의 논리적 구조를 변경시켜도 응용 프로그램은 변경되지 않는다.

- 물리적 독립성 : 응용 프로그램과 보조기억장치와 같은 물리적 장치를 독립시킴으로써, 데이터베이스 시스템의 성능 향상을 위해 새로운 디스크를 도입하더라도 응용 프로그램에는 영향을 주지 않고 데이터의 물리적 구조만을 변경한다. 서로 영향을 주지 않는다.

 

8. 스키마(Schema)의 정의

 

- 데이터베이스의 구조와 제약조건에 관한 전반적인 명세를 기술한다.
- 데이터베이스를 구성하는 데이터 개체(Entity), 속성(Attribute), 관계(Relationship) 및 데이터 조작시 데이터 값들이 갖는 제약조건 등을 전반적으로 정의한다.

 

9. 스키마의 3계층

 

외부 스키마(External Schema) = 서브 스키마 = 사용자 뷰(View)

- 사용자나 응용프로그래머가 개인의 입장에서 필요로 하는 데이터베이스 논리적 구조 정의한다.
- 전체 데이터베이스의 한 논리적인 부분으로 볼 수 있으므로 서브스키마(subschema)라고도 한다.
- 하나의 데이터베이스 시스템에는 여러 개의 외부 스키마가 존재할 수있으며, 하나의 외부 스키마를 여러 개의 응용 프로그램이나 사용자가 공유해서 사용할 수 있다.
- 같은 데이터베이스에 대해서도 서로 다른 관점을 정의할 수 있도록 허용한다.

 

개념 스키마(Conceptual Schema) = 전체적인 뷰(View)

- 데이터베이스의 전체적인 논리적 구조로 모든 응용 프로그램이나 사용자들이 필요로 하는 데이터를 종합한 조직 전체의 데이터베이스로 하나만 존재한다.
- 개념 스키마는 개체간의 관계와 제약조건을 나타내고 데이터베이스의 접근 권한, 보안 및 무결성 규칙에 관한 명세를 정의한다.
- 단순히 스키마(schema)라고하면 개념 스키마를 의미한다.
- 기관이나 조직체의 관점에서 데이터베이스를 정의한 것이다.


내부 스키마(Internal Schema)

- 물리적인 저장장치와 밀접한 계층이다.
- 데이터베이스의 물리적 구조이다.
- 데이터의 실제 저장 방법 기술이다.
- 시스템 프로그래머나 시스템 설계자가 보는 관점의 스키마이다.

 

 

10. 데이터베이스 언어

 

데이터 정의 언어(DDL; Data Definition Language)


- DB 구조, 데이터 형식, 접근 방식 등 DB를 구축하거나 수정할 목적으로 사용하는 언어이다.
- 번역한 결과가 데이터사전(Data-dictionary)이라는 특별한 파일에 여러개의 테이블로서 저장된다.
- 데이터 정의 언의의 기능 , 외부 스키마 명세 정의 , 데이터베이스 정의 및 수정 , 스키마에 사용되는 제약조건에 대한 명세 정의 ․ 데이터의 물리적 순서 규정를 규정한다.


데이터 조작 언어(DML; Data Manipulation Language) = 서브 언어

- 사용자로 하여금 데이터를 처리할 수 있게 하는 도구로서 사용자와 DBMS간의 인터페이스를 제공한다.
- 응용 프로그램을 통하여 사용자가 DB의 데이터를 실질적으로 조작할 수 있도록 하기 위해 FORTRAN, COBOL 등의 호스트 언어에 DB 기능을 추가시켜 만든 언어이다.
- 대표적인 데이터 조작어(DML)에는 질의어가 있으며, 질의어는 터미널에서 주로 이용하는 비절차적(procedural) 데이터 언어이다.

데이터 제어 언어(DCL; Data Control Language)
- 무결성, 보안 및 권한 제어, 회복을 등을 하기 위한 언어이다.
- 데이터를 보호하고 데이터를 관리를하는 목적으로 사용된다.
- 데이터 제어 언어의 기능 , 불법적인 사용자로부터 데이터를 보호하기 위한 데이터 보안(Security) , 데이터 정확성을 위한 무결성(Integrity)유지하고 , 시스템 장애에 대비한 데이터 회복과 병행 수행한다

 

11. DBA

데이터베이스 시스템의 모든 관리와 운영대한 책임을 지고 있는 사람이나 그룹이다.

 

데이터베이스 설계와 조작에 대한 책임

- 데이터베이스 구성요소 결정
- 개념 스키마 및 내부스키마 정의
- 데이터베이스의 저장 구조 및 접근 방법 정의
- 보안 및 데이터베이스의 접근 권한 부여 정책 수립
- 장애에 대비한 예비(Back Up) 조치와 회복(Recovery)에 대한 전략 수립
- 무결성을 위한 제약 조건의 지정
- 데이터 사전의 구성과 유지관리한다.
- 사용자의 변화 요구와 성능향상을 위한 데이터베이스의 재구성한다.

 

행정책임
- 사용자의 요구와 불평의 청취 및 해결
- 데이터 표현 방법의 표준화
- 문서화에 대한 기준 설정 시스템 감시 및 성능분석
- 변화 요구에 대한 적응과 성능 향상에 대한 감시
- 시스템 감시 및 성능분석
- 자원의 사용도와 병목현상 조사
- 데이터 사용 추세, 이용 형태 및 각종 통계 등을 종합, 분석한다.

 

12. 데이터 모델의 정의

- 정보들을 컴퓨터에 표현하기 위해 단순화, 추상화하여 체계적으로 표현한 개념적 모형이다.
- 데이터베이스에 표현하는 중간 과정, 즉 데이터베이스 설계과정에서 데이터의 구조를 표현하기 위해 사용되는 도구이다.
- 데이터의 구조(Schema)를 논리적으로 묘사하기 위해 사용되는 지능적도구이다.

 

13. 데이터 모델의 종류

개념적 데이터 모델

- 속성들로 기술된 개체 타입과 이 개체 타입들 간의 관계를 이용하여 현실 세계를 표현하는 방법이다.
- 종류로는 E-R 모델이 있다.


논리적 데이터 모델
-필드로 기술된 데이터 타입과 이 데이터 타입들 간의 관계를 이용하여 현실 세계를 표현하는 방법이다.
- 단순히 데이터 모델이라고 하면 논리적 데이터 모델을 의미한다.
- 논리적 데이터베이스 모델은 데이터 간의 관계를 어떻게 표현하느냐에 따라서 관계모델, 계층모델, 네트워크 모델로 구분한다.

 

 

14. 데이터 모델의 구성요소

 

개체(Entity)
- 데이터베이스에 표현하려는 것으로 사람이 생각하는 개념이나 정보단위 같은 현실 세계의 대상체이다.
- 유형, 무형의 정보로서 서로 연관된 몇 개의 속성으로 구성된다.
- 파일 시스템의 레코드에 대응하는 것으로 어떤 정보를 제공하는 역할을 한다.
- 독립적으로 존재하거나 그 자체로서도 구별이 가능한다.

속성(Attribute)

- 데이터의 가장 작은 논리적 단위로서 파일 구조상의 데이터 항목 또는 데이터 필드에 해당한다.
- 개체를 구성하는 항목이다.

관계(Relationship)
- Entity간의 관계 또는 Attribute간의 관계

 

15. 개체-관계(Entity-Relationship) 모델

 

- 개체 타입(entity type)과 이들 간의 관계 타입(relationship type)을 이용해 현실 세계를 개념적으로 표현한다.
- 데이터를 개체(Entity), 관계(Relationship), 속성(Attribute)으로 묘사한다.
- 특정 DBMS를 고려한 것은 아니다.

 

16. 관계형 데이터 모델

 

- 계층 모델과 망 모델의 복잡한 구조를 단순화시킨 모델이다.
- 표(Table)를 이용해서 데이터 상호관계를 정의하는 DB 구조이다.
- 데이터간의 관계를 기본키(primary key)와 이를 참조하는 외래키(foreign key)로 표현한다.
- 대표적인 언어 : Orcle, MS-SQL, Informix가 있다.
- 1:1, 1:N, M:N 관계를 자유롭게 표현할 수 있다.
- 장점 : 간결하고, 보기 편리하고, 다른 데이터베이스로의 변환이 용이하다.
- 단점 : 성능이 다소 떨어진다.

 

17. 계층형 데이터 모델

- 데이터의 논리적 구조도가 트리 형태이고 , 개체가 트리를 구성하는 노드 역할을 한다.
- 개체 집합에 대한 속성 관계를 표시하기 위해서 개체를 노드로 표현하고 개체 집합들 사이의 관계를 링크로 연결한다.
- 개체간의 관계를 부모와 자식간의 관계로 표현한다.
- 개체 타입간에는 상위와 하위관계가 존재하며, 일 대 다(1:N) 대응관계만 존재한다.
- 레코드 삭제시 연쇄 삭제(Triggered Delete)가 된다.
- 개체 타입들간에는 사이클(cycle)이 허용되지 않는다.
- 계층형 모델에서는 개체(Entity)를 세그먼트(Segment)라 부른다.
- 대표적인 DBMS는 IMS가 있다.
- 속성 관계(Attribute Relation) : 세그먼트(개체)를 구성하는 속성들의 관

- 개체 관계(Entity Relation) : 개체와 개체간의 관계를 링크로 표시함

 

18. 망(그래프)형 데이터모델

- CODASYL이 제안한 것으로, CODASYL DBTG 모델이라고도 한다.
- 그래프를 이용해서 데이터 논리구조를 표현한 데이터 모델이다.
- 상위와 하위 레코드 사이에서 다 대 다(N:M) 대응관계를 만족하는 구조이다.
- 레코드 타입간의 관계는 1:1, 1:N, N:M이 될 수 있다.
- 대표적인 DBMS는 DBTG, EDBS, TOTAL가 있다.

'IT > 자격증' 카테고리의 다른 글

산업기사- 전자계산기 구조(1)  (0) 2017.05.18
산업기사 - 데이터베이스(2)  (0) 2017.05.17
정보처리기사 필기요약(5)  (0) 2017.01.05
정보처리기사 필기요약(4)  (0) 2016.12.28
정보처리기사 필기 요약(3)  (0) 2016.12.27

5과목 데이터 통신

 

1. 변조 속도
ㆍ초당 발생한 신호의 변화 횟수 ㆍ속도 단위 : baud(보오)
ㆍ변조 시 상태 변화 수 : 1비트(모노비트), 2비트(디비트), 3비트(트리비트), 4비트(쿼드비트)
ㆍ변조 속도(baud) = 신호 속도(bps) / 변조 시 상태 변화 수

2. 신호 속도
ㆍ초당 전송되는 비트 수 ㆍ속도 단위 : bps(bit/sec)
ㆍ데이터 신호 속도(bps) = 변조 속도(baud) × 변조 시 상태 변화 수

3. 통신 방식에 따른 종류
ㆍ단방향 통신(Simplex) : 한쪽 방향으로만 전송이 가능한 방식(라디오, TV)
ㆍ반이중 통신 (Half-Duplex) : 데이터를 양쪽방향으로 모두 전송할 수 있으나 동시에 양쪽방향에서 전
송할 수 없는 전송 방식(ON-OFF 무전기)
ㆍ전이중 통신(Full-Duplex) : 동시에 양쪽 방향으로 전송이 가능한 전송 방식(전화)

4. 비동기식 전송
ㆍByte와 Byte를 구분하기 위하여 스타트(Start) 비트와 스톱(Stop) 비트를 붙여 전송하는 방식
ㆍ2~3Bit의 오버헤드를 요구하여 전송 효율이 떨어지므로 저속, 단거리 통신 시스템에 이용됨


5. 동기식 전송
ㆍ문자 또는 비트들의 데이터 블록(프레임)을 송․수신 하는 방식으로, 동기를 유지하기 위해 동기 문자
를 계속적으로 전송함
ㆍ시작과 끝부분에 플래그(Flag) 신호를 삽입하여 동기화함
ㆍ종류 : 문자 동기 방식, 비트 동기 방식

 

6. 다중화(Multiplexing)
효율적인 전송을 ㆍ 위하여 넓은 대역폭을 가진 하나의 전송링크를 통하여, 여러 신호/데이터를 동시에
실어 보내는 기술
ㆍ선로의 공동 이용이 가능하므로 전송 효율이 높아짐
ㆍ종류 : 주파수 분할 다중화, 시분할 다중화

7. 주파수 분할 다중화(FDM ; Frequency-Division Multiplexing)
ㆍ통신 회선의 주파수 대역폭을 여러 개의 작은 대역폭으로 분할하여 여러 대의 단말기가 동시에 사용
할 수 있도록 하는 기법
ㆍ채널 간의 대역폭이 겹치지 않도록 완충지역으로 보호 대역(Guard Band)이 필요함
ㆍ가드 밴드의 이용으로 채널의 이용률이 낮아짐으로써 시분할 다중화기에 비해 비효율적임
ㆍ케이블 혹은 TV 공중파에 적용됨

 

8. 시분할 다중화(TDM ; Time-Division Multiplexing)
ㆍ통신 회선의 대역폭을 일정한 시간 폭(Time Slot)으로 분할하는 기법
ㆍ대역폭의 이용도가 높아 고속 전송에 용이함
ㆍ종류 : 동기식 시분할 다중화, 비동기식 시분할 다중화

 

 

-동기식 시분할 다중화(Synchronous TDM)

ㆍ전송 매체상의 전송 프레임마다 해당 채널의 타임 슬롯이 고정적으로 할당
되는 다중화 방식
ㆍ전송할 데이터가 없는 단말장치에도 타임 슬롯이 고정적으로 할당되므로
타임 슬롯이 낭비될 수 있음

-비동기식 시분할 다중화(Asynchronous TDM)

ㆍ실제로 전송할 데이터가 있는 단말장치에만 타임 슬롯을 할당함으로써 전
송 효율을 높임
ㆍ통계적 시분할 다중화, 지능 다중화라고도 함

 

9. 전송 제어 절차
데이터 통신 회선의 접속 → 데이터 링크 설정(확립) → 정보 메시지 전송 → 데이터 링크의 종료(해제)
→ 데이터 통신 회선의 절단

 

10. HDLC(High-level Data Link Control)
각 프레임에 데이터 흐름을 제어하고 ㆍ 오류를 검출할 수 있는 비트열을 삽입하여 전송하는 비트 위주
의 프로토콜
ㆍ전송 효율과 신뢰성이 높음
ㆍ정보 전송 단위 : 프레임(Frame)

ㆍ프레임 구조

-플래그(Flag) : 프레임의 동기를 제공하기 위해 프레임의 시작과 끝을 표시하며, 항상 ‘01111110’의
형식을 취함
-주소부(Address Field) : 프레임을 송신 및 수신하는 스테이션을 구별하기 위해 사용되는 부분
-제어부(Control Field) : 프레임의 종류를 식별하기 위해 사용되는 부분(정보/감독/비번호 프레임)
-정보부(Information Field) : 실제 데이터가 들어있는 부분
-검사부(FCS ; Frame Check Sequence Field) : 전송 오류를 검출하는 기능을 수행하는 부분
ㆍ데이터 전송 모드 : 정규(표준) 응답 모드(NRM), 비동기 응답 모드(ARM), 비동기 평형 모드(ABM)

 

11. 에러 발생 원인
ㆍ감쇠(Attenuation) : 전송 신호가 전송 매체를 통과하는 과정에서 거리에 따라 점차 약해지는 현상
ㆍ지연 왜곡(Delay Distortion) : 전송 매체를 통한 신호 전달이 주파수에 따라 그 속도를 달리 함으로써
유발되는 신호 손상
ㆍ잡음(Noise) : 상호변조 잡음, 열 잡음, 누화 잡음, 충격 잡음

 

12. 에러 검출 방식
ㆍ패리티 검사(Parity Check) : 1비트의 검사 비트인 패리티 비트를 추가하여 전송 부호의 에러 검출
ㆍ순환 중복 검사(CRC ; Cyclic Redundancy Check) : 특정 다항식에 의한 연산 결과를 데이터에 삽입
하여 에러 검출
ㆍ해밍 코드(Hamming Code) : 자기 정정 부호의 하나로 비트 에러를 검출해서 1비트 에러 정정
ㆍ상승 코드 방식 : 순차적 디코딩과 한계값 디코딩을 사용하여 에러 수정

13. 자동 반복 요청(ARQ ; Automatic Repeat reQuest)
ㆍ통신 경로에서 에러 발생 시 수신측은 에러의 발생을 송신측에 통보하고 송신측은 에러가 발생한 프
레임을 재전송하는 방식

 

ㆍ종류 : 정지-대기 ARQ, 연속 ARQ(Go-Back-N ARQ, 선택적 재전송), 적응적 ARQ

14. 전송 에러 제어 방식
ㆍ전진 에러 수정 : 송신측에서 오류 정정을 위한 제어 비트를 추가하여 전송하고, 수신측에서 이 비트
를 사용하여 에러를 검출하고 수정하는 방식
ㆍ후진 에러 수정 : 데이터 전송 과정 중 에러가 발생하면 송신측에 재전송을 요구하는 방식

15. 흐름 제어
ㆍ통신망 내의 트래픽 제어의 원활한 흐름을 위해 전송하는 프레임(패킷)의 양이나 속도 규제
ㆍ종류 : 정지-대기, 슬라이딩 윈도우

혼잡 제어
ㆍ네트워크 내에서 패킷의 대기 지연(Queuing Delay)이 너무 높아지게 되어 트래픽이 붕괴되지 않도록
네트워크 측면에서 패킷의 흐름 제어

16. 회선 제어 방식
ㆍ경쟁 방식(Contention) : 송신 요구를 먼저 한 쪽이 송신권을 가짐
ㆍ폴링(Polling) : 주컴퓨터가 단말기에게 전송할 데이터의 유무를 묻는 방식
ㆍ셀렉션(Selection) : 주컴퓨터가 단말기에게 데이터를 수신할 수 있는지를 묻는 방식


17. 회선 교환 방식
ㆍ음성 전화망과 같이 메시지가 전송되기 전에 발생지에서 목적지까지의 물리적 통신 회선 연결이 선행
되어야 하는 교환 방식
ㆍ일단 통신경로가 설정되면 데이터의 형태, 부호, 전송제어 절차 등에 의한 제약을 받지 않음
ㆍ전용 전송로와 고정 대역폭(Band Width)을 사용함
ㆍ회선 교환 방식의 종류 : 시분할 교환 방식, 공간 분할 교환 방식

 

18. 메시지 교환 방식
ㆍ하나의 메시지 단위로 축적-전달(Store-and-Forward) 방식에 의해 데이터를 교환하는 방식
ㆍ각 메시지마다 수신 주소를 붙여서 전송을 하며, 전송 경로가 다름
ㆍ응답시간이 느려 대화형 데이터 전송을 위해서는 부적절하나, 수신측이 준비 안 된 경우에도 지연 후
전송이 가능함


19. 패킷 교환 방식(Packet Switching)
ㆍ메시지를 일정 길이의 전송 단위(Packet)로 정보를 나누어 전송하는 방식
ㆍ모든 사용자 간에 빠른 응답 시간을 제공하기 위해 사용하며, 음성보다 데이터 전송에 더 적합함
ㆍ전송량 제어와 전송 속도 변환이 가능하며, 융통성이 매우 크며 우선순위가 허용됨
ㆍ전송 실패 패킷의 재전송이 가능함(장애 발생 시 대체 경로 선택이 가능함)
ㆍ대량의 데이터 전송 시 전송 지연이 발생함
ㆍ패킷 교환망의 기능 : 순서 제어, 경로 설정 제어, 트래픽 제어, 에러 제어, 패킷 다중화, 논리 채널

 

ㆍ종류 : 가상 회선 방식, 데이터그램 방식


20. 경로 설정(Routing, 라우팅)
ㆍ데이터 패킷을 출발지에서 목적지까지 이용 가능한 전송로를 찾아본 후에 가장 효율적인 전송로를 선
택하는 것
ㆍ경로 배정 요소(Parameter) : 성능 기준, 경로의 결정 시간과 장소, 네트워크 정보 발생지
ㆍ경로 설정 프로토콜 : IGP(RIP, OSPF), EGP, BGP
ㆍ경로 설정 알고리즘 : 범람 경로 제어, 고정 경로 제어, 적응 경로 제어, 임의 경로 제어


21. 네트워크 구성 형태
ㆍMesh형(망형) : 모든 노드 간의 연결이 이루어진 형태로, 많은 단말기로부터 많은 양의 통신을 필요
로 하는 경우에 유리함
ㆍStar형(중앙 집중형) : 중앙에 Host Computer가 있고 이를 중심으로 Terminal들이 연결
ㆍRing형(루프형) : 양쪽 방향으로 접근이 가능하여 통신회선 장애에 대한 융통성이 있음
ㆍBus형 : 시스템 내의 모든 사이트들이 공유 버스에 연결된 구조
ㆍTree형(계층형) : 분산 처리 시스템을 구성하는 방식

22. LAN(Local Area Network, 근거리 통신망)
ㆍ한 건물 또는 공장, 학교 구내, 연구소 등의 일정지역 내의 설치된 통신망으로서 각종 기기 사이의 통
신을 실행하는 통신망
ㆍ광대역 전송 매체(꼬임선, 동축 케이블, 광섬유 케이블 등)의 사용으로 고속 통신이 가능함
ㆍ확장성과 재배치성이 좋고, 경로 설정이 필요 없음

 

23. 매체 접근 제어(MAC ; Media Access Control)
ㆍCSMA/CD(Carrier Sense Multiple Access / Collision Detection)
ㆍ토큰 버스(Token Bus)
ㆍ토큰 링(Token Ring)


24. VAN(Value Added Network, 부가가치 통신망)
ㆍ공중 통신 회선에 교환설비, 컴퓨터 및 단말기 등을 접속시켜 새로운 부가 기능을 제공하는 통신망
ㆍVAN의 계층 구조 : 전송 계층, 네트워크 계층, 통신처리 계층, 정보처리 계층


25. ISDN(Integrated Service Digital Network, 종합 정보 통신망)
ㆍ모든 통신 서비스를 단일 통신망으로 통합한 것
ㆍ컴퓨팅, 교환, 디지털 전송 장치간의 구분이 없어지고, 음성, 데이터 및 이미지 전송에 동일한 디지털
기술이 적용된 통합 시스템

 

26.도메인 이름(Domain Name)
ㆍ사용자들이 쉽게 인식하고 사용할 수 있도록 숫자로 표기된 주소를 문자 형태로 표시하는 인터넷 주

ㆍDNS(Domain Name System) : IP 주소와 호스트 이름 간의 변환을 제공하는 분산 데이터베이스


27. 인터네트워킹 장비
ㆍ리피터(Repeater) : 신호가 약해지거나 왜곡될 경우 원래의 신호로 재생하여 재송신하는 장비
ㆍ브리지(Bridge) : 두 개의 LAN이 데이터 링크 계층에서 서로 결합되어 있는 경우에 이들을 연결하는
장비
ㆍ라우터(Router) : 서로 다른 형태의 네트워크를 상호 접속하는 3계층 장비
ㆍ게이트웨이(Gateway) : 서로 다른 프로토콜을 사용하는 네트워크 연결


28.프로토콜(Protocol)
ㆍ정보통신을 위해 통신을 원활하게 수행할 수 있도록 해주는 통신 규약
ㆍ프로토콜의 기본 요소 : 구문(Syntax), 의미(Semantic), 타이밍(Timing)
ㆍ프로토콜의 기능 : 동기 제어, 단편화/재결합, 요약화, 흐름 제어, 주소 지정, 경로 제어, 에러 제어,
다중화

 

29.OSI 참조모델
ㆍ서로 다른 시스템 간의 원활한 통신을 위해 ISO(국제표준화기구)에서 제안한 통신 규약
ㆍOSI 7계층(Layer) 구조 : 물리 계층(Physical Layer) → 데이터 링크 계층(Data Link Layer) → 네트
워크 계층(Network Layer) → 전송 계층(Transport Layer) → 세션 계층(Session Layer) → 표현 계층
(Presentation Layer) → 응용 계층(Application Layer)

 

30. TCP/IP(Transmission Control Protocol / Internet Protocol)
ㆍ인터넷에서 사용하고 있는 프로토콜로서 서로 다른 기종의 컴퓨터들 간에 데이터 송․수신이 가능하도
록 해주는 표준 프로토콜

ㆍTCP 프로토콜과 IP 프로토콜의 결합적 의미로써 TCP가 IP보다 상위층에 존재함
ㆍ특징 : 접속형 서비스, 전이중 전송 서비스, 신뢰성 서비스 제공
ㆍTCP/IP의 계층 구조 : 링크 계층(Link Layer) → 네트워크 계층(Network Layer) → 전송 계층
(Transport Layer) → 응용 계층(Application Layer)

31. X.25 프로토콜
ㆍ패킷망으로 정보를 전송할 때 패킷 터미널을 제안한 표준 규격안
ㆍ흐름 및 오류 제어기능을 제공함
ㆍ연결형 네트워크 프로토콜임
ㆍX.25의 계층 구조 : 물리 계층(Physical Layer) → 링크 계층(Link Layer) → 패킷 계층(Packer Layer)

'IT > 자격증' 카테고리의 다른 글

산업기사 - 데이터베이스(2)  (0) 2017.05.17
산업기사 - 데이터베이스(1)  (0) 2017.05.16
정보처리기사 필기요약(4)  (0) 2016.12.28
정보처리기사 필기 요약(3)  (0) 2016.12.27
정보처리기사 필기 요약(2)  (0) 2016.12.27

4과목 소프트웨어공학

 

1. 소프트웨어 위기

 

 소프트웨어의 특성에 대한 이해 부족, 소프트웨어의 관리 부재, 프로그래밍에만 치중, 소프트웨어 개발 기술에 대한 교육 부족 등 여러가지 원인에 의해 개발 속도를 따라가지 못해 소프트웨어에 대한 사용자들의 요구사항을 처리할 수 없는 문제가 발생한 것을 의미함.

 

개발 인력의 부족과 그로인한 인건비 상승, 성능 및 신뢰성의 부족, 개발 기간의 지연 및 개발 비용의 증가, 유지보수가 어렵고, 이에 따른 비용 증가, 소프트웨어의 생산성 저하, 소프트웨어의 품질 저하 등이 일어남.

 

2. 좋은 소프트웨어의 조건

 

ㆍ신뢰성이 높고 효율적임
ㆍ사용자의 의도대로 동작
ㆍ잠재적 에러의 최소화
ㆍ편리성 제공
ㆍ유지보수 용이

 

3. 폭포수 모형(Waterfall Model)

 

 - 소프트웨어 개발각  단계를 확실히 매듭짓고 그 결과를 철저하게 검토하여 승인 과정을 거친 후에 다음 단계를 진행하며 이전 단계로 되돌아갈 수 없는 방식이다.

 

- 소프트웨어 개발 과정의 앞 단계가 끝나야만 다음 단계로 넘어갈 수 있는 선형 순차적 모형이다.

 

-개발 순서 : 타당성 검토 → 계획 → 요구 분석 → 설계→ 구현(코딩) → 시험(검사) → 유지보수

 

장점:

• 모형의 적용 경험과 성공 사례가 많음
• 단계별 정의가 분명하고, 전체 공조의 이해가 용이함
• 단계별 산출물이 정확하여 개발 공정의 기준점을 잘 제시함

  

단점 :

• 개발 과정중에 발생하는 새로운 요구나 경험을 반영하기 어려우므로 처음부터 사용자들이 모든 요구사항들을 명확하게 제시해야 함
• 단계별로 오류 없이 다음 단계로 진행해야 하는데 현실적으로 오류 없이 다음 단계로 진행하기는 어려움
• 개발된 프로그램을 업무에 운용할 때 검출되지 않은 오류로 인하여 사용자들이 큰 인내심을 가져야 함

 

 

4. 프로토타입 모형(Prototype Model)

 

- 사용자의 요구사항을 정확히 파악하기 위해 실제 개발될 소프트웨어에 대한 견본(시제)품(Prototype)을 만들어 최종 결과물을 예측하는 모형이다.

 

 - 요구 분석 단계에서 사용하게 되며, 프로토타입의 평가가 끝나고 개발이 승인되면 다른 모형을 이용하여 본격적인 개발이 이루어진다.

 

- 소프트웨어 생명주기에서 유지보수 단계가 없어지고 개발 단계 안에서 유지보수가 이루어진다.

 

- 개발 순서 : 요구 수집 → 빠른 설계 → 프로토타입 구축 → 고객 평가 → 프로토타입 조정 → 구현

 

장점 :

• 요구사항을 충실히 반영하며, 요구사항의 변경이 용이함
• 최종 결과물이 만들어지기 전에 의뢰자가 최종 결과물의 일부 또는 모형을 볼 수 있음
• 프로토타입은 의뢰자나 개발자 모두에게 공동의 참조 모델을 제공함

 

 

단점 :

• 미리 제작된 소프트웨어를 사용할 경우 실제 소프트웨어와 차이가 발생할 수 있어 사용자에게 혼란을 줄 수 있음
• 단기간에 제작해야 하기 때문에 비효율적인 언어나 알고리즘을 사용할 수 있음

 

 

5. 나선형 모형(Spiral Model)

 

- 보헴 (Boehm)이 제안한 것으로, 폭포수 모형과 프로토타입모형의 장점에 위험 분석 기능을 추가한 모형이다.

 

- 나선을 따라 돌 듯이 여러 번의 소프트웨어 개발 과정을 거쳐 점진적으로(프로토타입을 지속적으로 발전시켜) 완벽한 최종 소프트웨어를 개발하는 것이다.

 

 

- 소프트웨어를 개발하면서 발생할 수 있는 위험을 관리하고 최소화하는 것을 목적으로 한다.

 

- 개발 순서 : 계획 및 정의(Planning) → 위험 분석(Risk Analysis) → 공학적 개발(Engineering) →고객 평가(Customer Evaluation)

 

장점 :

• 가장 현실적인 모형으로, 대규모 시스템에 적합함
• 점진적으로 개발 과정이 반복되므로 누락되거나 추가된 요구사항을 첨가할 수 있고, 정밀하며, 유지보수 과정이 필요 없음

 

단점 :

 • 위험성 평가에 크게 의존하기 때문에 이를 발견하지 않으면 반드시 문제가 발생함
• 비교적 최신기법이므로 폭포수 모형이나 프로토타입 모형보다 널리 사용되지 않음

 

 

6 .효과적인 프로젝트 관리를 위한 3P(3대 요소)

 

사람(People), 문제(Problem), 프로세스(Process)

 

7. 소프트웨어 영역(Software Scope) 결정 요소

 

기능(Function), 성능(Performance), 신뢰도(Reliability)

 

 

8. 비용 산정 기법 - LOC

ㆍ노력(인월) = 개발 기간(월) × 투입 인원(인)
ㆍ개발 비용 = 개발 기간(월) × 투입 인원(인) × 단위 비용(1인당 월평균 인건비)
ㆍ개발 기간 = 예측된 LOC / (투입 인원 × 1인당 월평균 생산 LOC)
ㆍ생산성 = 개발된 LOC / (투입 인원 × 개발 기간)

 

8. 비용 산정 기법 - COCOMO(COnstructive COst MOdel)

ㆍ조직형( Organic Mode ) : 5만 라인 이하의 중소 규모 소프트웨어를 개발하는 유형
반분리형(Semi-Detached Mode ): 30만 라인 이하의 소프트웨어를 개발하는 유형
ㆍ내장형( Embedded Mode ): 30만 라인 이상의 소프트웨어를 개발하는 유형

 

 

9. 프로젝트 일정 계획

 

ㆍWBS : 개발 프로젝트를 여러 개의 소작업으로 분할하여 계층적으로 기술한 업무 구조
ㆍPERT/CPM : 프로젝트의 지연을 방지하고 계획대로 진행되게 하기 위한 일정을 계획하는 것
ㆍ간트 차트 : 프로젝트의 각 작업의 시작 및 종료 시점에 대한 작업 일정을 수평 막대를 이용하여 표시
ㆍ브룩스(Brooks)의 법칙 : S/W 프로젝트 일정이 지연된다고 해서 프로젝트 말기에 새로운 인원을 추가 투입하면 프로젝트는 더욱 지연되게 된다고 주장하는 법칙

 

10. 프로젝트 팀 구성

 

분산형

 

• 팀원 모두가 의사 결정에 참여하는 비이기적인 구성 방식(민주주의식 팀)
• 의사 결정을 민주주의식으로 하며 팀 구성원의 참여도와 작업 만족도를 높이고 이직률을 낮게 함
• 팀 구성원 각자가 서로의 일을 검토하고 다른 구성원이 일한 결과에 대하여 같은 그룹의 일원으로 책임을 지며, 장기 프로젝트 개발에 적합함
• 다양한 의사 교류로 인해 의사 결정 시간이 늦어지고, 개개인의 생산성 및 책임감이 낮아질 수 있음

 

 

중앙 집중형팀

 

• 한 관리자가 의사결정을 하고, 팀 구성원들은 그 결정을 따르는 구성 방식으로 책임 프로그래머 팀이라고도 함
• 프로젝트 수행에 따른 모든 권한과 책임을 한 관리자에게 위임하고, 기술 및 관리 지원을 위해 인력을 투입하는 형태
• 의사결정이 빠르고, 의사 교환 경로를 줄일 수 있음
• 한 사람에 의하여 통제할 수 있는 비교적 소규모 문제에 적합함
• 책임 프로그래머 역할 : 요구 분석 및 설계, 중요한 기술적 판단, 프로그래머에게 작업 지시 및 배분 등
• 프로그래머 역할 : 책임 프로그래머의 지시에 따른 원시코드 작성, 테스트, 디버깅, 문서 작성 등
• 프로그램 사서 역할 : 프로그램 리스트, 설계 문서, 테스트 계획 등을 관리
• 보조 프로그래머 역할 : 책임 프로그래머의 업무 지원, 여러 가지 기술적인 문제에 대한 자문, 사용자, 품질 보증 담당자 등의 섭외, 책임 프로그래머 감독하에 분석, 설계, 구현 담당

 

 

계층적팀

 

• 분산형 팀 구성과 중앙 집중형 팀 구성을 혼합한 형태(혼합형 팀)
• 5~7명의 초보 프로그래머를 작은 그룹으로 만들어 각 그룹을 고급 프로그래머가 관리하게 함
• 경험자(고급 프로그래머)와 초보자를 구별함
• 프로젝트 리더와 고급 프로그래머에게 지휘 권한을 부여하고, 의사 교환은 초급 프로그래머와 고급 프로그래머로 분산함

 


 

11.소프트웨어 품질 표준(목표)
ㆍ정확성 : 사용자의 요구 기능을 충족시키는 정도
ㆍ신뢰성 : 정확하고 일관된 결과를 얻기 위하여 요구된 기능을 오류 없이 수행하는 정도
ㆍ효율성 : 자원의 낭비 정도
ㆍ무결성 : 허용되지 않는 사용이나 자료의 변경을 제어하는 정도
ㆍ사용 용이성 : 적절한 사용자 인터페이스와 문서를 가지고 있는 정도
ㆍ유지보수성 : 사용자의 기능 변경의 필요성을 만족하기 위하여 소프트웨어를 진화하는 것이 가능한정도
ㆍ이식성 : 다양한 하드웨어 환경에서도 운용 가능하도록 쉽게 수정될 수 있는 정도
ㆍ재사용성 : 이미 만들어진 프로그램을 사용하는 정도
ㆍ상호 운용성 : 다른 소프트웨어와 정보를 교환할 수 있는 정도

 

12. 위험 관리(Risk Analysis)

 

• 프로젝트 추진 과정에서 예상되는 각종 돌발 상황(위험)을 미리 예상하고 이에 대한 적절한 대책을 수립하는 일련의 활동이다.
• 소프트웨어 개발 시 일반적인 위험 요소에는 인력 부족,예산 관리, 일정 관리, 사용자 요구변경 등이 있으며,이 중 가장 대표적인 위험 요소는 사용자 요구 변경이다.
• 위험은 불확실성과 손실을 내재하고 있으며, 위험 관리는 이러한 위험의 불확실성을 감소시키고, 손실에 대비하는 작업이다.

 

 

 

13. 위험 관리의 절차
위험 식별 → 위험 분석 및 평가 → 위험 관리 계획 → 위험 감시 및 조치

 

 

14. 형상 관리

 

ㆍ형상(Configuration) : 소프트웨어 개발 단계의 각 과정에서 만들어지는 프로그램, 프로그램을 설명하는 문서, 데이터 등을 통칭함
ㆍ소프트웨어 형상 관리(S/W Configuration Management) : 소프트웨어 개발 과정의 변화되는 사항을관리하는 활동

 

 

15. 요구사항 분석의 어려움

 

-대화 장벽: 사용자와 개발자의 지식 배경의 다양화, 용어 불일치 등으로 의사소통 곤란

 

-시스템의 복잡도 : 소프트웨어 체계화를 위하여 새로운 개념이 필요해지고, 시스템 규모와 대상이 광범위해짐에 따라 난이도 증가에 의한 소프트웨어의 복잡화

 

-요구의 변경 : 사용자 생각의 부정확성, 생각의 반복된 변경

 

-요구 명세서화의 어려움 : 중복 현상, 애매모호함, 시험의 어려움, 과거와 다른 현재 상황 등의 내포에 따라 요구 명세서 작성이 어려움

 

 

 

16. 자료 흐름도(DFD ; Data Flow Diagram)
ㆍ요구사항 분석에서 처리 공정과 이들 간의 자료 흐름을 그래프 형태로 도형화하여 표현한 것
ㆍ자료 흐름도 구성 요소

 

기호 

의미 

표기법 

 프로세스
(Process)

 자료를 변환시키는 시스템의 한 부분(처리 과정)을 나타내며, 처리, 기능, 변환, 버블이라고도 함

 

 자료 흐름(Flow)

 자료의 이동을 나타냄

 

 자료 저장소
(Data Store)

 시스템에서의 자료 저장소(파일, 데이터베이스)를 나타냄

 

 단말
(Terminator)

 시스템과 교신하는 외부 개체로, 입력 데이터가 만들어지고, 출력 데이터를 받음(정보의 생산자와 소비자)

 

 

 

17. 자료 사전(DD)

 

ㆍ자료 흐름도에 있는 자료를 더 자세히 정의하고 기록한 것
ㆍ데이터를 설명하는 데이터를 메타 데이터(Meta Data)라고 함
ㆍ표기법

 

기호 

의미 

 -

 자료의 정의 : ~로 구성되어 있다(is composed of)

 +

 자료의 연결 : 그리고(and)

 ( )

 자료의 생략 : 생략 가능한 자료(Optional)

 [ | ]

 자료의 선택 : 또는(or)

 { }

 자료의 반복(Iteration of)

 * *

 자료의 설명 : 주석(Comment)

 

18. HIPO

 

• 시스템의 분석 및 설계나 문서화할 때 사용되는 기법으로 시스템 실행 과정인 입력, 처리, 출력의 기능을 나타낸다.

 

HIPO의 구성
ㆍ가시적 도표(Visual Table of Contents, 구조도) : 시스템의 전체적인 기능과 흐름을 보여주는 계층
(Tree) 구조도
ㆍ총체적 다이어그램(Overview Diagram, 개요 도표) : 프로그램을 구성하는 기능을 기술한 것으로 입력, 처리, 출력을 기술
ㆍ세부적 다이어그램(Detail Diagram, 상세 도표) : 총체적 도표에 표시된 기능을 구성하는 기본 요소들을 상세히 기술하는 도표

 

19. 결합도(Coupling)
ㆍ한 모듈과 다른 모듈 간의 상호 의존도 또는 두 모듈 사이의 연관 관계를 의미함
ㆍ독립적인 모듈이 되기 위해서는 각 모듈 간의 결합도가 약해야 하며, 의존하는 모듈이 적어야 함
ㆍ결합도의 종류

 

자료 

결합도 

스탬프

결합도 

제어

결합도 

외부

결합도  

공통(공유)결합도 

내용

결합도 

결합도 약합 <-----                                   -----> 결합도 강함

 

20. 응집도(Cohesion)
ㆍ모듈 안의 요소들이 서로 관련되어 있는 정도를 의미함
ㆍ모듈을 이루고 있는 각 요소들이 공통의 목적을 달성하기 위하여 얼마나 관련이 있는지의 기능적 연관의 정도를 나타냄
ㆍ응집도의 종류

 

우연적

응집도 

논리적

응집도 

시간적

응집도 

절차적

응집도 

교환적

응집도 

순차적

응집도 

기능적

응집도 

응집도 약합 <-----                                   -----> 응집도 강함

 

 

21. 효과적인 모듈화 설계 방안

 

• 결합도는 줄이고 응집도는 높여서 모듈의 독립성을 높인다.

• 모듈의 제어 영역 안에서 그 모듈의 영향 영역을 유지시킨다.
•복잡도와 중복성을 줄이고 일관성을 유지시킨다.
• 모듈의 기능은 예측이 가능해야 하며 지나치게 제한적이어서는 안 된다.
• 유지보수가 용이해야 한다.
• 모듈 크기는 시스템의 전반적인 기능과 구조를 이해하기 쉬운 크기로 분해한다.
• 하나의 입구와 하나의 출구를 갖도록 해야 한다.
• 인덱스 번호나 기능 코드들이 전반적인 처리 논리 구조에 예기치 못한 영향을 끼치지 않도록 모듈 인터페이스를 설계해야 한다.

 

 

22. 화이트박스 테스트(White Box Test)

 

ㆍ모듈 안의 작동을 자세히 관찰할 수 있으며, 프로그램 원시 코드의 논리적인 구조를 커버하도록 검사 사례(Test Case)를 설계하는 프로그램 테스트 방법
ㆍ논리 구조상의 오류, 세부적 오류, 반복문 오류, 수행경로 오류 등을 발견할 수 있으며, 자료 구조의 오류는 발견하지 못함

ㆍ종류 : 기초 경로 검사(Basic Path Test), 조건 검사(Condition Coverage), 데이터 흐름 검사(Data
Flow Test), 루프 검사(Loop Test)

 

 

23. 블랙박스 테스트(Black Box Test)

ㆍ소프트웨어 인터페이스에서 실시되는 검사로 설계된 모든 기능들이 정상적으로 수행되는지 확인함
ㆍ인터페이스 오류, 성능 오류, 부정확한 기능 등을 발견할 수 있으며, 논리 구조상의 오류는 발견하지 못함
ㆍ종류 : 동치(동등) 분할 검사(Equivalence Partitioning Testing), 경계값 분석(Boundary Value Analysis), 원인-효과 그래프(Cause and Effect Graphing Testing), 비교 검사(Comparison Testing)

 

24. 유지보수

 

• 개발된 소프트웨어의 품질을 항상 최상의 상태로 유지하기 위한 것으로 소프트웨어 개발 단계 중 가장 많은 노력과 비용이 투입되는 단계이다.
• 소프트웨어가 사용자에게 인수되고, 설치된 후 발생하는 모든 공학적 작업이다.
• 소프트웨어 유지보수를 용이하게 하려면 시험 용이성, 이해성, 수정 용이성, 이식성 등이 고려되어야 한다.
• 유지보수의 유형

 

수정(Corrective)
보수

 시스템을 운영하면서 검사 단계에서 발견하지 못한 잠재적인 오류를 찾아 수정하는 활동

적응(Adaptive)
보수

 소프트웨어의 수명 기간 중에 운영체제나 컴파일러와 같은 프로그래밍 환경 변화와 주변장치 또는 다른 시스템 요소가 향상되거나 변경될 때 기존의 소프트웨어에 반영하기 위하여 수행하는 활동

완전화
(Perfective)
보수

 - 소프트웨어의 본래 기능에 새로운 기능을 추가하거나 성능을 개선하기 위해 소프트웨어를 확장시키는 활동
- 유지보수 활동 중 가장 큰 업무 및 비용을 차지하는 활동

예방(Preventive)
보수 

 장래의 유지보수성 또는 신뢰성을 개선하거나 소프트웨어의 오류 발생에 대비하여 미리 예방 수단을 강구해 두는 활동

 

25. 객체지향 기법

 

ㆍ객체(Object) : 필요한 자료 구조와 이에 수행되는 함수들을 가진 하나의 소프트웨어 모듈로, 애트리 뷰트와 메소드로 구성됨
ㆍ애트리뷰트(Attribute) : 객체의 상태를 나타냄
ㆍ메소드(Method) : 객체가 메시지를 받아 실행해야 할 객체의 구체적인 연산의 정의한 것
ㆍ클래스(Class) : 하나 이상의 유사한 객체들을 묶어 공통된 특성을 표현한 데이터 추상화를 의미함
ㆍ메시지(Message) : 객체들 간의 상호 작용은 메시지를 통해 이루어짐

 

26. 객체지향 기법의 기본 원칙
ㆍ캡슐화(Encapsulation) : 데이터와 데이터를 조작하는 연산을 하나로 묶는 것을 의미함
ㆍ정보 은닉(Information Hiding) : 객체가 다른 객체로부터 자신의 자료를 숨기고 자신의 연산만을 통하여 접근을 허용하는 것을 의미함
ㆍ추상화(Abstraction) : 주어진 문제나 시스템 중에서 중요하고 관계있는 부분만을 분리하여 간결하고 이해하기 쉽게 만드는 작업을 의미함
ㆍ상속성(Inheritance) : 상위 클래스의 속성과 메소드를 하위 클래스가 물려받는 것을 의미함
ㆍ다형성(Polymorphism) : 많은 상이한 클래스들이 동일한 메소드명을 이용하는 능력을 의미함

 

 

26.럼바우(Rumbaugh)의 분석 기법

 

• 모든 소프트웨어 구성 요소를 그래픽 표기법을 이용하여 모델링하는 기법이다.
• 분석 활동은 객체 모델링, 동적 모델링, 기능 모델링순으로 이루어진다.

 

27. 소프트웨어의 재사용

 

ㆍ기존의 기능 및 품질을 인정받은 소프트웨어의 전체 혹은 일부분을 다른 소프트웨어 개발이나 유지에 사용하는 것
ㆍ특징

 

장점: 개발 시간과 비용 단축, 소프트웨어 품질 및 생산성 향상, 프로젝트 실패 위험 감
소, 시스템 구축 방법에 대한 지식 공유, 시스템 명세, 설계, 코드 등 문서 공유

 

단점 :

-어떤 것을 재사용할 것인지 선정해야 한다.
- 시스템에 공통적으로 사용되는 요소들을 발견해야 한다.
- 프로그램의 표준화가 부족하다.
- 새로운 개발 방법론을 도입하기 어렵다.
- 재사용을 위한 관리 및 지원이 부족하다.
- 기존 소프트웨어에 재사용 소프트웨어를 추가하기 어렵다.

 

 

 

28. 소프트웨어 재공학(Software Reengineering)
ㆍ소프트웨어의 위기를 해결하기 위해 개발의 생산성이 아닌 유지보수의 생산성으로 해결하려는 방법
ㆍ목표 : 유지보수성/생산성/품질 향상, 복잡한 시스템을 다루는 방법 구현, 다른 뷰의 생성, 잃어버린 정보의 복구 및 제거
ㆍ소프트웨어 재공학의 주요 활동 : 분석, 개조, 역공학, 이식

29. CASE(Computer Aided Software Engineering)
ㆍ소프트웨어 생명주기의 전체 단계를 연결시켜주고 자동화시켜주는 통합된 도구를 제공해주는 기술
ㆍCASE 사용의 이점 : 소프트웨어의 생산성 문제 해결, 개발 비용 절감, 개발 속도가 빠르고, 재사용성 향상, 소프트웨어 품질 향상, 유지보수 용이
ㆍCASE의 분류 : 통합 CASE, 상위 CASE, 하위 CASE

 

 

 

 

 

 

 

 

 

 

 

 

 

'IT > 자격증' 카테고리의 다른 글

산업기사 - 데이터베이스(1)  (0) 2017.05.16
정보처리기사 필기요약(5)  (0) 2017.01.05
정보처리기사 필기 요약(3)  (0) 2016.12.27
정보처리기사 필기 요약(2)  (0) 2016.12.27
정보처리기사필기 요약(1)  (0) 2016.12.19

3과목 운영체제

 

1. 시스템 소프트웨어의 구성

 

- 제어 프로그램(Control Program) : 시스템 전체의 작동 상태 감시, 작업의 순서 지정(스케줄링), 작업에 사용되는 데이터 관리, 인터럽트 처리 등의 역할을 수행하는 프로그램

감시 프로그램, 작업 제어 프로그램, 자료 관리 프로그램

 

처리 프로그램 : 제어 프로그램의 지시를 받아 사용자가 요구한 문제를 해결하기 위한 프로그램

• 언어 번역 프로그램, 서비스 프로그램, 문제 프로그램

 

2. 언어 번역 과정

 

원시 프로그램 →(컴파일러/어셈블러)→ 목적 프로그램 → (링커) →로드 모듈 → (로더) → 실행

 

3. 링커/ 로더

 

-링커

• 언어 번역 프로그램이 생성한 목적 프로그램들과 라이브 러리, 또 다른 실행 프로그램(로드 모듈) 등을 연결하여 실행 가능한 로드 모듈을 만드는 시스템 소프트웨어이다.
• 연결 기능만 수행하는 로더의 한 형태로, 링커에 의해 수행되는 작업을 링킹(Linking)이라 한다.

 

-로더

컴퓨터 내부로 정보를 들여오거나, 로드 모듈을 디스크 등의 보조기억장치로부터 주기억장치에 적재하는 시스템 소프트웨어

 

※로더의 기능

• 할당(Allocation) : 실행 프로그램을 실행시키기 위해 기억장치 내에 옮겨놓을 공간을 확보하는 기능
• 연결(Linking) : 부프로그램 호출 시 그 부프로그램이 할당된 기억장소의 시작주소를 호출한 부분에 등록하여 연결하는 기능
• 재배치(Relocation) : 디스크 등의 보조기억장치에 저장된 프로그램이 사용하는 각 주소들을 할당된 기억장소의실제 주소로 배치시키는 기능
• 적재(Loading) : 실행 프로그램을 할당된 기억공간에 실제로 옮기는 기능

 

※로더의 종류

• Compile And Go 로더 : 별도의 로더 없이 언어 번역 프로그램이 로더의 기능까지 수행하는 방식(할당, 재배치, 적재 작업을 모두 언어 번역 프로그램이 담당)
• 절대 로더(Absolute Loader) : 로더의 역할이 축소되어 가장 간단한 프로그램으로 구성되었으며, 목적 프로그램을 기억 장소에 적재시키는 기능만 수행하는 로더(할당 및 연결은 프로그래머가, 재배치는 언어 번역 프로그램이 담당)
• 직접 연결 로더(Direct Linking Loader) : 일반적인 기능의 로더로, 로더의 기능 4가지를 모두 수행하는 로더
• 동적 적재 로더(Dynamic Loding Loader) : 프로그램을 한꺼번에 적재하는 것이 아니라 실행 시 필요한 일부분만을 적재하는 로더로, Load-On-Call이라고도 함

 

4. 매크로와 매크로 프로세서

 

매크로(Macro)
ㆍ반복되는 코드를 한번만 작성하여 특정 이름으로 정의한 후 정의된 이름이 사용될 때 마다 작성된 코드를 삽입해서 실행하는 방법
ㆍ매크로 정의 내에 또 다른 매크로 정의를 할 수 있음

부프로그램(Sub-program)
ㆍ반복적으로 사용되는 코드를 별도의 프로그램으로 작성하여 필요할

대 호출하여 사용할 수 있도록 제작한 프로그램
ㆍ부프로그램과 매크로의 공통점 : 여러 번 중복되는 부분을 별도로 작성하여 사용함

매크로 프로세서(Macro Processor)의 기능
ㆍ매크로 정의 인식
ㆍ매크로 정의 저장
ㆍ매크로 호출 인식
ㆍ매크로 호출 확장

 

5.운영체제의 목적 및 역할
ㆍ사용자와 컴퓨터 시스템 간의 인터페이스 기능 제공
ㆍ자원의 효율적인 운영 및 자원 스케줄링
ㆍ데이터 공유 및 주변장치 관리
ㆍ처리 능력 및 신뢰성 향상
ㆍ응답시간과 반환시간 단축
ㆍ시스템 오류 처리

 

6. 운영체제의 운용 기법

 

일괄 처리 (BatchProcessing) 시스템

 

• 초기의 컴퓨터 시스템에서 사용된 형태로, 일정량 또는 일정 기간 동안 데이터를 모아서 한꺼번에 처리하는 방식
• 컴퓨터 시스템을 효율적으로 사용할 수 있
• 사용자 측면에서는 반환(응답) 시간이 늦지만 하나의 작업이 모든 자원을 독점하므로 CPU 유휴 시간이 줄어듦
• 급여 계산, 지불 계산, 연말 결산 등의 업무에 사용됨

 

다중 프로그래밍(Multi-Programming) 시스템

 

• 하나의 CPU와 주기억장치를 이용하여 여러개의 프로그램을 동시에 처리하는 방식
• 하나의 주기억장치에 2개 이상의 프로그램을 기억시켜 놓고, 하나의 CPU와 대화하면서 동시에 처리한다.

 

시분할 (Time Sharing)시스템

• 여러 명의 사용자가 사용하는 시스템에서컴퓨터가 사용자들의 프로그램을 번갈아가며 처리해 줌으로써 각 사용자에게 독립된 컴퓨터를 사용하는 느낌을 주는 것이며, 라운드 로빈(Round Robin) 방식이라고도함
• 여러 사용자가 각자의 단말장치를 통하여 동시에 운영체제와 대화하면서 각자의 프로그램을 실행함
• 하나의 CPU는 같은 시점에서 여러 개의 작업을 동시에 수행할 수 없기 때문에, CPU의 전체 사용 시간을 작은 작업 시간량 (Time Slice, Quantum)으로 나누어서 그 시간량 동안만 번갈아 가면서 CPU를 할당하여 각 작업을 처리함
• 다중 프로그래밍 방식과 결합하여 모든 작업이 동시에 진행되는 것처럼 대화식 처리가 가능함

 

다중 처리(Multi-Processing) 시스템
• 여러 개의 CPU와 하나의 주기억장치를 이용하여 여러 개의 프로그램을 동시에 처리하는 방식
• 하나의 CPU가 고장나더라도 다른 CPU를 이용하여 업무를 처리할 수 있으므로 시스템의 신뢰성과 안정성이 높음

실시간 처리(RealTime Processing)시스템
• 데이터 발생 즉시, 또는 데이터 처리 요구가 있는 즉시 처리하여 결과를 산출하는 방식
• 우주선 운행이나 레이더 추적기, 핵물리학 실험 및 데이터 수집, 전화 교환장치의 제어, 은행의 온라인 업무, 좌석 예약 업무, 인공위성, 군함 등의 제어 업무 등 시간에 제한을 두고 수행되어야 하는 작업에 사용됨

 

다중 모드 처리(Multi Mode Processing)

일괄 처리 시스템, 시분할 시스템, 다중 처리 시스템, 실시간 처리 시스템을 한 시스템에서 모두 제공하는 방식

 

분산 처리(Distributed Processing) 시스템
• 여러 개의 컴퓨터(프로세서)를 통신 회선으로 연결하여 하나의 작업을 처리하는 방식
• 각 단말장치나 컴퓨터 시스템은 고유의 운영체제와 CPU, 메모리를 가지고 있음

 

운영체제의 발달 순서 : 일괄 처리 → 다중 프로그래밍/다중 처리/시분할 처리/실시간 처리 → 다중 모드
→ 분산 처리

 

7. 프로세스(Process)의 정의
ㆍ현재 실행 중인 프로그램
ㆍPCB를 가진 프로그램
ㆍ프로세서(CPU)가 할당되는 실체
ㆍ프로시저가 활동 중인 실체
ㆍ비동기적 행위를 일으키는 주체

 

8. PCB(Process Control Block)

 

PCB : 운영체제가 프로세스에 대한 중요한 정보를 저장해 놓는 곳으로 각 프로세스가 생성될 때마다 고유의 PCB가 생성되고, 프로세스가 완료되면 PCB가 제거됨
• PCB에 저장되어 있는 정보 : 프로세스의 현재 상태, 프로세스 고유 식별자(PID), 스케줄링 및 프로세스의 우선순위, CPU 레지스터 정보, 각종 자원의 포인터

 

9. 프로세서 스케줄링의 종류

 

비선점(Non-Preemptive) 스케줄링

 

• 이미 할당된 CPU를 다른 프로세스가 강제로 빼앗아 사용할 수 없는 스케줄링 기법
• 프로세스가 CPU를 할당받으면 해당 프로세스가 완료될 때까지 CPU를 사용함
• 모든 프로세스에 대한 요구를 공정하게 처리할 수 있음
• 일괄 처리 방식에 적합하며, 중요한 작업(짧은 작업)이 중요하지 않은 작업(긴 작업)을 기다리는 경우가 발생 할 수 있음
• 응답 시간 예측이 용이함
• 종류 : FCFS(FIFO), SJF, 우선순위, HRN, 기한부 등의 알고리즘

 

선점(Preemptive)스케줄링

 

 

• 하나의 프로세스가 CPU를 할당받아 실행 하고 있을 때 우선순위가 높은 다른 프로세스가 CPU를강제로 빼앗아 사용할 수 있는 스케줄링 기법
• 우선순위가 높은 프로세스를 빠르게 처리할 수 있음
• 주로 빠른 응답시간을 요구하는 대화식 시분할 시스템에 사용됨
• 선점으로 인한 많은 오버헤드를 초래함
• 선점을 위해 시간 배당을 위한 인터럽트용 타이머클럭(Clock)이 필요함
• 종류 : SRT, 선점 우선순위, RR(Round Robin), 다단계 큐, 다단계 피드백 큐 등의 알고리즘

 

10. 비선점 기법
ㆍFIFO 스케줄링 : 준비상태 큐에 먼저 들어온 작업에게 CPU를 먼저 할당하는 기법
ㆍSJF 스케줄링 : 준비상태 큐에서 기다리고 있는 프로세스들 중에서 작업이 끝나기까지의 실행시간 추정치가 가장 작은 작업을 먼저 실행하는 기법
ㆍHRN 스케줄링 : 우선순위=(대기시간+서비스시간)/서비스시간
ㆍ기한부(Deadline) 스케줄링 : 제한된 시간 내에 반드시 작업이 완료되도록 하는 기법

 

11. 선점 기법
스케줄링 주어진 시간 ㆍRR : 할당량 안에 작업을 마치지 않으면 준비상태 큐의 가장 뒤로 배치됨
ㆍSRT 스케줄링 : 현재 실행 중인 프로세스의 남은 시간과 준비상태 큐에 새로 도착한 프로세스의 실행 시간을 비교하여 가장 짧은 실행 시간을 요구하는 프로세스에게 CPU를 할당함
ㆍ다단계 큐 스케줄링 : 프로세스를 특정 그룹으로 분류할 수 있을 경우 그룹에 따라 각기 다른 준비상태 큐를 사용하는 기법
ㆍ다단계 피드백 큐 스케줄링 : 여러 개의 준비상태 큐를 두어 낮은 단계로 내려갈수록 프로세스의 시간 할당량을 크게 하는 방식

 

12. 병행 프로세스
ㆍ임계 구역 : 다중 프로그래밍 운영체제에서 공유 자원에 대하여 한 순간에는 반드시 하나의 프로세스에 의해서만 자원 또는 데이터가 사용되도록 지정된 영역
ㆍ상호 배제 : 공유 자원을 어느 시점에서 단지 한 개의 프로세스만이 사용할 수 있도록 하며, 다른 프로세스가 공유자원에 대하여 접근하지 못하게 제어하는 기법
ㆍ동기화 : 세마포어, 모니터

 

13. 교착 상태(Deadlock)

 

상호 배제에 의해 나타나는 문제점으로, 둘 이상의 프로세스들이 자원을 점유한 상태에서 서로 다른 프로세스가 점유하고 있는 자원을 요구하며 무한정 기다리는 현상

 

교착상태 발생 조건
ㆍ상호 배제(Mutual Exclusion)
ㆍ점유와 대기(Hold and Wait)
ㆍ비선점(Non-Preemption)
ㆍ환형(순환) 대기(Circular Wait)

 

14. 교착 상태 해결 방법

 

• 예방(Prevention) 기법 : 교착 상태가 발생되지 않도록 사전에 시스템을 제어하는 방법으로, 교착 상태 발생의 4가지 조건 중에서 어느 하나를 제거(부정)함으로써 수행되며 일반적으로 자원의 낭비가 가장 심함

 

• 회피(Avoidance) 기법 : 교착 상태가 발생할 가능성을 배제하지 않고, 교착 상태가 발생하면 적절히 피해나가는 방법으로, 주로 은행원 알고리즘(Banker ’sAlgorithm)이 사용됨

 

• 발견(Detection) 기법 : 시스템에 교착 상태가 발생했는지 점검하여 교착 상태에 있는 프로세스와 자원을 발견하는 것으로, 자원 할당 그래프 등을 사용함

• 회복(Recovery) 기법 : 교착 상태를 일으킨 프로세스를 종료하거나 교착 상태의 프로세스에 할당된 자원을 선점하여 프로세스나 자원을 회복하는 것

 

15. 기억장치 관리 전략
ㆍ반입 전략 : 보조기억장치의 프로그램/데이터를 주기억장치로 언제 가져올 것인가를 결정
ㆍ배치 전략 : 보조기억장치의 프로그램/데이터를 주기억장치의 어디로 위치시킬 것인가를 결정

 최초 적합
(First Fit)

 프로그램이나 데이터가 들어갈 수 있는 크기의 빈 영역 중에서 첫 번째 분할 영역에 배치시키는 방법

 최적 적합
(Best Fit)

 프로그램이나 데이터가 들어갈 수 있는 크기의 빈 영역 중에서 단편화를 가장 작게 남기는 분할 영역에 배치시키는 방법

 최악 적합
(Worst Fit)

 프로그램이나 데이터가 들어갈 수 있는 크기의 빈 영역 중에서 단편화를 가장 크게 남기는 분할 영역에 배치시키는 방법

 

ㆍ교체 전략 : 주기억장치에 새로 배치될 프로그램을 위해 어떤 프로그램/데이터를 제거할지 결정

 

16. 페이지 교체 알고리즘

 

페이지 부재가 발생했을 때 가상 기억장치의 필요한 페이지를 주기억장치에 적재해야 하는데, 이때 주기억장치의 모든 페이지 프레임이 사용중이면 어떤 페이지 프레임을 선택하여 교체할지 결정하는 기법이다.

 

ㆍOPT(OPTimal replacement) : 앞으로 가장 오랫동안 사용되지 않을 페이지를 교체하는 기법(실현 가능성 희박)
ㆍFIFO(First In First Out) : 가장 오랫동안 주기억장치에 상주했던 페이지를 교체하는 기법
ㆍLRU(Least Recently Used) : 현 시점에서 가장 오랫동안 사용되지 않았던 페이지를 먼저 교체하는기법
ㆍLFU(Least Frequently Used) : 각 페이지들이 얼마나 자주 사용되었는가에 중점을 두어 참조된 횟수가 가장 적은 페이지를 교체하는 기법
ㆍNUR(Not Used Recently) : 최근에 참조되지 않은 페이지를 교체하는 기법으로, 최근의 사용 여부를 나타내기 위해서 두 개의 하드웨어 비트(참조 비트, 변형 비트)가 필요함
ㆍSCR(Second Chance Replacement) : 가장 오랫동안 주기억장치에 상주했던 페이지 중에서 자주 참조되는 페이지의 교체를 예방하기 위한 기법

 

17. 페이지 크기

 

※ 페이지 크기가 작을 경우

• 페이지의 단편화가 감소되고, 한 개의 페이지를 주기억장치로 이동하는 시간이 줄어듦
• 프로세스(프로그램) 수행에 필요한 내용만 주기억장치에 적재할 수 있고, Locality(국부성)에 더 일치할 수 있기 때문에 기억장치 효율이 높아짐
• 페이지 정보를 갖는 페이지 맵 테이블의 크기가 커지고, 매핑 속도가 늦어짐
• 디스크 접근 횟수가 많아져서 전체적인 입·출력 시간은 늘어남

 

※ 페이지 크기가 클 경우

 

• 페이지 정보를 갖는 페이지 맵 테이블의 크기가 작아지고, 매핑 속도가 빨라짐
• 디스크 접근 횟수가 줄어들어 전체적인 입·출력의 효율성이 증가함
• 페이지의 단편화가 증가되고, 한 개의 페이지를 주기억장치로 이동하는 시간이 늘어남
• 프로그램 수행에 불필요한 내용까지도 주기억장치에 적재될 수 있음

 

 

18.워킹 셋(Working Set)

ㆍ프로세스가 자주 참조하는 페이지의 집합
ㆍ자주 참조되는 워킹 셋을 주기억장치에 상주시킴으로써 스래싱 현상을 최소화할 수 있음

19.페이지 부재(Page Fault)

 

가상 페이지 주소를 사용하여 데이터를 접근하는 프로그램이 실행될 때, 프로그램에서 접근하려고 하는 페이지가 주기억장치에 있지 않은 경우 발생하는 현상

 

20. 순차 파일 / 색인 순차 파일

 

순차 파일(Sequential File)
• 레코드를 논리적인 처리 순서에 따라 연속된 물리적 저장공간에 기록하는 것이다.
• 급여 관리 등과 같이 변동 사항이 크지 않고 기간별로 일괄 처리를 주로 하는 경우에 적합하다.
• 주로 순차 접근이 가능한 자기 테이프에서 사용한다.
• 장점 : 파일의 구성 용이, 기억공간의 이용 효율 높음, 레코드를 기록할 때 사용한 키 순서대로 레코드를 처리할 경우 다른 편성법보다 처리 속도가 빠름, 처리비용 절감, 어떤 기억 매체든 실현 가능
• 단점 : 파일에 새로운 레코드를 삽입하거나 삭제하는 경우 파일 전체를 복사한 후 수행해야 하므로 시간이 많이 걸림, 검색 효율이 낮고, 접근 시간/응답 시간 느림

 

색인 순차 파일(Indexed Sequential File)
• 순차 파일과 직접 파일에서 지원하는 편성 방법이 결합된 형태이다.
• 각 레코드를 키 값 순으로 논리적으로 저장하고, 시스템은 각 레코드의 실제 주소가 저장된 색인을 관리한다.
• 레코드를 참조하려면 색인을 탐색한 후 색인이 가리키는 포인터(주소)를 사용하여 직접 참조할 수 있다.
• 기본 영역, 색인 영역, 오버플로 영역으로 구성되며, 색인 영역은 트랙 색인 영역, 실린더 색인 영역, 마스터 색인 영역으로 분류된다.
• 장점 : 순차 처리와 임의 처리가 모두 가능, 효율적인 검색 가능, 삭제, 삽입, 갱신이 용이함
• 단점 : 색인이나 오버플로 처리를 위한 추가 기억공간이 필요함, 접근 시간이 직접 파일보다 느림

 

21. 디렉토리 구조
ㆍ1단계 디렉토리 : 모든 파일이 하나의 디렉토리 내에 위치하여 관리되는 구조
ㆍ2단계 디렉토리 : 중앙에 마스터 파일 디렉토리가 있고, 그 아래에 각 사용자에게 할당하는 디렉토리가있는 구조
ㆍ트리 구조 : 하나의 루트 디렉토리에 여러 개의 서브 디렉토리로 구성된 구조
ㆍ비순환 그래프 구조 : 사이클이 허용되지 않는 구조
ㆍ일반 그래프 구조 : 트리 구조에 링크를 첨가시켜 사이클을 허용하는 구조

 

22. 보안의 요건
• 기밀성(Confidentiality, 비밀성) : 시스템 내의 정보와 자원은 인가된 사용자에게만 접근이 허용되며, 정보가 전송중에 노출되더라도 데이터를 읽을 수 없음
• 무결성(Integrity) : 시스템 내의 정보는 오직 인가된 사용자만 수정할 수 있음
• 가용성(Availability) : 인가받은 사용자는 언제라도 사용할 수 있음
• 인증(Authentication) : 시스템 내의 정보와 자원을 사용하려는 사용자가 합법적인 사용자인지를 확인하는 모든 행위를 말하며, 대표적인 방법으로는 패스워드, 인증용 카드, 지문 검사 등이 있음
• 부인 방지(NonRepudiation) : 데이터를 송·수신한 자가 송·수신 사실을 부인할 수 없도록 송·수신 증거를 제공함

 

23. 분산 처리 시스템

 

 자원 공유

각 시스템이 통신망을 통해 연결되어 있으므로 유용한 자원을 공유하여 사용할 수 있음 

연산 속도 향상 

하나의 일을 여러 시스템에 분산시켜 처리함으로써 연산 속도가 향상됨 

 신뢰도 향상

여러 시스템 중 하나의 시스템에 오류가 발생하더라도 다른 시스템은 계속 일을 처리할 수 있으므로 신뢰도가 향상됨 

 컴퓨터 통신

지리적으로 멀리 떨어져 있더라도 통신망을 통해 정보를 교환할 수 있음 

 

• 장점 : 통신 용이, 장치 공유, 데이터 공유, 중앙 컴퓨터 과부하 줄임, 컴퓨터의 위치를 몰라도 자원 사용 가능, 시스템의 점진적 확장 가능 등
• 단점 : 중앙 집중형 시스템에 비해 소프트웨어 개발이 어려움, 보안 문제 발생, 설계 복잡 등

 

24. 분산 시스템의 위상(Topology)에 따른 분류

ㆍ스타(Star)형 : 모든 사이트가 하나의 중앙 사이트에만 직접 연결된 구조
ㆍ링(Ring)형 : 각 사이트는 인접하는 다른 두 사이트와만 직접 연결된 구조
ㆍ다중 접근 버스 연결 구조(Multi Access Bus Connection) : 모든 사이트들이 공유 버스에 연결된 구조
ㆍ망(Network)형 : 각 사이트는 시스템 내의 모든 사이트들과 직접 연결되어 있는 구조
ㆍ트리(Tree)형 : 각 사이트들이 트리 형태로 구성되며, 루트 사이트와 서브 사이트가 존재함

 

25. UNIX의 특징

 

ㆍ시분할 시스템을 위해 설계된 대화식 운영체제
ㆍ소스가 공개된 개방형 시스템
ㆍ단순하고, 강력한 명령어를 제공함
ㆍ대부분 C언어로 작성되어 이식성과 확장성이 높음
ㆍ멀티유저 및 멀티태스킹을 지원함
ㆍ트리 구조의 파일 시스템

 

25. UNIX 시스템의 구성

커널(Kernel) 

•UNIX의 가장 핵심적인 부분
• 하드웨어를 보호(캡슐화)하고, 프로그램들과 하드웨어 간의 인터페이스 역할을 담당함
• 프로세스 관리, 기억장치 관리, 파일 관리, 입·출력 관리, 프로세스 간 통신, 데이터 전송 및 변환 등 여러 가지 기능을 수행함
• 컴퓨터 부팅 시 주기억장치에 적재되어 상주하면서 실행됨 

 쉘(Shell)

• 사용자의 명령어를 인식하여 프로그램을 호출하고, 명령을 수행하는 명령어 해석기
•시스템과 사용자 간의 인터페이스를 담당함
•DOS의 COMMAND.COM과 같은 기능을 수행함
• 주기억장치에 상주하지 않고, 명령어가 포함된 파일 형태로 존재하며 보조기억장치에서 교체 처리가 가능함
• 종류 : Bourne Shell, C Shell, Korn Shell 등 

유틸리티
(Utility) 

• 일반 사용자가 작성한 응용 프로그램을 처리하는데 사용함
•DOS에서의 외부 명령어에 해당 

 

26. UNIX 파일 시스템의 구조

 

• 부트 블록 : 부팅 시 필요한 코드를 저장하고 있는 블록
• 슈퍼 블록 : 전체 파일 시스템에 대한 정보를 저장하고 있는 블록으로 사용 가능한 I-node, 사용 가능한 디스크 블록의 개수를 알 수 있으며, File 시스템마다 각각의 슈퍼 블록을 가지고 있음
• I-node 블록 : 각 파일이나 디렉터리에 대한 모든 정보를 저장하고 있는 블록으로, 파일 소유자의 사용자 번호(UID) 및 그룹 번호(GID), 파일 크기, 파일 타입, 생성 시기, 최종 변경 시기, 최근 사용 시기, 파일의 보호권한, 파일 링크 수, 데이터가 저장된 블록의 시작 주소 등의 정보를 가지고 있음
• 데이터 블록 : 디렉터리별로 디렉터리 엔트리와 실제 파일에 대한 데이터가 저장된 블록

 

27. UNIX 주요 명령어

명령어 

의미 

mdir 

 디렉터리 삭제 

ls 

 현재 디렉터리 내의 파일 목록 확인

getpid

 자신의 프로세스 아이디를 얻음

getppid

 부모 프로세스의 아이디를 얻음

fork

 새로운 프로세스 생성(하위 프로세스 호출, 프로세스 복제)

exec

 새로운 프로세스 수행

&

 백그라운드 처리를 위해 명령의 끝에 입력

wait 

 fork후 exec에 의해 실행되는 프로세스의 상위 프로세스가 하위 프로세스 종료 등의 event를 기다림

exit

 프로세스 수행 종료

cat

 내용을 화면에 표시(DOS 명령 중 ‘TYPE’과 유사)

chmod

 파일의 사용 허가 지정

chown

 소유자 변경

mount

 파일 시스템을 마운팅(새로운 파일 시스템을 기존 파
일 시스템의 서브 디렉터리에 연결하는 것) 함

mkfs 

 파일 시스템 생성

chdir

 현재 사용할 디렉터리 위치 변경

fsck

 파일 시스템을 검사 및 보수하여 무결성을 검사 함

cp

 파일 복사

mv

 파일 이동 및 이름 변경

rm 

 파일 삭제

finger 

 사용자 정보를 표시함

 

 

'IT > 자격증' 카테고리의 다른 글

산업기사 - 데이터베이스(1)  (0) 2017.05.16
정보처리기사 필기요약(5)  (0) 2017.01.05
정보처리기사 필기요약(4)  (0) 2016.12.28
정보처리기사 필기 요약(2)  (0) 2016.12.27
정보처리기사필기 요약(1)  (0) 2016.12.19

2과목 전자계산기

 

01. 주요 논리회로 

 

 

02. 불대수의 기본 공식

 

  교환 법칙 : A+B=B+A, A · B= B · A

  결합 법칙 : A+(B+C)=(A+B)+C, A · (B · C)=(A · B) · C

  분배 법칙 : A · (B+C) = A · B + A · C, A+B · C = (A+B) · (A+C)

  먹등 법칙 : A+A=A, A · A= A

 

03. 반가산기(Half - Adder)

- 2개의 비트 X, Y 를 더한 합 S와 자리올림 C를 구하는 회로

- 1개의 XOR회로와 1개의 AND 회로로 구성

전가산기(Full - Adder)

- 3개의 입력과 2개의 출력

- 2개의 반가산기와 1개의 OR회로로 구성

 

04. 플립플롭

 

- 플립플롭은 전원이 공급되고 있는 한 , 상태의 변화를 위한 신호가 발생할 때까지 현재의 상태를 그대로 유지하는 논리회로이다.

 

- 플립플롭 1개가 1Bit를 구성하는 2진 셀(Binary Cell) 이 된다.

 

- 반도체 기억장치에서 2진수 1자리 값을 기억하는 메모리 소자이다.

 

- 플립플롭은 레지스터를 구성하는 기본소자이다.

 

- 기본적인 플립플롭은 2개의 NAND 또는 NOR 게이트를 이용하여 구성한다.

 

* RS 플립플롭

플립플롭의 기본으로 S와 R선의 입력을 조절하여 임의의 Bit 값을 그대로 유지시키거나 , 무조건 0또는 1의 값을 기억시키기 위해서 사용

 

*JK 플립플롭

 

- RS FF에서 S=R=1일 때 동작되지 않는 결점을 보완한 플립플롭

- RS FF의 입력선 S와 R을 JK FF의 입력선 J와 K로 사용함

- 모든 플립플롭의 기능을 포함함.

 

*D 플립플롭

 

- RS FF의 R선에 인버터(Inverter)를 추가하여 S선과 하나로 묶어서 입력선을 하나만 구성한 플립플롭

- 입력하는 값을 그대로 저장하는 기능을 수행함

 

*T 플립플롭

 

- JK FF의 두입력선을 묶어서 한개의 입력선으로 구성한 플립플롭

- T=0인 경우는 변화가 없고, T=1인 경우에 현재의 상태를 토글(Toggle)시킴. 즉 원 상태와 보수상태의 2가지 상태로만 서로 전환됨.

 

*매스터- 슬레이브(M/S)

 

- 출력 측의 일부가 입력 측에 궤한되어 유발되는 레이스현상을 없애기 위해 고안된 플립플롭

- 2개의 플립플롭으로 구성되는데, 한 쪽 회로가 마스터이고 다른 한 쪽이 슬레이브의 위치에 있어 마스터- 슬레이브 플립플롭이라함.

 

<RS 플립플롭>

S

Q(T+1) 

비고

 0 

 Q(T)

상태변화 없음 

항상 0

1

 항상 1

1

 동작안됨

 불가

 

<JK 플립플롭>

Q(T+1) 

비고 

Q(T) 

상태변화없음 

항상 0 

1

0

1

항상 1

1

1

보수

보수

 

<D 플립플롭>                            <T 플립플롭>

 

T

Q(T+1) 

Q(T)

D

Q(T+1)

0

0

1

1

 

 

 

 

 05. 자료 구성단위

 

- Bit : 정보 표현의 최소단위

- Nibble :  4Bit 구성문자

- Field : 정보의 논리적 표현의 최소단위

- n Bit로 표현 가능한 표현 가지수 :

 

 06. 음수의 표현과 표현 범위

 

종류 

표현 범위 

부호와 절대치 

부호와 1의 보수 

 

부호와 2의 보수 

 

 

 

 

06. 부동소수점 표현

 

- 부동 소수점 방식은 소수점이 포함된 실수 데이터의 표현과 연산에 사용하는 방식이다.

 

- 고정 소수점 방식으로 표현하는 것보다 매우 큰 수나 작은 수 , 매우 정밀한 수를 적은 비트로 표현할 수 있다.

 

- 고정 소수점 방식에 비해 연산 시간이 많이 걸린다.

 

- 지수부와 가수부를 분리하는 정규화 과정이 필요하다.

 

- 4Byte를 사용하는 단정도가 가수부를 4Byte 추가하여 좀 더 정밀하게 표현할 수 있는 8Byte배정도 표현법이 있다.

 

부동 소수점 수의 연산 방법

 * 덧셈, 뺄셈

1. 0인지의 여부를 조사한다.

2. 가수의 위치조정 : 두 자료의 지수를 비교한 후 소수점의 위치를 이동하여 지수가 큰 쪽에 맞춘다.

3.가수부값끼리 더하거나 뺀다.

4. 결과를 정규화한다.

 

* 곱셈

1. 0 인지 여부를 조사한다.

2. 지수를 더한다.

3. 가수를 곱한다.

4. 결과를 정규화한다.

 

* 나눗셈

1. 0인지의 여부를 조사한다.

2. 부호를 결정한다.

3. 피제수가 제수보다 작게 피제수의 위치를 조정한다.

4. 지수의 뺄셈을 한다.

5. 가수의 나눗셈을 한다.

 

 

07. 오류 검출/ 교정 코드

- 패리티 검사 코드 : 코드의 오류를 검사하기 위해서 Data Bit 외에 1Bit의 패리티 체크 비트를 추가함, 1Bit의 오류만 검출 가능

 

- 해밍 코드 : 오류 검출( 2Bit) 및 교정 (1Bit)이 가능한 코드로 1,2,4,8,16 · · · 2의 n승 번째 오류 검출을 위한 패리티 비트임.

 

 

08. 중앙처리장치의 구성

 

- 제어장치(Control Unit) : 주기억장치에 기억된 명령을 꺼내서 해독하고, 시스템 전체에 지시 신호를 내는 장치

 

- 연산장치(ALU : Arithmetic and Logic Unit) : 제어장치의 명령에 따라 실제로 연산을 수행하는 장치

 

- 레지스터(Register) : 컴퓨터의 중앙처리장치에서 사용되는 고속 메모리로, 처리에 필요한 내용을 일시적으로 기억하는 역할을 수행하며, 메모리 중에서 속도가 가장빠름. 

 

 

09. 레지스터의 종류

 

- 프로그램 카운터(PC: Program Counter) : 다음에 실행할 명령어의 주소를 기억하는 레지스터

 

-명령 레지스터 (IR: Instruction Register) : 현재 실행중인 명령을 기억하는 레지스터

 

- 메모리 주소 레지스터( MAR : Memory Buffer Register) : 기억장치에서 사용하는 데이터를 기억하는 레지스터

 

- 베이스 레지스터(Base Register) : 명령이 시작되는 최초의 번지를 기억하는 레지스터

 

- 프로그램 상태 레지스터(PSWR : Program Status Word Register) : 시스템 내부의 순간순가의 상태를 기록하고 있는 정보인 PSW(Program Status Word)를 저장하고 있는 레지스터

 

- 인덱스 레지스터(Index Register) : 주소 변경, 서브루틴 연결, 반복 연산 수행 등의 역할을 하는 레지스터

 

- 메이저 스테이트 레지스터(Major State Register) : CPU의 메이저 상태를 저장하고 있는 레지스터

 

 

10. 연산자의 4대 기능

- 함수 연산 기능

- 자료 전달기능

- 제어 기능

- 입/출력 기능

 

11. 명령어 형식

 

0- 주소 명령어

- Operand부가 없이 OP-code부만으로 구성됨(자료의 주소를 지정할 필요가 없음)

- 주소의 사용 없이 스택에 연산자와 피연산자를 넣었다 꺼내어 연산한 후 결과를 다시 스택에 넣으면서 연산하기 때문에 원래의 자료가 남지 않음.

 

1- 주소 명령어

- Operand부가 1개로 구성되며, 연산의 결과는 Operand 1에 기록됨.

- 여러개의 범용 레지스터를 가진 컴퓨터에 사용됨.

- 연산 이전의 데이터 일부를 기억하지 못함(Operand 1에 있던 원래의 자료가 파괴됨)

 

3- 주소 명령어

- Operand부가 3개로 구성되며, 연산의 결과는 Operand 3에 기록됨.

- 연산 후에 입력 자료가 변하지 않고 보존됨.

- 프로그램의 길이는 짧아지지만, 명령어 한개의 길이가 길어짐.

 

12.  접근 방식에 의한 주소지정 방식

 

* 묵시적 주소지정 방식(Implied Addressing Mode)

- Operand가 명령어에 묵시적으로 정의되어있는 경우

- 스택을 이용하는 0-주소 명령어에 사용됨.

 

* 즉시 주소지정 방식(Immediate Addressing Mode)

- 명령어의  Operand 부분에 데이터를 기억하는 방식

- 별도의 메모리에 접근하지 않고 CPU에서 곧바로 자료를 이용하므로 실행속도가 가장 빠름

- 메모리 참조횟수 : 0

 

* 직접 주소지정방식(Direct Addressing Mode)

- 명령어의 Operand 부분에 유효 주소 데이터가 있는 방식

- 메모리 참조 횟수 : 1

 

* 간적 주소지정 방식(Indirect Addressing Mode)

- 명령어의 Operand 부분에 실제 데이터의 위치를 찾을 수 있는 번지를 가지고 있는 방식

- 메모리 참조횟수 : 2회이상

 

 

13.  계산에 의한 주소지정 방식

 

* 절대 주소지정 방식(Absolute Addressing Mode)

- 기억 장치 고유의 번지로서 0,1,2,3 과 같이 16진수로 약속하여 순서대로 정해 놓은 번지인 절대 주소로 주소를 지정하는 방식

 

* 상대 주소지정 방식(Relative Addressing Mode)

- 유효주소 : 명령어의 주소 부분 + PC

 

* 베이스 레지스터 주소지정 방식(Base Register Addressing Mode)

- 유효주소 : 명령어의 주소 부분 + Base Register

- 베이스 레지스터(Base Register) : 명령이 시작되는 최초의 번지를 기억하고 있는 레지스터

 

* 인덱스 레지스터 주소지정 방식(Indexed Addressing Mode)

- 유효주소 :  명령어의 주소부분 + Index Register

- 인덱스 레지스터(Index Register) : 주소 변경, 서브루틴 연결, 반복 연산 수행 등의 역할을 하는 레지스터

 

14.  마이크로 오퍼레이션(Operation)

 

- 명령을 수행하기 위해 클록 펄스에 기준을 두고 CPU 내의 레지스터와 플래그의 상태 변환을 일으키는 동작

 

- 레지스터에 저장된 데이터에 의해서 이루어짐.

 

- 마이크로 오퍼레이션을 순서적으로 일어나게 하려면 제어신호가 필요함.

- 메이저 상태: 현재 cpu가 하고 있는 작업의 상태

- PSW(Program Status Word) : 시스템의 순간순간의 상태기억 

 

 

15.  메이저 스테이트 변천과정

 

 - 인출단계(Fetch Cycle), 간접단계 (Indirect Cycle), 실행단계(Execute Cycle), 인터럽트 단계(Interrupt Cycle)

 

16.ROM의 종류

- Mask ROM : 제조 공장에서 프로그램화하여 생산한 ROM으로, 사용자가 내용을 변경시킬 수 없음

 

-PROM(Programmable ROM) : PROM 프로그램 장치라는 특수 장비를 이용하여 비어 있는 ROM에 사용자가 한 번만 내용을 기입할 수 있으며, 이후엔 읽기만 가능함

-

-EPROM(Erasable PROM) :

• 자외선을 쏘여서 기록한 내용을 지울 수 있고, PROM 프로그램 장치로 기록할 수도 있음
• 사용자가 여러 번 반복해서 지우거나 기록할 수 있음
-EAROM(ErasableAlterable ROM) : 전기적 특성을 이용하여 기록된 정보의 일부를 바꿀 수 있는 ROM

- EEPROM(Electronic EPROM) : 전기적인 방법을 이용하여 기록된 내용을 여러 번 수정하거나 새로운 내용을 기록할 수 있는 ROM

 

 

17. RAM

 

 

 동적 램(DRAM)

 정적 램(SRAM)

 구성 소자

 콘덴서

 플립플롭

 특징

전원이 공급되어도 일정시간이 지나면 전하가 방전되므로 주기적인 재충전(Refresh)이 필요함

 

전원이 공급되는 동안에
는 기억 내용이 유지

 

전력 소모

적음

많음

접근 속도

느림

 빠름

집적도(밀도)

높음

낮음

가격

저가

고가

용도

일반적인 주기억장치

캐시 메모리

 

 

 

18.RAM/ROM의 용량 계산

 

ㆍ2워드의 수 × 워드의 크기
ㆍ워드의 수 = 입력 번지(주소)선의 수 = MAR = PC
ㆍ워드의 크기 = 출력 데이터선의 수 = Data Bus의 비트 수 = MBR = DR = IR

 

 19. 보조기억장치

 

 자기 디스크(Magnetic Disk)

ㆍ자성 물질을 입힌 금속 원판을 여러 장 겹쳐서 만든 기억장치
ㆍDASD(Direct Access Storage Device) 장치로서 순차적 또는 직접 접근이 가능함
ㆍ용량이 크고, 접근속도가 빠름
ㆍ데이터 접근 시간(Access Time) = Seek Time + Rotational Delay Time + Transmission Time

자기 테이프(Magnetic Tape)
ㆍ주소의 개념을 사용하지 않고, 처음부터 차례대로 처리하는 순차처리(SASD)만 할 수 있음
ㆍ대량의 자료를 장시간 보관하는 데 가장 유리한 장치

 

 

 

 20. 연관 기억장치( Associative Memory)

 

 기억장치에서 자료를 찾을 때 주소에 의해 접근하지 않고, 기억된 내용의 일부를 이용하여 접근할 수 있는 기억장치로, CAM(Content Addressable Memory)이라고도 한다.

주소에 의해서만 접근이 가능한 기억장치보다 정보 검색이 신속하다.

• 캐시 메모리나 가상 메모리 관리 기법에서 사용하는 Mapping Table에 사용된다.

• 외부의 인자와 내용을 비교하기 위한 병렬 판독 논리 회로를 갖고 있기 때문에 하드웨어 비용이 증가한다.

 

 

21. 복수 모듈 기억장치
ㆍ개별적으로 데이터를 저장할 수 있는 기억장치 모듈을 여러 개 가진 기억장치
ㆍ기억장소의 접근을 보다 빠르게 하여 주기억장치와 CPU의 속도 차의 문제점을 개선함
ㆍ메모리 인터리빙(Memory Interleaving) : 기억장소의 연속된 위치를 서로 다른 뱅크로 구성하여 하나의 주소를 통하여 여러 개의 위치에 해당하는 기억장소를 접근할 수 있도록 하는 방법

22. 캐시 메모리(Cache Memory)
ㆍCPU의 처리 속도와 주기억장치의 접근 속도 차이를 줄이기 위해 사용하는 고속 Buffer Memory
ㆍ주기억장치에서 미리 사용할 데이터를 CPU에 근접하는 속도를 가진 캐시 메모리에 기억시켜서 수행속도를 향상시킴

 

23. 가상 메모리(Virtual Memory)
ㆍ 기억용량이 작은 주기억장치를 마치 큰 용량을 가진 것처럼 사용할 수 있도록 하는 기법
ㆍ사용자는 프로그램의 크기에 제한 받지 않고 프로그램의 실행이 가능함
ㆍ보조기억장치로 DASD 장치(자기디스크)를 많이 사용함
ㆍ가상 메모리의 관리 기법 : 페이징(Paging) 기법, 세그먼테이션(Segmentation) 기법

 

24.입/출력의 제어방식

Programmed I/O
ㆍ필요한 I/O 완료 여부를 체크하기 위해 CPU가 상태 Flag를 계속 조사하는 방식
ㆍCPU에 의한 I/O라고도 함
ㆍI/O 작업 시 CPU는 계속 I/O 완료 여부를 체크해야 하므로 다른 작업을 할 수 없음

Interrupt I/O
ㆍCPU가 계속 Flag를 검사하지 않고 데이터가 준비되면 인터페이스가 CPU에 입·출력을 요구하고, 입·
출력 전송이 완료되면 CPU는 수행 중이던 프로그램으로 되돌아가서 수행을 재개하는 방식
ㆍCPU가 계속 Flag를 검사하지 않아도 되기 때문에 Programmed I/O보다 효율적임

DMA(Direct Memory Access)에 의한 I/O
ㆍ데이터 입·출력 전송이 CPU를 통하지 않고 직접 주기억장치와 주변장치 사이에서 수행되는 방식
ㆍCPU를 거치지 않고 메모리와 입·출력장치가 직접 통신하기 때문에 CPU에 부하가 증가되지 않으며, CPU의 상태 보존이 필요 없음
ㆍ대량의 데이터를 고속으로 전송할 때 유리한 방식

Channel에 의한 I/O
ㆍ채널(Channel) : 신호를 보낼 수 있는 전송로로써, 입·출력 장치와 주기억장치를 연결하는 중개 역할을 담당하는 부분
ㆍCPU의 도움 없이 입·출력 동작을 수행하도록 지시하고, 작업이 끝나면 CPU에게 인터럽트로 알려줌
ㆍ채널의 종류 : Selector Channel, Multiplexer Channel, Block Multiplexer Channel

 

 

25.인터럽트 수행 순서
① 인터럽트 요청 신호 발생
② 현재 수행 중인 명령을 완료하고, 상태를 기억시킴
③ 어느 장치가 인터럽트를 요청했는지 찾음
④ 인터럽트 취급 루틴 수행
⑤ 보존한 프로그램 상태 복귀

26.인터럽트 우선순위
전원 이상 > 기계 이상 > 외부 신호 > 입·출력 > 명령어 잘못 > 프로그램 검사 > SVC

'IT > 자격증' 카테고리의 다른 글

산업기사 - 데이터베이스(1)  (0) 2017.05.16
정보처리기사 필기요약(5)  (0) 2017.01.05
정보처리기사 필기요약(4)  (0) 2016.12.28
정보처리기사 필기 요약(3)  (0) 2016.12.27
정보처리기사필기 요약(1)  (0) 2016.12.19

1과목 데이터베이스

 

01. 정보시스템

- 자료(Data) : 현실 세계에서 관찰이나 측정을 통해 수집한 단순한 사실이나 결과 값으로, 가공되지 않은 상태

- 정보(Infomation): 의사 결정에 도움을 줄 수 있는 유용한 형태로, 자료를 가공(처리)해서 얻는 결과물

 

02. 데이터베이스(Database)의 정의

- 통합된 데이터(Integrated Data) : 자료의 중복을 배제한 데이터의 모임

- 저장된 데이터(Stored Data) : 컴퓨터가 접근할 수 있는 저장 매체에 저장된 자료

- 운영 데이터 (Operational Data) : 조직의 업무를 수행하는데 있어서 존재 가치가 확실하고 없어서는 안될 반드시 필요한 자료

- 공용 데이터(Share Data) : 여러 응용시스템들이 공동으로 소유하고 유지하는 자료

 

03. 데이터베이스(Database)의 특징

- 실시간 접근성(Real Time Accessibility) : 수시적이고 비정형적인 질의에 대하여 실시간처리에 의한 응답이 가능함.

- 계속적인 변화(Continuous Evolution) : 새로운 데이터의 삽입(Insertion), 삭제(Deletion), 갱신(Update)으로 항상 최신의 데이터를 유지함.

- 동시 공유(Concurrent Sharing) : 여러 사용자가 동시에 자기가 원하는 데이터를 이용할 수 있음.

- 내용에 의한 참조(Content Reference) : 데이터베이스에 있는 데이터를 참조할 때 데이터 주소나 위치에 의해서가 아니라 사용자가 요구하는 데이터 내용으로 데이터를 찾음.

 

04. DBMS의 필수 기능

정의(Definition) 기능

- 데의터의 형(Tyle)과 구조, 데이터가 DB에 저장될 때의 제약조건 등을 명시하는 기능.

- 데이터와 데이터의 관계를 명확하게 명세할 수 있어야 하며, 원하는 데이터 연산은 무엇이든 명세할 수 있어야함.

 

조작(Manipulation) 기능

- 데이터 검색, 갱신, 삽입, 삭제 등을 체계적으로 처리하기 위해 데이터 접근 수단 등을 정하는 기능

 

제어(Control) 기능

- 데이터베이스를 접근하는 갱신,삽입,삭제 작업이 정확하게 수행되어 데이터의 무결성이 유지되도록 제어해야 함.

- 정당한 사용자가 허가된 데이터만 접근할 수 있도록 보안을 유지하고 권한을 검사할 수 있어야함

- 여러 사용자가 데이터베이스를 동시에 접근하여 데이터를 처리할 때 처리 결과가 항상 정확성을 유지하도록 병행제어를 할 수 있어야함.

 

05. 스키마

- 외부 스키마 : 사용자 접근 측면 기술(전체 중 일부기술)

- 개념 스키마 : 논리적인 측면 기술(DB전체 기술)

- 내부 스키마 : 물리적 저장 기술

 

06. 데이터베이스 사용자

-단말 사용자 : 질의어나 응용프로그램을 사용하여 데이터베이스 접근

- 응용 프로그래머 : 응용 프로그램을 작성하여 데이터에 접근, 사용자 인터페이스 제공

- DBA : 데이터베이스의 생성과 모든 관리 운영에 대한 책임과 권한을 가짐

 

 

07. 데이터 모델의 구성 요소

-데이터의 구조(Structure) : 논리적으로 표현된 개체 타입들 간의 관계로서 데이터 구조 및 정적 성질을 표현함.

 

-연산(Operation) : 데이터베이스에 저장된 실제 데이터를 처리하는 방법을 표시하는 것으로서 데이터베이스를 조작하는 기본 도구.

 

- 제약조건(Constratint) : 데이터베이스에 저장될 수 있는 실제 데이터의 논리적인 제약조건을 표시함.

 

 

08. E-R 다이어그램 구성요소

 

- 사각형 : 개체

- 타원 : 속성

- 밑줄 타원 : 기본키 속성

- 마름모 : 관계

- 관계 : 1:1, 1:n, n:m등의 관계 유형

- 선,링크 : 개체와 속성의 연결, 개체간의 연결 

 

개념적 설계모델: 개체- 관계 (E-R)모델

 

09. 논리적 설계모델

- 관계 데이터 모델 : Table로 표현

- 계층 데이터 모델 : Tree로 표현

- 망 데이터 모델 : Graph로 표현

 

 

10. 데이터베이스의 설계 순서

 

(1) 요구조건 분석 : 요구조건 명세서 작성

(2) 개념적 설계 : 개념스키마, 트랜잭션 모델링, E-R모델

(3) 논리적 설계 : 목표 DBMS에 맞는 스키마 설계, 트랜잭션 인터페이스 설계

(4) 물리적 설계 : 목표 DBMS에 맞는 물리적 구조의 데이터로 변환

(5) 데이터베이스 구현: 특정 DBMS의 DDL로 데이터베이스 생성, 트랜잭션 작성

 

11. 관계 데이터 모델의 용어

 

릴레이션(Relation) 

- 2차원 구조의 테이블

- 릴레이션 스키마와 릴레이션 인스턴스로 구성.

 

속성(Attribute)

- 개체가 가지는 성질을 나타내며, 테이블의 각 열(Column)을 의미.

- 릴레이션 내에서 유일한 이름을 가지며, 속성들 간에는 순서가 X

- 속성 값은 논리적으로 더이상 분해할 수 없는 원자값이어야 함.

 

도메인(Domain)

- 하나의 속성이 취할 수 있는 범위

 

튜플(Tuple)

- 테이블의 각 행(Row)를 의미함

- 중복된 튜플이 존재하지 않으며, 튜플간의 순서는 없음

 

차수(Degree)

- 한 릴레이션에서의 속성의 수

 

카디널리티(Cardinality)

- 한 릴레이션에서의 튜플의 수

 

12. 무결성(Integrity)

-개체 무결성 : 한 릴레이션의 기본키를 구성하는 어떠한 속성값도 널 값이나 중복 값을 가질 수 없음.

- 참조 무결성 : 릴레이션은 참조할 수 없는 외래키 값을 가질 수 없음

- 영역 무결성 : 속성 값들은 정해진 범위 내에 있어야함.

 

13. 키 개념 및 종류

- 후보키(Candidate key) : 릴레이션에 있는 모든 튜플에 대해서 유일성과 최소성을 만족 시켜야함.

-기본 키(Primary key) : 후보키 중에서 선택한 주키, 한 릴레이션에서 특정 튜플을 유일하게 구별할 수 있는 속성

-대체키 (Altermate key) : 후보키가 둘 이상일 때 기본 키를 제외한 나머지 후보키들을 말함.

- 슈퍼키(Super key):  릴레이션을 구성하는 모든 튜플에 대해 유일성은 만족시키지만, 최소성은 만족시키지 못함.

-외래키(Foreign key): 릴레이션 간의 관계를 정의하는 키, 하위 릴레이션(참조 릴레이션) 에서 상위 릴레이션(피참조 릴레이션) 의 기본키를 외래키로 포함하게됨.

 

14. 널 값(Null Value)

- 아직 알려지지 않은 값 또는 모르는 값

- '해당 없음'의 이유로 정보 부재(Missing)을 나타내기 위해 사용하는 특수 데이터

 

 

15. 관계 대수

- 관계형 데이터베이스에서 원하는 정보와 그 정보를 어떻게 유도하는가를 기술하는 절차적 언어.

- 질의에 대한 해를 구하기 위해 수행해야 할 연산의 순서를 명시함.

 

16. 관계 해석

 

-질의어 형태로 원하는 릴레이션을 정의하는 방법을 제공하며, 수학의 Predicate Calculus 에 기반을 둠.

-원하는 정보가 무엇이라는 것만 정의하는 비절차적 언어의 특성을 지님.

 

17. SQL의 분류

- 데이터 정의어(DDL) :  CREATE, ALTER, DROP

- 데이터 조작어(DML) : SELECT, INSERT, DELETE, UPDATE

- 데이터 제어어(DCL) : GRANT, REVOKE

 

18. 뷰의 특징

- 사용자에게 접근이 허용된 자료만을 제한적으로 보여주기 위해 하나 이상의 기본 테이블로부터 유도된 가상 테이블이다.

- 뷰에 대한 검색은 기본 테이블과 동일하고, 뷰를 이용한 또 다른 뷰의 생성이 가능

- 뷰는 한 번 정의되면 변경할 수 없으므로 , 정의를 변경하려면 삭제하고 다시만들어야함.

 

 

 19. 시스템 카탈로그

- 시스템이 필요로 하는 모든 객체에 대한 정보를 가지고 있는 시스템 데이터베이스로 사용자 데이터베이스와 구별됨.

 

- 데이터 사전(Data Dictionary)이라고도 하며, 카탈로그에 저장된 데이터를 메타데이터(Meta Data)라고 함.

 

- 카탈로그 자체도 시스템 테이블로 구성되어 있어 일반 사용자도 SQL을 이용하여 검색해 볼 수 있음.

- 카탈로그의 정보를 INSERT, DELETE, UPDATE 문으로 카탈로그를 직접 갱신하는 것은 불가능.

- 사용자가 SQL문을 실행시켜 기본 테이블, 뷰, 인덱스 등에 변화를 주면 DBMS가 자동으로 카탈로그를 갱신

 

20. 이상의 개념과 종류

- 정규화를 거치지 않은 데이터베이스 내에 데이터들이 불필요하게 중복되어 릴레이션 조작시 발생하는 예기치 못한 곤란한 상황

- 속성들 간에 존재하는 여러 종속관계를 하나의 릴레이션에 표현하기 때문에 이상이 발생.

 

종류

- 삽입이상 : 데이터 삽입시 불필요한 데이터까지 함께 삽입되는 현상

- 삭제이상 : 한 튜플을 삭제함으로써 일어나는 연쇄 삭제 현상

- 갱신이상 : 튜플의 속성값을 갱신할 때 일부 튜플의 정보만 갱신되어 정보에 모순이 생기는 현상.

 

 

 

21. 정규화 과정

        

                     도메인이 원자값                    부분함수 종속 제거

 비정규 Relation --------------------> 제 1정규형----------------------->제 2정규형---

 

이행적 함수 종속 제거                  결정자이면서 후보키가 아닌 것 제거

------------------------>제 3정규형 ----------------------------------------> BCNF------

 

다치 종속 제거                    조인 종속성이용

------------------>제 4정규형------------------->제 5정규형

 

 

 

 22. 트랜잭션의 특성

- 원자성(Atomicity) : 트랜잭션은 완벽하게 수행되거나 전혀 수행되지 않아야함.

- 일관성(Consistency) : 트랜잭션 수행전과 트랜잭션 수행 완료 후가 같아야함.

-격리성(Isolation, 독립성) : 트랜잭션이 실행될 때마다 다른 트랜잭션의 간섭을 받지 않아야함.

- 영속성(Durability) : 트랜잭션이 일단 그 실행을 성공적으로 완료하면 그 결과는 영속적이어야함.

 

트랜잭션의 연산: Commit(완료), Rollback(복귀)

 

23. 병행제어

 

-로킹단위 작을 수록 로크의 수는 많아지고, 관리는 복잡해지며, 병행성수준은 높아진다.

- 로킹단위 클수록 로크의 수는 작아지고, 관리는 쉬워지며, 병행성 수준은 낮아짐.

 

24. 분산데이터베이스 장단점

 

장점:

  • 분산 데이터의 효과적처리와 데이터의 공유성 향상
  • 신뢰성, 융통성, 효율성, 가용성, 확장성 증가
  •  지역 특성에 맞는 H/W, S/W를 구축

단점:

  •  구현이 복잡하며, 소프트웨어 개발 비용과 처리비용의 증가
  • 잠재적 오류가 증가
  • 보안을 위한 추가 기술이 필요

25. 자료 구조의 분류

- 선형구조: 리스트(List), 스택(Stack), 큐(Queue), 데크(Deque)

- 비선형구조 : 트리(Tree), 그래프(Graph)

 

26. 이진 트리의 운행법

- 전위(Preorder) 운행법 : Root-> Left -> Right

- 중위(Inorder) 운행법 : Left ->Root->Right

- 후위(Postorder) 운행법 : Left ->Right->Root

 

 

27. 해싱(Hashing)

 

 -해시 테이블(Hash Table)이라는 기억공간을 할당하고, 해시함수(Hash Function)를 이용하여 레코드키에 대한 해시 테이블 내의 홈 주소를 계산한 후 주어진 레코드를 해당 기억장소에 저장하거나 검색 작업을 수행하는 방식

 

- 키 값으로 레코드가 저장되어 있는 주소를 직접 계산하여, 산출된 주소로 바로 접근하는 방법이며, 키-주소 변환 방법이라고도 함

 

- 검색 방법중 속도가 가장빠르지만, 기억공간이 많이 요구됨.

 

28. 파일조직 기법

 

 -순차 파일(Sequenctial File) : 입력되는 데이터의 논리적인 순서에 따라 물리적으로 연속된 위치에 기록하는 방식으로 , 처리속도가 빠르고 저장 매체의 공간 효율이 좋지만 검색시에 불편하다.

 

- 색인 순차파일(Indexed Sequential File) : 키 값에 따라 순차적으로 정렬된 데이터를 저장하는 데이터 영역과 이 지역에 대한 포인터를 가진 색인 영역으로 구성된 파일로서, 기본영역, 색인 영역, 오버플로우 영역으로 구성됨.

 

- VSAM 파일(Virtual Storage Access Method File) : 동적 인덱스 방법을 이용한 색인 순차 파일로서, 기본 데이터 영역과 오버플로우 영역을 구분하지 않음.

 

-직접 파일(Direct File) : 특정 레코드에 접근하기 위해서 디스크의 물리적 주소로 변환할 수 있는 함수인 해싱 함수를 사용하며, 시간이 빠르고, 랜덤 처리에 적합하나 메모리 효율이 떨어짐.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

'IT > 자격증' 카테고리의 다른 글

산업기사 - 데이터베이스(1)  (0) 2017.05.16
정보처리기사 필기요약(5)  (0) 2017.01.05
정보처리기사 필기요약(4)  (0) 2016.12.28
정보처리기사 필기 요약(3)  (0) 2016.12.27
정보처리기사 필기 요약(2)  (0) 2016.12.27

+ Recent posts