본문 바로가기
728x90

데이터베이스

순수관계연산자

SELECT

릴레이션에 존재하는 튜플 중에서 선택 조건을 만족하는 튜플들의 부분집합을 구하여 새로운 릴레이션을 만듦

릴레이션의 행에 해당하는 튜플들을 구하는 것이므로 수평 연산이라 한다

PROJECT

주어진 릴레이션에서 속성 리스트에 제시된 Attribute만 추출하는 연산

릴레이션의 열에 해당하는 Attribute만 추출하는 것이므로 수직 연산이라 함

JOIN

공통 속성을 중심으로 2개의 릴레이션을 하나로 합쳐서 새로운 릴레이션 생성

(일부 속성 추출, 중복 튜플 제거, 새로운 릴레이션)

DIVISION

X ⊃ Y인 2개의 릴레이션에서 R(X)와 S(Y)가 있을 때 R의 속성이 S의 값을 모두 가진 튜플에서 S가 가진 속성을 제외(분리)한 속성만을 구하는 연산

전자계산기구조

UNPACK 연산

연산 불가능, 데이터 입출력에 사용

1바이트로 10진수 1자리 표현

최하위 바이트위 zone 부분을 부호로 사용 (양수C, 음수D, 부호 없는 양수F)

4개의 zone비트(1111)와 4개의 숫자 비트 사용

PACK 연산

연산 가능

데이터 입출력 불가능

1바이트로 10진수 2자리 표현

최하위 4비트를 부호로 사용

Interrupt Cycle

돌발 상태(Interrupt State) 예기치 못한 상황으로 하드웨어로 실현되는 서브 루틴의 호출

DRAM

Flip-Flop이라는 쌍안정 논리 회로로 구성된 셀에 비트 데이터를 저장한다

SRAM에 비해 기억 용량이 크다

주기억 장치 회로 구성에 사용된다

SRAM에 비해 속도가 느리다

마이크로 연산

ADD

① MAR ← MBR[AD]

② MBR ← M[MAR]

③ AC ← AC+MBR

LDA(load to AC)

① MAR ← MBR[AD]

② MBR ← M[MAR], AC ← 0

③ AC ← AC+MBR

STA(store to AC)

① MAR ← MBR[AD]

② MBR ← AC

③ M(MAR) ← MBR

BSA(Branch and Save Return Address)

① MAR ← MBR[AD], MBR[AD] ← PC, PC ← MBR[AD]

② M[MAR] ← MBR[AD]

③ PC ← PC+1

전가산기 구성

두 개의 반가산기 + 한 개의 OR 게이트

메모리 할당

워드 단위로 할당된다면, PC(Program Counter)와 MAR(Memory Address Register)는 $log_2(words)$ 개

메모리에서 가져온 내용들을 저장하는 MBR(Memory Buffer Register)는 워드 크기와 같음

I/O 처리 방식

프로그램에 의한 I/O

CPU가 상태 Flag를 계속 조사하여 처리하는 방식

Interrupt I/O

flag 검사를 하지 않고 입/출력 인터페이스가 CPU에게 인터럽트 신호를 보내서 알리는 방식

신호를 감지한 CPU가 프로그램을 중단하고 입출력 처리 진행 후 다시 원래 작업으로 돌아온다

채널에 의한 I/O

CPU 관여 없이 입출력 전용 프로세서(IOP)인 채널을 이용하는 방식

DMA 확장 개념으로 볼 수 있음

CPU와 독립적으로 동작하고 채널은 CPU와 인터럽트로 통신함

누산기 accumulator

연산장치에 있는 레지스터 하나로 연산 결과를 일시적으로 기억하는 장치

주기억장치 내에 존재하는 회로로 가감승제 계산 및 논리연산을 행하는 장치

일정한 입력 숫자들을 더하여 그 누계를 항상 보관하는 장치

multiplexer, demultiplexer 개수 구하기

Multiplexer 개수 = $log_2(입력선)$

Demultiplexer 개수 = $log_2(출력선)$

 

운영체제

절대로더

프로그래머가 지정한 주소로 주기억 장치에 적재하는 기능을 가진 간단한 로더

프로그래머나 컴파일러가 명시한 주소에 배치함

특징

재배치 및 링크 기능 없음

프로그래머가 절대 주소를 기억해야 함

다중 프로그래밍 방식에서는 사용할 수 없음

작업 분담

링크: 프로그래머

기억 장소 할당: 프로그래머

재배치: 어셈블러

적재: 로더

쉘-커널 특징

사용자가 운영체제의 서비스를 사용할 수 있도록 사용자의 입력을 기반으로 프로그램을 실행해 주는 역할

커널과 사용자 사이의 인터페이스 역할

하드웨어에 액세스하기 위해선 시스템 콜이라는 작업을 수행해야 함

커널 쉘로부터 전달받은 명령을 기계가 이해할 수 있는 언어로 변환하여 CPU, I/O, 메모리 등 다양한 리소스에 접근해 주는 역할

OS 외부 계층에 속해 있다

교착상태 발생 조건

Mutual Exclusion

1인용 화장실은 둘이 사용할 수 없다

Hold and wait

1개뿐인 세면대가 빌 때까지 기다린다. 세면대에서는 화장실이 비워질 때까지 기다린다

Non Preemption: 선점할 수 없음

대기 중인 작업이 모두 같은 중요도를 가진다면 뺏을 수 없음

Circular Wait 순환 대기

사용 가능한 자원을 이용하면서 다음 순서를 기다린다

Unix 파일 시스템 구조

