2013년 12월 2일 월요일

SCSI에 관하여

1. SCSI

SCSI는 Small Computer System Interface를 의미한다. SCSI 아키텍쳐는 지난 몇 년간 계속 진화되어 왔다. 특히 SCSI-3가 출현하면서 SCSI의 본래의 정의는 퇴색해 버렸다. SCSI가 처음으로 출시되었던 1980년대 초에는 컴퓨터와 컴퓨터 주변기기의 주류가 아니었었고, 이 당시에는 본래 정의가 잘 맞았었다. 여타 훌륭한 표준과 마찬가지로 SCSI는 계속해서 컴퓨터에 제공하는 옵션이 늘어나는 것과 박자를 맞추기 위해서 진화를 거듭해왔고, 현재 가정용 PC와 고사양의 웍스테이션에서 요구하는 성능과 안정성에 대한 늘어가는 수요를 맞춰오고 있다.

SCSI 자체는 주변기기(디스크, 테이프 드라이브, CD-ROM)을 컴퓨터에 SCSI 컨트롤러를 통해서 연결하기 위한 표준화된 메카니즘이다. 조금 더 자세하게 설명하자면 이것은 수많은 토폴로지와 인터페이스를 지원하는 광범위한 명령어 세트를 의미한다. 이것은 마치" SCSI 하드 디스크를 SCSI 컨트롤러를 꽂는 방법"에서 "Fibre channel. FireWire, Ultra, Ultra2, Fast & Wide의 차이를 알고 싶어 하는 것"의 레벨 차이, 즉 컴퓨터에 SCSI 가 그냥 옵션중의 하나가 아닌, 엔지니어링의 레벨에서의 차이라고 할 수 있겠다.

2. SCSI의 종류
SCSI라고 해도 규격과 성능에 따라 많은 종류가 있습니다. SCSI-1-->SCSI-2-->SCSI-3의 순으로 규격화가 이루어 졌고, 현재 판매되고 있는SCSI카드와 SCSI장비는 이중 하나의 규격에 준거하고 있습니다. 주요 특징은 데이터 전송 속도가 SCSI-1<SCSI-2<SCSI-3 순으로 속도가 빠르고 새로운 SCSI규격은 이전 규격과 완벽하게호환이 되고 있다는 것입니다. 예를 들면 SCSI-3규격의 SCSI카드에서 SCSI-2, SCSI-1규격의 주변장치를 사용할 수 있습니다.

1) Single Ended
이것은 SCSI 버스의 한 종류이다. 이전에는 대부분의 장치가 Single-ended 방식이었다. 이 종류는 6m 길이의 버스를 허용하는 SCSI-1 프로토콜의 제약을 받는다. 이 버스 길이는 장치의 내부의 케이블의 길이도 포함하는 수치이다.

2) LDifferential
이 SCSI 버스와 SCSI 장치는 두 번째 와이어를 사용해서 버스를 통해 신호를 전달하는 데 사용한다. 이 추가된 와이어는 SCSI 장치를 최고 25 미터까지 버스 길이를 허용한다. 이 장치들은 Single ended 장치와 호환되지 않는다.

3) Fast SCSI
Fast SCSI는 기존 SCSI의 버스 타이밍을 5MHz에서 10MHz로 향상시킨 것이다. 그렇게 함으로서 이론적으로 버스 전송속도를 10MB/s로 두 배로 끌어 올렸다.

4) Ultra SCSI
버스 속도를 더욱 향상시킨 것이다. Ultra SCSI는 20MHz로 버스 속도를 향상 시켜 전송율을 20MB/s로 끌어 올렸다.

5) Wide SCSI
Wide SCSI는 두 번째 케이블을 사용하거나 혹은 68 핀 케이블을 사용해서 버스의 성능을 높였다. 버스 폭이 16비트이냐 32비트이냐에 따라서 다른 SCSI 버스에 비해서 두 배, 혹은 네 배의 성능을 제공한다

