X 서버가 미리 정의된 기능 세트가 있는 라이브러리가 아닌 서버인 이유는 무엇입니까?

X 서버가 미리 정의된 기능 세트가 있는 라이브러리가 아닌 서버인 이유는 무엇입니까?

최근 나는 처음으로 "X Window Server" 개념을 접했다. 그것에 대해 많이 읽고 핵심 개념의 대부분을 이해하려고 노력한 후 - 주로 저는 "현대 컴퓨팅 시대"에 태어나 "실제 터미널"이나 "X 클라이언트를 실행할 만큼 강력하지 않은 PC"를 만져본 적이 없기 때문에 - 나는 뭔가에 대해 혼란스러워했습니다.

X 서버가 미리 정의된 기능 세트가 있는 라이브러리가 아닌 서버인 이유는 무엇입니까?

이전에 여기에서 질문한 몇 가지 질문, 특히 다음 질문에서 많은 것을 배울 수 있었습니다.

나는 일부 오래된 컴퓨터가 그래픽 요소를 실행할 만큼 강력하지 않았기 때문에 X Server가 처음에는 네트워크를 통한 통신도 지원하도록 설계되었다는 것을 알고 있었습니다. 이것이 X 서버가 서버 역할을 하도록 설계된 유일한 이유입니까? 네트워크를 통해 "요청"을 받고 "그래픽 요소"로 응답하려면?

X 서버가 로컬에서도 서버 역할을 하는 다른 이유가 있나요? 아마도 나는 몇 가지 세부 사항을 놓치고 있는 것 같습니다. 그리고 그것이 바로 내가 지금까지 배운 모든 것을 "연결"하기 위해 이해하려고 노력하는 것입니다.

가능하다면 과거에 터미널이 X Window Server와 통신하는 데 사용된 실제 예도 알려주시겠습니까? 내가 상상할 수 있는 것은 터미널 컴퓨터(검은색 터미널 화면 외에는 아무것도 실행하지 않음)로 가득 찬 건물과 그래픽 인터페이스를 실행할 수 있는 컴퓨터가 단 한 대뿐인 건물뿐입니다. 사람들은 무거운 작업을 수행하기 위해 터미널 컴퓨터와 통신하기 위해 이 컴퓨터를 공유했습니까?

감사합니다!

답변1

터미널에 대해 큰 오해를 갖고 계신 것 같습니다.

텍스트 터미널도 있었고, X11 터미널도 있었습니다. X11 터미널은 X 서버를 실행했습니다. 이를 씬 클라이언트라고도 합니다.

X-서버를 실행하는 워크스테이션이 있을 수도 있습니다. 프로세스 서버에 연결됩니다. 지하실에 있는 강력한 기계.

다른 장점은 다음과 같습니다.

  • 이는 단지 프로세스(그래픽 하드웨어, 키보드 및 포인팅 장치에 대한 액세스 포함)일 뿐이지만 프로세스일 뿐입니다. 이것은 장점이 있습니다. 그래픽 하드웨어, 키보드 및 포인팅 장치에 액세스할 수 없는 시스템을 가질 수 있습니다. X11-vnc 브리지를 만드는 VNC 서버일 수도 있습니다. 테스트에 사용될 수 있습니다(인간 대신 로봇 프로세스가 이를 제어하도록 함).
  • 별도의 프로세스입니다. 컴퓨터를 멀티 코드로 업그레이드했습니다. 소프트웨어를 변경할 필요 없이 이러한 코어를 사용합니다(최대 몇 개의 코어).
  • 여러 개의 모니터, 키보드, 마우스가 있는 경우 구조적으로 별도의 좌석(터미널)으로 만드는 것이 쉽습니다.
  • 사용자 전환을 쉽게 구현할 수 있습니다.
  • 다른 프로세스를 제공하지 않고 하드웨어에 대한 액세스를 제공합니다. 라이브러리 접근 방식과 마찬가지로 더 안전합니다(Note X11에는 재설계로 해결될 수 있는 몇 가지 보안 문제가 있습니다).
  • 창 관리자도 별도의 프로세스입니다. 이를 통해 데스크탑 환경을 선택할 수 있습니다. 따라서 X11 서버용 프로세스, 창 관리자용 프로세스, 디스플레이 관리자(로그인 서비스)용 프로세스, 이것저것 위한 프로세스입니다. 유연성이 뛰어나 로그아웃하지 않고도 데스크톱 환경을 변경할 수 있습니다.

답변2

여러 키보드, 기타 입력 장치 및 여러 디스플레이가 있을 수 있는 단일 하드웨어(개념적으로는 워크스테이션)에서 디스플레이 서비스를 제공하고 조정하기 때문에 서버입니다.

여러 프로세스가 로컬 또는 원격으로 연결되어 화면 공간, 입력 포커스, 색상 맵 슬롯 및 기타 리소스를 협상할 수 있습니다. 프로세스는 서로 직접 협상하거나 서로 다른 요구 사항을 조정할 수 없습니다. X Windows 서버는 모든 클라이언트 프로세스가 워크스테이션의 모든 기능에 액세스할 수 있다고 믿게 만드는 서비스를 제공합니다.

관련 정보