Computer Science Basic

1. 전기 신호를 기억하자.

플립플롭

플립플로은 순서 논리 회로를 구성하는 기본 기억 소자로 1비트를 기억할 수 있다.

JK 플립플롭

J K 상태

0 0 상태 변화 없음

0 1 무조건 0인 상태로 변화

1 0 무조건 1인 상태로 변화

1 1 내부 상태의 반전

D 플립플롭

JK플립플롭에서 아래 두가지 속성만 구현한 플립플롭

J K 설명

0 1 무조건 0인 상태로 변화

1 0 무조건 1인 상태로 변화

레지스터

플립플롭은 1비트만 표현하는 기억소자인데 이들을 병합시켜서 여러비트를 저장할 수 있는 레지스터를 만든다.
여기서 D플립플롭을 주로 사용

2. 전기 신호가 문자가 되다.

위 플립플롭, 레지스터를 활용해서 저장되어진 전기적 신호들을 문자로 표현하기 위해 테이블을 구성.

BCD 코드

EBCDIC 코드

ASCII 코드

유니코드

패리티 코드

7비트를 실제 데이터로 사용하고 1비트를 에러검출용 데이터로 사용. 짝수 패리티 코드라면 8비트 내부에 1의 개수가 짝수개가 되도록 에러검출 비트의 데이터를 넣는다. 만약 실제 사용시 이 8비트의 1의 개수가 홀수개가 들어왔다면 오류가 생겼다는 의미. 오류가 2개나는 케이스는 실제 드물기 때문에 활용도가 높다.

3. 전기 신호 전문가 등장 배경.

명령어

operand 개수에 따라서 명령어 구조의 형태를 분류할 수 있다. 세부적으로 CPU 마다 이 명령어의 매핑 테이블은 다르기 때문에 개념적으로만 언급.

0-주소 명령어, 1-주소 명령어, 2-주소 명령어

주소 지정

간접주소, 직접주소

4. 전문가 프로세서의 등장.

프로세서

CISC (Complex Instruction Set Computer)

  • 명령어의 개수가 120 ~ 350개로 많다.
  • 명령어의 길이가 16 ~ 64 비트로 가변적.
  • 메모리 참조 연산을 주로 사용
  • 마이크로프로그램 제어방식을 주로 사용

RISC (Reduced Instruction Set Computer)

  • 명령어의 길이가 32비트로 고정
  • 명령어의 개수도 100개 미만으로 적다.
  • 레지스터 참조 연산을 많이 한다.

레지스터

PC : Program Counter
다음 명령어의 주소 값을 기억하고 있는 레지스터이다.

MAR : Memory Address Register
메모리에 접근하려고 할 때 접근하고자 하는 곳의 주고 값을 기억하고 있는 레지스터이다.

MBR : Memory Buffer Register
주기억 장치에서 정보를 읽을 때 읽은 정보를 기억시키거나 주기억 장치에 정보를 기억시키는 레지스터.

IR : Instruction Register
현재 수행하고 있는 명령어를 기억하는 레지스터.

ACC : Accumulator
연산기능 수행 시 중심이 되는 데이터 레지스터로서 연산 장치에 연결되어 있다.

PSWR : Program Status Word Register = Flag Register

프로그램의 수행이 진행되고 있을 때 매 순간마다 프로그램으 ㅣ수행 상태를 포함하는 중앙 처리 장치으 ㅣ상태를 나타내느 레지스터 (메이저 사이클의 F,R 플래그도 여기에 소속될 듯)

….

프로세서 사이클 (메이저 사이클)

명령어 인출 -> 명령어 해독 -> 오퍼랜드 인출 -> 실행 -> 인터럽트 조사

5. 폰노이만 구조의 등장 (메모리의 필요성)

현대의 CPU는 데이터를 처리하는 동작으로 모듈화되어있다. 데이터를 저장하는 것은 필수적인 레지스터만 가지고 있다. 데이터들은 시대가 흘러가면서 점점 커지고 많아지는데 이런 것들을 저장해야하는 필요성이 있음
메모리와 프로세서의 구조가 구분됨 폰노이만 구조 실제는 앨런튜링이 이 구조를 고안함.

메모리 계층

위로갈수록 빠르고, 비쌈, 용량이 작음 아래로 갈수록 느리고 쌈, 용량이 큼

레지스터

캐시