6) Wide Ultra SCSI
Wide Ultra SCSI는 더 넓은 데이터 경로와 Wide SCSI에서 사용된 68핀 케이블을 이용해서 전송속도를 40MB/s까지 끌어올린 것이다.


3. SCSI 컨넥터의 종류

SCSI의 컨넥터에도 몇몇 종류가 있다. CD-ROM과 하드 디스크 같은 내장형 장치의 경우 EIDE와 비슷한 모습의 리본 케이블을 사용하여 연결한다. SCSI 리본 케이블과 EIDE 케이블의 차이는 핀 배열 뿐만아니라 스펙도 다리고, 컨텍터도 물론 다르다. 표준 EIDE 케이블은 40개의 핀과 와이어로 구성된다. (ATA66의 경우 40개의 핀과 80개의 와이어를 사용한다.) 내장 SCSI 리본 케이블의 경우 어떤 종류의 SCSI 버스를 사용하는가, 어떤 종류의 장치를 연결하는가에 따라서 다르다. 현재 많이 접할 수 있는 종류는 50핀, 68 핀과 80핀 짜리이다.

외장형 장치의 컨텍터의 경우 적용된 SCSI의 종류에 따라서 다르다. 이전의 Sun Microsystems의 경우 DD-50SA 컨넥터를 사용했는데, 이것은 3줄의 핀이 있고 1번 핀이 오른쪽 상위에 위치해 있다. 핀 번호는 1번에서 왼쪽으로 지그 재그 모양으로 배열되어 있고 좌측 하단에 마지막 핀인 50번이 있다.


새로운 SCSI-2가 호환되는 장치의 경우 마찬가지로 50핀을 사용하지만 2줄로 구성되어 있으며 왼쪽 상단의 1번에서 시작하여 2번째 줄의 좌측 핀이 50번 핀이다.

아직까지는 많은 수의 장치들이 Centronics 컨넥터를 사용한다. 이 컨넥터들은 병렬 포트 케이블, 컨넥터와 비슷하게 생겼지만 위의 컨넥터와 비슷하게 좌측 상단의 1번부터 우측 하단의 50번까지의 핀을 사용한다.

그리고 마지막으로 새로운 장치(SCSI-3와 Wide SCSI-3 기술을 적용한것)는 고밀도의 68핀 컨넥터를 사용한다.


4. SCSI 연결

새롭게 SCSI를 접해보는 사용자들이 가장 많이 궁금해하는 2가지 부분이 버스 터미네이션과 SCSI ID이다. SCSI ID는 SCSI 버스의 각 SCSI 장치에 부여되는 번호들이다. 이것은 사용되는 SCSI에 따라서 0번부터 15번까지 사용할 수 있다. 대부분의 호스트 어댑터들은 자신의 ID가 7로 부여되서 출고된다. 각 장치에는 고유의 ID를 부여해야 하며 그렇지 않을 경우 해당 장치를 사용할 수 없다. 주변기기의 ID는 점퍼와 스위치로서 대부분 설정 가능하다.


1) SCSI ID
주변 장치를 연결할 때는 SCSI ID설정이 필요합니다. 연결된 여러대의 주변 장치(최대 7대)를 SCSI ID로 구별하고 있습니다. 그래서 SCSI ID가 겹치지 않도록 설정해 주어야 합니다. 이때 SCSI ID는 0번부터 7번까지 사이로 설정 합니다. SCSI카드의 SCSI ID는 일반적으로 7번으로 설정되어 있기 때문에 연결하는 주변 장치는 0번부터 6번사이에서 SCSI ID를 설정합니다.

