![최신 컴퓨터에는 이러한 직렬 포트가 없는데도 일부 Linux 배포판에 여전히 /dev/ttyS0, ttyS1 등이 있는 이유는 무엇입니까?](https://linux55.com/image/52694/%EC%B5%9C%EC%8B%A0%20%EC%BB%B4%ED%93%A8%ED%84%B0%EC%97%90%EB%8A%94%20%EC%9D%B4%EB%9F%AC%ED%95%9C%20%EC%A7%81%EB%A0%AC%20%ED%8F%AC%ED%8A%B8%EA%B0%80%20%EC%97%86%EB%8A%94%EB%8D%B0%EB%8F%84%20%EC%9D%BC%EB%B6%80%20Linux%20%EB%B0%B0%ED%8F%AC%ED%8C%90%EC%97%90%20%EC%97%AC%EC%A0%84%ED%9E%88%20%2Fdev%2FttyS0%2C%20ttyS1%20%EB%93%B1%EC%9D%B4%20%EC%9E%88%EB%8A%94%20%EC%9D%B4%EC%9C%A0%EB%8A%94%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F.png)
많은 새로운 랩탑과 데스크탑 컴퓨터에는 9핀/25핀 직렬 포트가 없습니다. 많은 Linux 배포판에 여전히 /dev/ttyS0
장치 dev/ttyS1
파일이 포함되어 있는 이유는 무엇입니까?
udev
장치 파일은 동적으로 생성될 수 있는데 왜 정적 으로 생성 /dev/ttyS0
합니까 /dev/ttyS1
? 부팅할 때마다 거기에 /dev/ttyS0
있습니다 /dev/ttyS1
.
참고: 저는 데비안 7.0을 사용하고 있습니다.
답변1
이러한 /dev
노드는 표준 PC 직렬 드라이버가 사용 중인 커널로 컴파일되어 나타나기 때문에 나타납니다.UART. 이로 인해 /sys/devices/platform/serial8250
(또는 호환되는 것이) 나타나므로우데브해당 /dev
노드를 생성합니다.
이러한 UART는 마더보드 칩셋의 많은 기능 중 하나일 가능성이 높습니다. 직렬 UART는 칩셋에서 여전히 일반적이지만 이러한 IC UART 핀에 연결되는 DB-9 커넥터는 점점 덜 보편화되고 있습니다.
일부 마더보드에는헤더 커넥터각 직렬 포트에 대해 해당 커넥터를 PC 뒷면에 연결하려면 어댑터 케이블을 구입해야 합니다.
동일한 칩셋을 사용하는 다른 마더보드는 칩에서 해당 기능을 사용할 수 있더라도 헤더를 노출하지 않을 수 있습니다. 이는 순전히 약간의 PCB 공간과 헤더 비용을 절약하기 위한 것입니다.
일부 직렬 UART는 대량 생산된 PC 칩셋 IC에 미미한 비용을 추가하지만 마더보드 가장자리에 DB-9 커넥터를 실행하면 마더보드의 최종 소매 비용에 몇 달러가 추가됩니다. PCB 공간에도 비용이 듭니다. 보드 가장자리의 공간은 특히 중요합니다.
RS-232 직렬 포트에 연결된 장치의 존재를 감지하는 표준 방법은 없습니다.
USB와 달리 마더보드에 포트가 존재한다고 해서 /dev
노드가 생성되는 것은 아니지만 장치와 호스트 운영 체제 간에 상당히 복잡한 협상이 있기 때문에 장치를 연결하면 노드가 생성됩니다. 실제로 장치는 udev
장치에 적합한 노드를 생성하여 반응할 수 있도록 운영 체제에 자신을 알립니다./dev
답변2
가상화 환경에서 Linux를 실행한다고 상상해 보세요. 많은 에뮬레이터가 여전히 직렬 포트에 대한 콘솔 출력에 의존하고 있습니다. 이는 편리한 표준입니다. 또한 헤드리스 서버는 여전히 통신을 위해 직렬 포트를 사용합니다.
답변3
많은(대부분?) 서버가 여전히 직렬 액세스(ttyS0)를 제공한다는 점은 언급할 가치가 있습니다. 거의 매일 iLO/iDRAC를 통해 LAN 직렬 연결을 통해 연결해야 합니다. @Patrick이 지적했듯이 네트워크 등을 재구성하는 동안 직렬 포트를 통해 VM에도 연결했습니다.