가상 터미널 구현에 두 개의 "가상 직렬 포트"가 있습니까?

가상 터미널 구현에 두 개의 "가상 직렬 포트"가 있습니까?

아래 그림은 물리적 터미널 상황을 보여줍니다(예:VT100)는 Unix를 실행하는 컴퓨터에 연결되어 있습니다(예:플라즈마 11):

여기에 이미지 설명을 입력하세요.

파란색으로 강조 표시된 구성 요소는 터미널이 직렬 포트를 통해 컴퓨터에 연결되어 있음을 나타냅니다(이미지에는 "직렬 포트" 대신 "UART"로 표시됨). 따라서 기본적으로 터미널에는 컴퓨터의 직렬 포트에 유선으로 연결된 직렬 포트가 있습니다(이 이미지에는 터미널 직렬 포트의 구성 요소도 표시되지 않음).

터미널이나 컴퓨터에서 직렬 포트 전송 속도를 변경할 수 있습니다(참조:여기).


다음 그림은 최신 Linux/Unix 시스템에서 가상 터미널이 구현되는 방법을 보여줍니다.

여기에 이미지 설명을 입력하세요.

파란색으로 강조 표시된 구성 요소는 터미널 에뮬레이터가 두 개의 "가상 직렬 포트"를 사용하지 않고 회선 분야에 직접 연결되었음을 나타냅니다.

이제 내 질문은 이 이미지(가상 터미널 구현)가 전체 어셈블리를 표시합니까, 아니면 터미널 에뮬레이터 뒤에 하나의 "가상 직렬 포트"가 있고 라인 규칙 앞에 또 다른 "가상 직렬 포트"가 있어야 합니까?

이 두 개의 "가상 직렬 포트"가 존재하는 경우 전송 속도도 변경할 수 있습니까?

이 두 사진에서 얻은 것여기.

답변1

와이어 규칙은 "와이어"(초기 UNIX 시스템의 와이어) 전체에서 특수 문자(예: 소프트웨어 흐름 제어 또는 문자 생성 신호) 처리를 제어합니다. 몇 가지 가능한 회선 규칙이 있으며 tty 드라이버는 해당 tty를 담당하는 회선 규칙을 호출합니다.

따라서 라인 규율 앞에 "가상 직렬 포트"를 갖는 것은 전혀 의미가 없습니다. 첫 번째 사진에도 없고, 두 번째 사진에도 없습니다.

라인 규칙은 커널의 다른 부분(직렬 포트 드라이버(USB, UART 등) 또는 가상 콘솔용 에뮬레이터 등)을 호출하고 문자가 도착하면 해당 드라이버에서도 호출됩니다. 따라서 어떤 의미에서는 다양한 구성 요소를 연결할 수 있는 "가상 스위치"입니다.

그러나 특정 속도로 유선을 통해 바이트를 비트로 보낸 다음 이를 비트에서 바이트로 재조립하는 것을 어떻게든 시뮬레이션할 수 있는 직렬 포트 드라이버 쌍은 없습니다. 이는 불필요하게 느리고 기능을 제공하지 않기 때문입니다.

그러나 전송 속도, 정지 비트 수 등을 설정할 수 있습니다.모두디디. 이러한 매개변수는 가상 콘솔과 같이 매개변수가 필요하지 않은 드라이버에서는 무시됩니다.

답변2

전송 속도는 다음과 같이 정의됩니다 /etc/inittab.

1:2345:respawn:/sbin/getty 38400 tty1
2:23:respawn:/sbin/getty 38400 tty2
3:23:respawn:/sbin/getty 38400 tty3
4:23:respawn:/sbin/getty 38400 tty4
5:23:respawn:/sbin/getty 38400 tty5
6:23:respawn:/sbin/getty 38400 tty6

이 예에서 전송 속도는 38400입니다.

관련 정보