2) 버스 터미네이션
터미네이터란 종단 저항이란 뜻입니다. 버스의 양쪽 끝(종단)에 일정한 저항을 설정하여 여기가 종단임을 전기적으로 나타내는 역할을 합니다. SCSI에서는 SCSI버스의 양쪽 긑에 있는 장비의 터미네이터의 설정을 사용가능(ON)으로 해야 합니다. 다음 그림에 있는 것 같이 주변 장치를 외장형 또는 내장형 어느 한쪽에만 연결하고 있을 경우에는 SCSI카드또는 및 맨 끝 장비의 터미네이터를 사용가능(ON)으로 합니다. 또 주변 장치가 외장형과 내장형 양쪽에 다 연결되어 있을 경우에는 양끝에 있는 장비의 터미네이터를 사용가능(ON)으로 하기 때문에 SCSI카드의 터미네이터를 사용불가(OFF)로 합니다. 아답텍 SCSI카드는 SCSI버스를 체크하여 자동적으로 터미네이터를 사용가능(ON), 사용불가(OFF) 로 합니다.

터미네이션은 버스의 물리적으로 마지막 부분에 설치해줘야 한다. 일반적으로 사용자들이 저지르는 실수로는 가장 높은, 혹은 낮은 ID에 터미네이션을 하는 것이지만 ID와 버스의 마지막 부분과는 사실 항상 동일한 것은 아니다. SCSI 장치들이 연결고리 식으로 연결되어 있으므로 케이블에 가장 마지막 장치에 터미네이션을 해줘야 한다. 버스 터미네이션에는 여러 방법이 있다. 가장 일반적으로는 터미네이션을 자체에서 지원하는 장치가 있고, 터미네이터를 사용하거나 스스로 터미네이팅 능력이 있는 SCSI 케이블을 사용한다.

새로 출시되는 대부분의 SCSI 장치들은 자체에 터미테이션 기능이 들어가 있다. 이러한 장치들을 사용할때는 여하튼 이 장치가 만약 버스의 중간 부분에 위치해 있다면 반드시 터미네이션 부분을 꺼야 문제를 일으키지 않는다는 것을 염두에 두기 바란다.

터미네이터는 실제 하드웨어를 SCSI 버스의 제일 마지막 장치에 설치하는 것이다. 컨넥터 종류가 다양한 것과 마찬가지로 많은 종류의 터미네이터가 있다. 컨넥터 종류를 불문하고 두가지로 분류하자면 Passive와 Active를 들 수가 있다. Passive 터미네이터는 SCSI 버스의 전력 신호를 사용하여 동작하고 Active 터미네이터의 경우 더욱 정확한 전압 레귤레이터를 사용한다. 터미네이션 기능이 들어가 있는 케이블의 경우 다른 터미네이터가 없을 경우 SCSI 버스를 터미네이션 한다. 이 케이블은 매우 고가이며 클러스터링 환경에서 종종 사용된다.

위의 버스 터미네이션과 SCSI ID설정은 SCSI에 처음 접하는 사용자들이 가장 많은 실수를 범하는 부분이므로 올바르게 SCSI ID를 설정하고 버스 터미메니션을 하는 것은 SCSI 장치가 에러를 일으킬 때 가장 먼저 주의해서 보아야할 부분이기도 하다. 

3) 데이지 체인
여러대의 주변 장치를 연결할 때는『데이지체인』이라는 방법으로 연결 합니다. 이 연결 방법은 누구라도 간단하게 주변 장치를 추가할 수 있도록 합니다. 주변 장치를 추가할 경우,(1) 케이블의 길이 (2) SCSI ID (3) 터미네이터 설정 등에 주의하여 작업을 해야 합니다.
※ 최대 7대(Wide SCSI는 최대 15대)까지의 주변 장치를 동시에 연결할 수 있습니다.