Boot block 부팅에 필요한 코드 저장

Super block 전체 파일 시스템에 대한 정보 저장

i-node (index-node) block 각 파일이나 디렉토리에 대한 모든 정보를 저장

데이터 블록 디렉토리별로 디렉토리 엔트리와 실제 파일에 대한 데이터 저장

파일 구성 방식 - ISAM(Indexed Sequential Access-Method)의 물리적인 색인(index) 구성

트랙 색인 영역

각 실린더마다 하나씩 만들어짐

실린더 색인 영역

각 파일당 하나씩 만들어짐

마스터 색인 영역

실린더 색인이 많을 경우 일정한 크기의 블록으로 구성하고 해당 레코드가 어느 실린더 색인 영역에 있는지 나타내는 영역

소프트웨어공학

NS차트 (Nassi-Schneiderman chart)

논리적 기술에 중점을 두고 도형을 이용한 표현 방법

화살표가 없고, 입구와 출구가 하나

If-then-else 구조, do while 구조, do until 구조를 시각적으로 보기 쉽게 표현하여 구성, goto 사용 불가

이해하기 쉽고 코드 변환 용이

연속, 선택, 반복 등의 제어 논리 구조 표현

Rumbaugh 모델링 상태도, 자료흐름도

객체모델링(정보모델링) 객체 다이어그램으로 표시

동적모델링 상태도를 이용하여 시간의 흐름에 따른 객체들 간의 동적인 행위를 표현

기능모델링 자료흐름도를 이용하여 프로세스들 간의 자료흐름을 중심으로 처리과정을 표현

화이트박스 검사로 찾을 수 있는 오류

화이트박스 검사 내부 소스 코드를 확인하며 의도한 설계 흐름에 따라 코드가 실행되는지, 실행 흐름에서 벗어나 불필요한 코드는 없는지 살펴봄

ex) 논리 흐름도, 루프 구조, 순환 복잡도

블랙박스 검사 내부 코드를 보지 않고 사용자 요구사항 시점에서 기능이 잘 작동하는지 살펴봄

인터페이스 오류, 입력값에 목표 결과값이 나오는지 등

ex) 자료 구조

소프트웨어 생명 주기

유지보수 단계에서 가장 많은 비용이 소모된다…

COCOMO Constructive Cost Model

보헴이 제안한 것으로 원시코드 라인 수에 의한 비용 산정 기법

산정 결과는 프로젝트를 완성하는 데 필요한 man-month로 나타난다

비용 견적의 유연성이 높아 소프트웨어 개발비 견적에 널리 통용됨

프로젝트 개발 유형에 따라 organic, semidetached, embedded 모델 존재

소프트웨어 품질 목표

효율성 Efficiency 사용자가 요구하는 기능을 할당된 시간 동안 한정된 자원으로 얼마나 빨리 처리할 수 있는지 정도

사용성 Usability 사용자와 컴퓨터 사이에 발생하는 어떠한 행위에 대하여 사용자가 정확하게 이해하고 사용하며, 향후 다시 사용하고 싶은 정도

신뢰성 Reliability 소프트웨어가 요구된 기능을 정확하고 일관되게 오류 없이 수행할 수 있는 정도

기능성 Functionality 소프트웨어가 사용자의 요구사항을 정확하게 만족하는 기능을 제공하는지 여부

데이터통신

ARP

네트워크에서 두 호스트가 성공적으로 통신하기 위하여 각 하드웨어의 물리적인 주소 문제를 해결해 줄 수 있다

목적지 호스트의 IP 주소를 MAX 주소로 바꾸는 역할을 한다

ARP 캐시를 사용하므로 캐시에서 대상이 되는 IP 주소의 MAC 주소를 발견하면 이 MAC 주소가 통신을 위해 사용된다

주소 결정 프로토콜로 IP(3계층-네트워크 계층)를 MAC(2계층-데이터 링크 계층)로 대응시킬 때 사용하는 프로토콜

TTL(주소의 유효기간) 값이 0이 되면 해당 주소는 폐기된다

양자화 과정 - PCM

PCM은 코덱의 기술로, 표본화 → 양자화 → 부호화 → 복호화 → 여파화 과정

이때, 양자화 단계에서 PCM 펄스의 아날로그 값과 양자화된 PCM 펄스의 디지털 값의 차이(오차)를 양자화 잡음이라 한다.

양자화 잡음은 PCM극 장치에서 발생하고, 전화나 핸드폰 통화 시 상대방의 음성이 실제 음성과 차이가 나는 현상!

IP 주소 클래스

A Class 0 ~ 127 (0.0.0.0 ~ 127.255.255.255)

B Class 128 ~ 191 (128.0.0.0 ~ 191.255.255.255)

C Class 192 ~ 223 (192.0.0.0 ~ 233.255.255.255)

D Class 224 ~ 239 (224.0.0.0 ~ 239.255.255.255)

E Class 240 ~ 255 (240.0.0.0. ~ 255.255.255.255)

회선 교환망 방식 Circuit-Switched

송수신 단말장치 사이에서 데이터를 전송할 때마다 통신 경로를 설정하여 데이터를 교환하는 방식

공간 분할 방식과 시분할 방식으로 구분된다

통신할 때마다 매번 통신 경로를 설정하고, 통신 중에 전송제어절차, 정보의 형식 등에 제약이 없어 비교적 원거리 통신에 적합

전용 전송로로 전송하기 때문에 독점 사용, 주변의 트래픽의 영향을 받지 않아 중간에 회선이 끊어지는 일은 없음

728x90

개발자 호소인