주 기억 장치

보조 기억 장치

캐시 기억장치

CPU와 메인 메모리 사이에 사용되며 가격이 비싼편
메인 메모리와 CPU 속도 차이를 개선하기 위해 사용
두 객체 사이의 일종의 버퍼 기능을 수행
기억잧치의 접근 시간을 줄여 컴퓨터 처리 속도 향상
CPU에서 실행 중인 프로그램과 데이터를 기억

가상 메모리

소프트웨어 적으로 구현됨
주소 공간의 확대가 목적
가상 주소를 실제 주소로 매핑하는 과정이 필요.

사상 : 가상 기억 장치에 있는 내용을 어떤 일정 단위로 분류하여 이 단위의 내용이 실기억 장치의 어느 위치에 있는지를 알아내는 방법.
페이징 : 가상 기억 장치에 있는 내용을 어떤 일정한 단위로 분류할 때 분류 단위가 똑같은 크기일 떄를 페이징기법이라고 함
페이지 폴트 : 주 기억장치에 없는 페이지가 참조될 때 생기는 인터럽트로, 페이티 폴트가 발생하면 CPU가 하던 일을 중단하고 해당 페이지를 주기억 장치로 옮겨놓는 인터럽트 작업을 먼저 수행하게 된다.
스래싱 : 보조 기억 장치의 페이지 접근 횟수가 많아서 작업 수행 시간 보다 페이징 교체 시간이 많아지는 경우. 적중률이 떨어진다는 의미지

6. 입출력 (외부 장치들)

CPU-메모리의 영역과 입출력 영역의 차이점

동작 속도 : 가장 중요한 차이점으로 입출력 장치는 기계적인 동작이 필요하기 때문에 전자적으로 동작하는 CPU-메인 메모리 영역에 비해서 속도가 상당히 느리다. -> 이를 개선하기 위해서 여러 입출력 인터페이스를 사용. 그 중 하나가 DMA
정보 단위, 에러 발생률

DMA (Direct Memory Access)

기본적인 컴퓨터 구조는 메모리에서 데이터를 CPU로 Fetching 하고 처리한 다음 결과를 외부 장치에 출력하거나 입력시키는 구조로 중앙처리장치가 항상 끼어있는데
CPU의 작업량을 줄이기 위해서 외부 장치들이 CPU를 거치지 않고 바로 메인메모리와 통신하는 구조를 의미.

CPU를 경유하지 않는다.
직접 기억장치와 입출력 장치 사이에서 전송이 이루어진다.

인터럽트

인터럽트의 필요성은 중앙 처리 장치와 주변 장치의 차이에 따른 효율적인 시스템 자원의 활용과 기계적 장애로 인하여 실행하던 프로그램을 완료하지 못하였을 때, 처음부터 다시 하지 않고 중단된 위치로 복귀되어 이상 없이 계속해서 프로그램이 진행되도록 하는데에 있다.

인터럽트의 원인
정전, 데이터 전달 과정의 오류, 기계 장치의 장애
타이머, 외부 프로세스 등의 요청
컴퓨터 조작원의 의도적인 동작
보호된 기억 공간의 접근, 블법적인 명령어의 수행
0으로 나누기, Overflow/Underflow 발생
페이지 폴트, 캐시미스 발생
입출력 장치에서 CU에게 기능 요청시
SVC 인터럽트

7. CPU, 메인메모리, 입출력의 총 관리 프로그램 운영체제의 등장.

정의

하드웨어를 제어하는 소프록 하는 프로그램
컴퓨터를 편리하게 사용하고 하드웨어를 효율적으로 사용할 수 있도록 하는 프트웨어.
하드웨어를 활용할 수 있도록 펌웨어나 소프트웨어로 만들어진 프로그램
컴퓨터 본체 및 각 주변 장치를 가장 능률적이고, 경제적으로 사용할 수 있도로그램.

목적

컴퓨터 시스템의 처리량, 신뢰성을 최대화
사용자와 컴퓨터 시스템과의 인터페이스 제공.
주변 장치를 관리
CPU, 메모리 사용을 효율적으로 하기 위해서 스케줄링 (라운드로빈 같은거)

운영체제의 세부 구조

