Bug 12636 - Абсурд (автор запутался) в книге "Введение в ОС Linux"
: Абсурд (автор запутался) в книге "Введение в ОС Linux"
Status: CLOSED NOTABUG
: Sisyphus
(All bugs in Sisyphus/docs-LinuxIntro-george)
: unstable
: all Linux
: P2 normal
Assigned To:
:
: http://heap.altlinux.ru/alt-docs/modu...
:
:
:
  Show dependency tree
 
Reported: 2007-08-27 10:22 by
Modified: 2008-04-02 15:27 (History)


Attachments


Note

You need to log in before you can comment on or make changes to this bug.


Description From 2007-08-27 10:22:02
Перечитайте внимательно этот отрывок. Известно, что в системе X-сервер - 
дисплей последний называют сервером, а X-сервер является его клиентом. С другой 
стороны, X-сервер - сервер для программ-своих клиентов. Автор, видимо, хотел 
это отразить, но получилась абракадабра: терминальные машины называются 
серверами (даже говорится, что на них запущены Х-сервера!) [на самом деле их 
дисплеи являются серверами для Х-сервера на центральной машине], а центральная 
машина - клиентом и т.д.

Думаю, дело обстоит так:
Центральная машина - сервер по отношению к терминалам.
Дисплеи терминалов - серверы по отношению к Х-серверу центральной машины 
(вместе с программой, на ней работающей и использующей удалённый лисплей). 
Х-сервер центральной машины - сервер по отношению к Х-программам, выполняющимся 
на ней.

Здесь легко запутаться, в крайнем случае, имеет смысл опустить эти детали.
Steps to Reproduce:
1. Сходить по указанному УРЛ-ю.
2. Прочитать блок текста в конце её примерно первой трети.
3. Заметить возникшую в своём мозгу логическую ошибку.
------- Comment #1 From 2007-08-28 09:20:07 -------
На центральной машине обычно не запущен X-сервер. С другой стороны, на
терминале
X-cервер действительно есть.
Заметьте возникшую в вашем мозгу логическую ошибку :)
------- Comment #2 From 2007-08-28 12:23:35 -------
Там действительно не вполне удачная терминология и построение фраз, когда зная
вопрос -- можно уследить за ходом мысли автора и неявными переключениями
"железка/софтинка", а вот не зная -- действительно несложно сконфузиться.  Ну
как от ЕС-овской документации.

Вот этот фрагмент:

---
Итак, X-сервер запускается на одном компьютере, а X-клиенты вполне могут
работать на других (причём на нескольких!), посылая ему запросы. С точки зрения
человека, сидящего за (обратите внимание!) X-сервером, каждый такой клиент
представлен в виде окна.
---

требует либо введения, что "сервер" и "клиенты" -- здесь не железки, а
программы, либо переписывания примерно в таком виде:

---
Итак, X-сервер (программа!) запускается на одном компьютере (рабочей станции),
а
X-клиенты (приложения) вполне могут работать на других компьютерах (которые в
таком случае выступают серверами приложений), посылая X-серверу запросы. Для
человека, сидящего за рабочей станцией, клиенты представлены в виде окон на
экране.
---

Одной из целей переработки было уменьшение сложнопочинённости текста и
многовариантности понимания местоимений, другой -- внедрение расставляющего всё
по местам термина "сервер приложений".

Ещё можно задействовать парадигму "сервер раздаёт ресурсы, для X-сервера это
дисплей, мышь, клавиатура", только IMHO уже чуть многовато выходит.

PS: там есть очепятка: "попмщи".

PPS: добавляю в спамлист комментаторов и документаторов.
------- Comment #3 From 2007-08-28 14:18:53 -------
> X-сервер (программа!)
> X-клиенты (приложения)
Чем отличаются программы от приложений? Теперь я запутался.
------- Comment #4 From 2007-08-28 15:03:20 -------
Приложения (applications), как правило -- это прикладные программы (с которыми
имеет дело конечный пользователь).  Понятие несколько размылось с web
applications (особенно в качестве web services), IMHO, ну да не суть.

Например, X-сервер -- это не прикладная программа, а системная.

Написал так, чтобы избежать повторов и немного акцентироваться на различии в
"видимости" пользователем.  Если запутывает -- можно всех оставить программами,
но стоит ясно обрисовать отличие "железка/софтинка", особенно когда
"софтинка-сервер на железке-клиенте обслуживает софтинку-клиент на
железке-сервере".

На дворе трава, на траве дрова...
------- Comment #5 From 2007-09-02 06:15:12 -------
>Если запутывает -- можно всех оставить программами,
>но стоит ясно обрисовать отличие "железка/софтинка", особенно когда
>"софтинка-сервер на железке-клиенте обслуживает софтинку-клиент на
>железке-сервере".

