"직렬 포트" 또는 "병렬 포트"는 문자 장치에만 적용되고 블록 장치에는 적용되지 않습니까?

"직렬 포트" 또는 "병렬 포트"는 문자 장치에만 적용되고 블록 장치에는 적용되지 않습니까?

~에서 http://haifux.org/lectures/86-sil/kernel-modules-drivers/node10.html

문자('c') 장치는 드라이버가 개별 문자(바이트, 옥텟)를 보내고 받음으로써 통신하는 장치입니다.

블록("b") 장치는 드라이버가 전체 데이터 블록을 전송하여 통신하는 장치입니다.

문자 장치의 예: 직렬 포트, 병렬 포트, 사운드 카드.

블록 장치의 예: 하드 드라이브, USB 카메라, Disk-On-Key.

"직렬 포트, 병렬 포트"는 무엇을 의미합니까?유선 직렬 및 병렬 통신?

"직렬 포트" 또는 "병렬 포트"는 문자 장치에만 적용되고 블록 장치에는 적용되지 않습니까?

감사해요.

답변1

최신 컴퓨터에는 USB, SATA, PCI/e 등 기술적으로 직렬인 여러 상호 연결이 있는 경우가 많지만(블록 장치를 제어하는 ​​경우에도) 인용한 텍스트는 처음 사용된 병렬 및 직렬 컨텍스트에 가깝습니다. 20세기 컴퓨팅 분야에서

이는 컴퓨터를 주변 장치 및 때로는 다른 컴퓨터와 상호 연결하는 데 사용되는 방법을 나타냅니다.

다양한 변형이 있지만 가장 일반적인 "직렬 포트"는 일반적으로 고정 전송 속도의 비동기 프로토콜을 사용하여 한 번에 한 문자를 보내거나 받는 I/O 장치입니다. 일반적으로 RS232 케이블을 통해. 직렬 포트와 RS232 포트라는 용어는 때때로 같은 의미로 사용되지만 RS-232는 실제로 전기 표준이기 때문에 이는 잘못된 명칭입니다. 일반적인 응용 프로그램은 사용자 터미널을 컴퓨터나 모뎀에 연결하는 것입니다. 이를 통해 사용자는 전화 접속을 통해 원격 터미널에 연결할 수 있습니다. 110 보드 ASR-33 텔레타이프와 같은 전자 기계 시대로 거슬러 올라가면 이는 Unix 명령 및 장치 파일 이름에서 공통 문자열 "tty"의 소스입니다.

직렬 포트는 매우 느리므로 더 높은 문자 속도가 필요한 용도에는 직렬화되지 않은 병렬 포트를 사용할 수 있습니다. 때때로 프린터 제조업체는 이를 "Centronix" 포트라고 부르며 인기를 얻습니다.

직렬 연결을 사용하는 프린터가 없다는 것은 아닙니다.

그러나 귀하의 견적에서 사용된 것처럼 직렬 포트와 병렬 포트는 이러한 두 가지 주변 장치 연결 옵션을 나타냅니다.

따라서 블록 장치가 기술적으로 낮은 수준에서 직렬 데이터 방법과 인터페이스할 수 있다고 하더라도 이는 저자가 언급한 것이 아닙니다.

답변2

"캐릭터 디바이스"와 "블록 디바이스"는추상적인, 다양한 장치를 분류하기 위해 Unix 스타일 시스템에서 자주 사용됩니다. Unix 스타일 장치 노드( /dev/<something>)는 일반적으로 문자 장치 또는 블록 장치로 분류됩니다.

기본적으로 문자 장치는 한 번에 1바이트라도 의미 있게 데이터를 처리할 수 있지만 블록 장치는 특정 크기(보통 512, 1024 또는 4096바이트)의 블록을 처리할 수 있습니다. 불완전한 블록이 블록 장치에 제공되면 블록을 완성하기 위해 0이나 다른 적절한 패딩으로 채워야 할 수 있습니다. 그렇지 않으면 블록 장치가 해당 작업을 완료하지 못할 수 있습니다.

Unix 스타일 시스템에서 디스크는 일반적으로 블록 장치로 표시됩니다. 그러나 기존 Unix 시스템에서는 단일 디스크가 두 개의 장치로 표시될 수 있습니다. 하나는 일반 파일 시스템 액세스용 블록 장치이고 다른 하나는 "원시 액세스" 및 기타 특수 작업용입니다. 원시 액세스 장치는 일반적으로 문자 장비입니다.

최신 Linux에서는 플래그를 사용하여 일반 블록 장치를 열어 원시 액세스를 얻을 수 있지만 O_DIRECT, 다른 Unix 스타일 시스템에서 포팅된 애플리케이션에 특별히 전용 원시 장치가 필요한 경우 명령을 사용하여 필요에 따라 설정할 수 있습니다 raw.

반면에 직렬 포트와 병렬 포트는 일반적으로 다음을 나타냅니다.물리적 연결 기술.

PC 하드웨어에서는직렬 포트또는직렬 포트일반적으로 다음을 가리킨다.RS232 인터페이스(보통 National Semiconductor 8250과 호환되는 UART 칩 드라이버를 사용합니다.) 고정된 블록 크기가 필요하지 않기 때문에 일반적으로 Unix 시스템에서는 문자 장치로 분류됩니다. 이름 그대로직렬 포트즉, 포트는 한 번에 한 비트씩 직렬로 데이터를 전송합니다. 이 포트의 가장 최신 사양은 EIA/TIA-232입니다.

PC 하드웨어에서도병렬 포트,프린터 포트,LPT 포트또는센트로닉스 포트이들 모두는 IEEE 1284로 표준화된 가장 현대적인 구현인 포트 유형을 나타냅니다. 고정된 블록 크기가 필요하지 않기 때문에 Unix 스타일 시스템에서는 문자 장치로 표시되기도 합니다. 이름에서 알 수 있듯이 데이터를 병렬로 전송합니다. 즉, 바이트의 각 비트에 하나씩 총 8개의 데이터 라인이 있습니다.

직렬 포트와 달리, 가장 오래된 형태의 병렬 포트는 기본적으로 단방향이었습니다. 즉, 컴퓨터는 한 번에 1바이트의 데이터를 보낼 수 있었지만 반대쪽 장치에는 컴퓨터와 통신할 수 있는 몇 개의 고정된 의미 상태 줄만 있었습니다. . (이전 버전의 Linux 커널에서는 이러한 상태 줄의 잘못된 상태 조합을 약간 유머러스한 lp<n> on fire오류 메시지로 보고했습니다.) 양방향 통신 모드가 이후 개선 사항으로 구현되었습니다.

USB가 도입되기 전에는 병렬 포트가 아마도 일반적인 PC에서 가장 빠른 범용 외부 커넥터였을 것입니다. 더 빠른 데이터 전송 속도를 가진 외부 장치가 필요하다는 것은 일반적으로 시스템에 외부 커넥터가 있는 전용 인터페이스 카드나 SCSI 어댑터 카드를 추가하는 것을 의미합니다. 예를 들어 전문 평판 이미지 스캐너에는 SCSI 연결이 필요할 수 있습니다.

관련 정보