마이크로프로그램 : ROM, PROM에 영구히 기록되는 프로그램을 말하는 것으로 보통 펌웨어를 말한다.
기계어 : 기계어는 0과 1로 표시되며 실행할 명령, 데이터, 기억장치 주소드을 포함한다. 하드웨어를 직접 실행시킬 수 있는 형태로 구성되며 컴퓨터의 모든 하드웨어를 제어하기 위한 다양한 비트 형식의 명령어가 존재.
제어 프로그램(커널) : 하드웨어를 제어하는 프로그램을 ㅗ메모리, CPU, 단마리, 프린터 등 시스템의 자원 활용도를 높이기 위해 스케줄링과 자료 관리를 하는 핵심 요소.
명령어 해석기(쉘) : 사용자 명령을 입력받아 시스템 기능을 수행하는 명령 해석기로서 사용자와 시스템 간의 인터페이스를 담당하는 프로그램.
어셈블러 : 어셈블리어로 작성된 원시 프로그램을 목적 프로그램으로 변환
컴파일러 : 고급 언어로 작성된 원시 프로그램을 목적 프로그램으로 변환
인터프리터 : 고급 언어로 작성도니 원시 프로그램을 실행하되 목적 프로그램은 만들지 않고 대화식으로 처리 (바로 해석하고 결과를 반환함. 목적 프로그램을 만들지는 않음)
로더 : 프로그램을 실행하기 위해서 보조 기억장치에 있는 데이터를 주기억장치로 가져온다.

프로세스 개념

파일로 작성된 프로그램은 로더에 의해 주기억 장치에 상주되어 CPU에 의해서 처리된다.
이떄 주기억 장치에 상주된 프로그램이 CPU에 의해서 처리되는 상태를 프로세스라고 한다.

CPU에 의해서 현재 실행되고 있는 프로그램이다.
PCB의 존재로서 명시되는 것.
프로세서가 할당되는 개체로서 디스패치가 가능한 단위.
CPU가 할당되는 실체
운영체제가 관리하는 최소 단위의 작업이다.

프로세스 상태

실행, 준비, 대기

스풀링, 버퍼링

스풀링 : 프로그램과 이를 이용하는 I/O 장치와의 속도 차를 극복하기 위한 장치로 대부분 하드 디스크가 중재한다.
버퍼링 : CPU와 입출력 장치와의 속도 차이를 줄이기 위해 메모리가 중재한다. 버퍼링은 한 레코드를 읽어서 CU가 그것에 대한 작업을 시작함과 동시에 입출력 장치가 필요한 레코드를 미리 읽어 CPU에 저장해 두고 CU가 필요한 레코드를 읽기 위해 기다리는 일이 없도록 한다.

문맥 교환(Context Switching)

다중 프로그래밍 시스템에서 CPU가 할당되는 프로세스를 변경하기 위하여 현재 CPU를 사용하여 실행되고 있는 프로세서의 상태 정보를 저장하고 제어권을 인터럽트 서비스 루틴에게 넘기는 작업을 문맥 교환이라고 한다.

프로그램 실행 : 인터럽트 발생
프로그램 중단 : 현재 처리 중인 프로그램 잠시 중단.
문맥 교환 : 두 개의 프로그램 정보 교환
인터럽트 처리 : 새롭게 실행된 프로그램 처리
인터럽트 서비스 루틴 : 새롭게 실행된 프로그램의 부가적인 서비스 루틴 수행
프로그램 중단 부분 재실행 : 중단되었던 기존에 프로그램 실행

오버헤드

프로세스의 실행을 위한 부가적인 활동을 오버헤드라고 하는데 이 또한 문맥 교환 수와 같이 늘어나게 된다. 정리하면 다음과 같다.
시간 할당량이 적어지면 : 문맥 교환수 , 인터럽트 횟수, 오버헤드가 증가하지만 여ㅑ러 개의 프로세스가 동시헤 수행되는 느낌을 가진다.
시간 할당량이 커지면 : 문맥 교환수, 인터럽트 횟수, 오버헤드가 감소하지만 여러 개의 프로세스가 동시에 수행되는 느낌을 가지지 못한다.

PCB (프로세스 제어 블록)

프로세스 식별자 : 프로세스들을 구분할 수 있는 태그, 명칭, 고유 이름이다.
프로세스 현재 상태 : 프로세스의 현재 상태 (준비, 실행, 대기 상태)를 기억
프로그램 카운터(계수기) : 다음에 실행되는 명령어의 주소를 기억
….