Вот это ваше построение, пожалуй, самое удачное.


* * *

Перечитал ещё раз обсуждаемый отрывок и теперь думаю вот что:

>"Итак, X-сервер запускается на одном компьютере, а X-клиенты вполне >могут работать на 
других (причём на нескольких!), посылая ему запросы."

Намёк на то, что в схеме центральный компьютер - периферические компы последние
могут 
использовать один X-сервер, запущенный на центральном (где в таком случае
выполняется 
приложение, однозначно сказать нельзя, надо полагать, по-разному).

>"С точки зрения человека, сидящего за (обратите внимание!) X-сервером, >каждый такой 
клиент представлен в виде окна. Требования к аппаратуре на >машинах,
запускающих X- 
клиенты, будут изрядно отличаться от требований >к аппаратуре машины для X-
сервера. 
Типичная машина с X-сервером — это >рабочее место (workstation)."

Вот здесь, собственно, основная неразбериха. Человек сидит за Х-сервером,
который 
запущен на его рабочей станции (но невидим), а видит на экране окна приложений
х-
коиентов. Так?
По описываемой схеме эта часть противоречит предыдущей, где намекается, что
х-сервер 
может быть на центральном компе.

>"Что же касается её вычислительных способностей, то их должно быть >достаточно для 
выполнения X-запросов, и только."

Конечно, Х-запросы посылаются и Х-серверу, работающему на своей же машине, но
такая 
формулировка вызывает ассоциации с передачей Х-запросов по сети. Тогда нужно 
объяснить, что Х-запросы посылают Х-приложения (клиенты), работающие на главном
компе 
Х-серверу, работающему на периферическом, или же эти приложения-клиенты, 
отображаемые на периферических компах в виде окон с содержимым, посылают с 
центрального компа запросы Х-серверу периферического, получив инфу о событиях
ввода 
от Х-сервера периферического компьютера (на основании которой они и решают, что
нежно 
сделать Х-запрос.)

p.s.
Кто вышенаписанного не понял - не программист :-)

p.p.s
Тех, кто ненавидит программистов, программисты ненавидят сильнее, чем те, кто
ненавидит 
программистов, ненавидит программистов, которые ненавидят тех, кто их
ненавидит.
------- Comment #6 From 2007-09-03 14:02:50 -------
Уважаемые комментаторы, вы могли бы очень помочь 
авторам и читателям обсуждаемого текста понять его суть, 
если бы нарисовали простую диаграмму, наглядно изображающую
обсуждаемую конфигурацию (включая потоки X-запросов).

По такой диаграмме будет гораздо проще сделать внятное
описание (исправить имеющееся невнятное). Буду бесконечно
признателен, если найдется доброволец это нарисовать
и обязательно вставлю благодарственную сноску.
------- Comment #7 From 2007-09-04 01:06:54 -------
Уф... можно попробовать сообразить что-то по мотивам

http://www.zdnet.de/glossar/0,39029897,70012691p-39001620q,00.htm
http://en.wikibooks.org/wiki/Guide_to_X11/Introduction#X_clients_connect_to_X_servers
http://www.linux-magazin.de/var/linux_magazin/storage/images/media/linux_magazin/ausgabe/2004/09/einer_fa1_4r_alle/abb1_jpg/24435-1-ger-DE/abb1_jpg.jpg
http://content.answers.com/main/content/img/CDE/XWINDOW.GIF

-- только уже не этой ночью.

PS: в процессе пополнил запас фортунок:
For a while we revelled in the apparent utter soundlessness
of our office, then realised that there were still three sources
of noise. With the hard drives removed, the Andersen cast-offs
still had the fans in their power supplies, creating a noticeable
sound (though vastly quieter with the hard drives extracted), the
office refrigerator makes an irritating noise and several people
started to complain about the ticking of the wallclock.
-- http://www.ukuug.org/events/linux2002/papers/html/xterm/x-terminals.html

Ссылка -- рекомендованное чтиво, как надо писать case studies ;-)
------- Comment #8 From 2007-09-04 20:38:55 -------
Беру свои слова назад: ведь для того, чтобы на терминале работал графический 
режим, на нём должен работать X-сервер. (Дотумкал, теперь мудр :)
------- Comment #9 From 2008-04-02 15:27:44 -------
(In reply to comment #8)
> Беру свои слова назад: ведь для того, чтобы на терминале работал графический 
> режим, на нём должен работать X-сервер. (Дотумкал, теперь мудр :)

Значит, можно закрывать.