4) IDE와 SCSI
SCSI를 언급할 때 가장 많이 언급되는 질문중 하나는 "IDE와 SCSI중 어느것이 좋은 것인가?"하는 것이다. 이것은 답변하기 쉬운 질문은 아니다. 간단하게 말하면 이 두 종류는 각각의 장점을 가지고 있다. SCSI 장치들은 IDE 드라이브보다 항상 비싸다. IDE 장치들은 또한 설치하기가 더 쉽고 버스 터미네이션 등에 대해서 걱정할 필요도 없다. IDE는 또한 시스템 프로세서를 DMA를 사용하여 동작하는 방식으로 발전을 거듭해왔다. 하지만 아직까지 성능에서는 SCSI에 더 비중이 쏠린다.

IDE가 발전하는 만큼 SCSI도 발전을 거듭해 왔다. SCSI는 자체적인 컨트롤러를 이용하여 동작하고, SCSI 시스템이 그리 설치하기 어렵지는 않다. 또한 동시에 설치할 수 있는 장치의 수도 IDE보다 SCSI가 훨씬 많다. SCSI의 종류에 따라서 SCSI 장치를 최고 15개까지 연결할 수 있지만 IDE의 경우 4개가 최고 이다. 또한 성능면에서 현재 160MB/s가 구현되었으며 320MB/s, 640MB/s의 전송율을 가진 스펙이 제안되고 있다. 그러므로 어느 것을 선택하느냐의 문제는 결국 어느 목적으로 장치를 사용할 것이냐는 문제로 귀결된다. 오피스 프로그램이나 퀘이크같은 게임을 돌리기 위한 목적이라면 IDE가 적절한 선택이고, 디스크 입출력이 많은 비디오 편집 작업일 경우 SCSI를 선택해야 할 것이다. 또한 가격적인 측면에서 SCSI는 항상 IDE 장치보다 비싸다. 그러므로 약간 더 빠른 속도를 얻기 위해서는 IDE보다 더 많은 돈을 지불해야 하는 단점이 있다.

5) SCSI의 미래
SCSI는 계속 발전하는 기술이다. 현재 SCSI에 새로 추가된 기술이라면 Fibre Channel SCSI와 IEEE 1394(FireWire)일 것이다. 현재 Ultra4 (이것이 320MB/s의 전송율을 지원한다.)의 스펙도 출시되어 있는 상황이며 Ultra 5(이것은 640MB/s를 지원한다.)의 스펙도 나와 있다. SCSI는 SCSI3의 출시로 인해서 업그레이드하는데 시간이 많이 걸렸었던 단일적인 표준에서 벗어나 여러 사항으로 전체가 구성되는 방식을 취하고 있다. 현재 새로운 스펙을 제안하거나 새 기술의 적용 방법을 열거해 놓은 수많은 페이퍼들이 지속적으로 출간되고 있다.  

이러한 페이퍼들의 리스트는 T10의 웹사이트 이외에도 SCSI Trade Association의 웹사이트 에서도 찾을 수 있다. 이 웹사이트들은 새로운 SCSI의 사항들을 찾아보는데도 좋은 사이트이다. SCSI는 또한 수많은 SCSI 명령어 셋과 SCSI 기술과 올바르게 프로그램이 동작하기를 바라는 프로그래머간에 개념의 교환이 가능한 Common Access Model(CAM)을 도입함으로서 프로그래머들에게 더욱 친숙해 지도록 노력하고 있다. SCSI3로 도입되는 이 새로운 모델은 SCSI가 빨리 현재 마켓이 요구하는 증가하는 성능을 시스템 리소스 사용을 줄이면서 이전 모델과의 호환성을 유지하면서 수용할 수 있게 함으로서 SCSI는 밝은 미래를 보여주고 있다.

홈페이지 jQuery 라이브러리에서 CVE-2019-11358 취약점 패치 여부 확인 방법

현재 홈페이지에서 사용 중인 jQuery 라이브러리가 CVE-2019-11358 취약점 패치를 적용했는지 확인하는 방법은 다음과 같습니다. 1. jQuery 버전 확인 홈페이지 소스 코드를 확인하여 jQuery 라이브러리 버전을 직접 확인합니다. 웹 ...