CPU 스케줄링

CPU 성능 평가 기준

처리 능력 (Throughput) : 단위 시간당 처리할 수 있는 CPU의 작업량이다. 처리 능력은 최대한 늘린다.
대기 시간 (Waiting Time) : 준비 상태에서 대기하는 시간. 대기 시간은 최소화 해야한다.
응답 시간 (Response Time) : 입력에 대해 처음 반응하는 시간이다. 응답 시간은 최소화해야 한다.
반환 시간 (Tur-around Time) : 작업을 지시하고 그 결과가 되돌아오는 시간이다. 반환시간은 최소화해야한다.

비선점형
프로세스가 CPU에 할당되면 권한을 뺴앗을 수 없다.
일괄 처리 방식에 적당.
FIFO, SJF, HRN, 우선순위, 기한부 방식이 비선점형 방식에 속한다.
문맥 교환이 적어 오버헤드가 적다.

선점형
프로세스가 CPU에 할당되면 우선순위가 높으면 빼앗을 수 있다.
일괄 처리 방식에 부적당하다.
대화형, 시간 분할 ,실시간 시스템에 적당하다.
RR, SRT, MFQ 방식이 선점형에 속한다.
문맥 교환이 많아서 오버헤드가 많다.

FIFO (First In First Out) : 먼저 입력된 작업을 먼저 처리하는 방식.
SJF (Shortest Job First) : 작업이 끝나기까지의 실행 시간 추정치가 가장 작은 작업을 먼저 실행시키는 방식으로 비선점 방식.

- 에이징 기법 : 무한 연기 문제를 해결하기 위해서 오랜 기간 기다린 프로세스에게 상대적으로 높은 우선순위를 부여한다.

RR (Round-Robin) : 프로세스 스케줄링 방법 중 시분할 시스템을 위해 고안되었으며 여러 개의 프로세스가 10 ~ 100msec 정도의 시간 할당량이라는 작은 단위 시간이 정의되어 시간 할당량만큼씩 CPU를 사용하는 방법.
만약 할당 시간을 점점 적게 한담ㄴ 문맥 교환 횟수가 증가하므로 그만큼 전체적인 스셑ㅁ 실행 속도가 늦어지기 때문에 시스템의 특성에 맞는 적절한 할당 시간의 배정이 중여하다.

병행 프로세스와 교착상태

임계구역

여러 개의 프로세스가 공동으로 사용하는 CPU, 메모리, 디스크, 입출력 장치들을 임계 구역이라고 할 수 있다. 여러 프로세스들이 접근할 수 있고 그에 따른 충돌, 불일치 문제가 발생할 수 있기 때문.

임계 구역의 원칙
두 개 이상의 프로세스가 동시에 사용할 수 없다.
순서를 지키면서 신속하게 사용한다.
하나의 프로세스가 독점해서는 안된다.
사용 중에 중단, 무한 반복되어서도 안된다.
인터럽트가 불가능한 상태로 만들어져야 한다.

프로세스 간 데이터 전달 (프로세스 통신)
프로세스 끼리 데이터를 공유할 떄 Shared memory 방법을 활용할 수 있는데. 이 때 하나 이상의 기억 장소를 공유하게 되면서 순차적으로 사용한다면 프로세스 간에 공유 기억 장솔르 통해 통신 할 수 있게 된다. 이렇나 공유 기억 장솔르 임계 구역이라 할 수있다.

상호 배제
임 계 구역을 어느 시점에서 단지 한 개의 프로세스 만이 사용할 수 있도록 하는 것.
알고리즘은 인터럽트 불능 처리, 잠금, 엄격한 교대, TSL, 세마포어 등이 존재.

교착상태 (Dead-lock)

스래싱

보조기억장치에서 주기억장치를 데이터를 가져올 때 데이터가 없어서 지속 페이지 폴트 발생하는 경우 시스템 성능이 저하되는데 이러한 경우를 스래싱이라고 표현한다.

구역성

프로그램이 실행할 때 기억 장치 내의 모든 정보를 균일하게 참조하는 것이 아니라 어느 한 순간에 특정 부문으로 집중적으로 참조하는 프로그램의 순차적인 성질이다. 한번 호출된 자료나 명령은 곧바로 다시 사용될 가능성을 말한다.

페이지 교체 전략

메인메모리의 공간이 가득 찾을 때 새로운 페이지가 들어오면 이를 교체시키고 사용해야한다. 이 때 어떤 데이터를 교체시킬지에 대한 정책들이다.

FIFO (First In First Out)
LRU(Least Recently Used)
LFU(Least Frequesntly Used)

비밀키

암호화 키와 복호화 키가 같다.
해독키의 비밀성이 보호되어야 한다.
DES 알고리즘이 대표적

공개키

암호화 키와 복호화 키가 다른 키를 사용한다.
RSA 알고리즘이 대표적.

스레드

프로세스 내부에 있는 개념.

단일 프로세스를 다수의 스레드로 생성하여 병행성을 증진시킬 수 있다.
싱행환경을 공유시켜서 기억 장소의 낭비가 줄어든다.
프로세스의 생성이나 문맥 교환의 비용을 줄여서 다중처리시 성능을 보다 향상시킬 수 있다.
프로세스 내부에 포함되는 스레드는 공통적으로 접근 가능한 기억 장치를 통해 효율적으로 통신한다.
하나의 프로세스에 여러 개의 스레드가 존재할 수 있다.

DFD (Data Flow Diagram)

자료가 소프트웨어 내의 각 절차를 따라 흐르면서 변하는 과정을 도형화시키는 방법이다.
사용자 요구를 넓은 시각에서 분석하는 도구로 설계 단계에서 기본적으로 사용된다는 점에서 가장 많이 사용하는 방법.

외부 입출력 직사각형
처리 과정 원
자료 흐름 화살표
자료 저장소 두 줄

객체지향 기술의 용어

클래스
하나 이상의 유사한 객체들을 묶어 공통된 특성을 표현한 데이터 추상화를 의미. 객체들이 갖는 속성과 적용 연산을 정의하는 툴이다.

인스턴스
어떤 클래스에 속하는 구체적이 객체를 의미하며 클래스로 정의된 객체의 요소로 객체의 복사본이라고 할 수 있다.

어트리뷰트
객체에 존재하는 함수들이 동작하게 될 경우 같은 객체에 존재하는 자료구조의 값을 변경하게 되는데, 자료 구조의 변경된 값을 통해 객체의 상태를 파악하게 된다.

메서드
객체지향의 기본 개념 중 객체가 메시지를 받아 실행해야 할 객체의 구체적인 연산을 정의한 것

상속성
상속은 상위클래스가 가지는 속성과 연산을 그대로 물려받는 것을 의미. 상속을 통한 가장 중요한 이점은 클래스와 객체를 재사용할 수 있는 능력이 생긴다는 것.

다형성
같은 상위 객체에서 상속받은 여러 개의 하위 객체들이 다른 형태의 특성을 가지는 객체로 이용될 수 있는 성질.

화이트박스 검사 VS 블랙박스 검사

화이트 박스

모듈 안의 작동을 직접 관찰.
프로그램 모듈의 논리적 구조를 체계적으로 점검하는 구조 검사.
원시 코드의 모든 문장을 한번 이상 수행함으로써 진행되는 검사이다.
프로그램 원시 코드의 논리적인 구조를 커버하도록 테스트 케이스를 설계한다.

블랙박스 검사.
저품의 각 기능이 완전히 작동되는 것을 입증하는 검사.
설계된 모든 기능들이 정상적으로 수행되는지 확인하는 검사.
입력 대비 출력이 정확하게 생성되는지를 보여주는데에 사용.

DTE (Data Terminal Equipment)

사용자 인터페이스 장비로 터미널이라고 한다. 정보 통신 시스템을 사람이 접근하여 사용하는 장비로
전화기, 컴퓨터, 팩시밀리, 휴대폰 등이 있다.

모뎀 (Modulator-Demodulater)

디지털 데이터 -> 아날로그 신호로 변환시키는 장비.
인터넷 보급이 덜 되었을 때 데이터를 공중 전화망(PSTN) 으로 주고 받기 위해서 이 장비를 많이 사용했따.
무선통신은 아날로그 통신이기 때문에 모뎀 부분이 존재함.
모뎀의 신호 변환 방식
ASK (Amplitude Shift Keying )
진폭을 다르게 하여 특정 진폭은 1로 보고 특정 진폭은 0으로 보고 변환. 평균 300bps

FSK (Frequency Shift Keying)
디지털 데이터의 1과 0을 주파수의 주기 수를 다르게 하여 전송하는 방식. 평균 1,200bps

PSK (Phase Shift Keying)
디지털 데이터의 1과 0을 다른 위상으로 보내어 전송하는 방식 4,800bps

4위상 PSK -> 00, 01, 10, 11을 4가지의 다른 위상으로 보냄(0도, 90도, 180도, 27도)
한번에 2비트의 데이터를 보내기 때문에 PSK의 2배 속도

8위상 PSK -> 000, 001 … 111을 8가지의 다른 위상으로 보냄.
한번에 3비트의 데이터를 보내기 때문에 PSK의 3배 속도.

16위상 PSK -> …

M위상 PSK -> …

QAM (Quadrature Amplitude Modulation)
ASK + PSK

DSU (Digital Service Unit)

네트워크 간에 서로 다른 디지털 신호를 사용하기 때문에 신호 변환을 위해 사용하는 네트워크 연결 장비.
디지털 데이터를 디지털 통신망을 이용하여 전송되도록 디지털 신호로 변환하는 장비.

종류 : RZ, NRZ, 바이폴라

CODEC (Coder-Docoder)

아날로그 데이터를 디지털 신호로 변환
아날로그 데이터는 디지털 신호와 다르게 연속적인 데이터이기 때문에 쪼개질 수 없고, 무한하다.
이를 디지털로 표현하가 위해서 PCM 변조를 한다.

PCM

표본화(Sampling) -> 양자화(Quantization) -> 부호화(Encoding) -> 복호화(Decoding) -> 필터링
보통 최대 주파수의 2배 기준으로 표본화를 한다.
표본화된 하나의 PAM 신호를 부호화 할 때 표본당 전송 비트가 4비트이면 양자화 스텝은 16개가 필요, 8비트면 256 스텝이 필요하다.
양자화된 표본 펄스의 진폭 값을 디지털 신호 1, 0으로 조합하는 변환단계.
부호화 과정에서는 인접한 부호간 1비트만 변화하는 Gray Code를 가장 많이 사용.

전송 방향

단방향 전송 (Simplex)
한쪽 방향으로만 데이터 전송이 이루어지는 방식으로 TV, 라디오, 델렉스, 원격 측정등이 예이다.

양방향 전송 (Duplex)
양쪽 방향에서 데이터 전송이 이루어지는 방식.

반이중 전송 (Half-Duplex)
한쪽에서 데이터 전송이 되면 다른 한쪽에서는 전송이 끝나기를 기다리는 방식을 무전기가 여기에 속한다.

전이중 전송 (Full-Duplex)
양쪽에서 동시에 데이터 전송이 되는 방식으로 전화나 비디오텍스(Videotex) 등이 있다.
또한 전이중 전송이 가능하다면 단방향, 반이중 전송도 가능하다.

HDLC

FLAG + ADDRESS + CONTROL + INFORMATION + FCS + FLAG

FLAG
프레임 구조의 앞과 뒤를 구분하는 비트 열로서 ‘01111110’으로 구성

ADDRESS
상대국이나 복합국의 주소를 지정할 때 사용하는 블록으로 기본적으로 8비트를 사용하며 8바이트까지 확장 가능.

CONTROL
I-프레임, S-프레임, U-프레임

비트 위주 프레임이다.
전송 방향 단방향, 반이중, 전이중 모두 사용 가능
회선 연결은 점 대 점, 멀티포인트, 루프 모두 사용 가능
오류 제어 방식은 연속적 ARQ
동기식 전송.

오류 검출 방식

패리티 방식, Checksum, 해밍코드

공유 회선 점유 방식

CSMA/CD, 토큰링

이더넷

라우팅 프로토콜

RIP(Routing Information Protocol)
OSPF

LAN

동일 빌딩 내 또는 한정된 지역 내 등 비교적 좁은 지역에 분산 배치된 컴퓨터와 프린터 등의 단말기를 통신 회선으로 연결하여 각종 정보를 교환할 수 있는 통신 네트워크이다.

LAN 전송 매체

UTP, STP 케이블
한 케이블에는 8가닥의 전선이 들어있는데 이 전기적 간섭 현상을 줄이기 위해서 전선들이 꼬여있다.
가격이 저렴하고 설치가 간편한 이점을 가진 반면, 내구성이 약하다.

Share