====== Словарь BlackBox. Понятие хоста. ====== ==== Понятие хоста ==== Эталон **BlackBox** содержит подсистему ''Host''. Давайте разберёмся, что это такое. И для начала неплохо бы просто перевести это слово на русский язык. Во-первых, посмотрим на [[http://translate.academic.ru/?q=host&f=en&t=ru&stype=1|перевод]] слова //host//: [həʋst] n\\ * 1. хозяин (по отношению к гостю) * 2. хозяин гостиницы; трактирщик; содержатель постоялого двора. * ... * 6. вчт. * 1) главный компьютер, центральный процессор\\ * 2) = host computer Во-вторых, заглянем в [[http://www.etymonline.com/index.php?term=host|этимологию]] слова //host//: * host (n.1) "person who receives guests" Итак, **Host** - это "хозяин, принимающий гостей". Для наглядности, схема: {{ :host-guest.png?nolink |}} Хозяин и гость - неразрывно связанные понятия. Где гость - там и хозяин и наоборот. В общем, разобрались, можно доставать **Чёрный Ящик**. ==== Немного розовых единорогов ==== И тут-то нас поджидает сюрприз. В документации по **BlackBox** ничего не сказано про подсистему ''Host'', кроме того, что она содержит "Private code of BlackBox". Поди разбери, что означает //private// в данном контексте - скорее всего, "закрытый". Правда, иногда встречаются упоминания того факта, что отдельные модули этой подсистемы содержат некие "Windows-specific" вещи. А в целом, картина неясная. Но мы не привыкли отступать. В книге **Куно Пфистера** "Component Software" (кто хочет, может её отыскать в интернете или даже купить, а я буду просто ссылаться на этот труд) есть целая глава, посвящённая компонентному каркасу **BlackBox**. И вот что он пишет (перевод мой): "Как предполагает его название, **BlackBox** построен на принципах //чёрных ящиков// (абстракций) и повторного использования в смысле объектной композиции (абстрактный интерфейс чёрного ящика полностью скрывает конкретную реализацию). Все части **BlackBox**, исключая только некоторые, являются платформо-независимыми. Модули имеют переносимые (//portable//) интерфейсы. Даже внешний вид документов абстрагирован. Платформенные особенности остаются доступными, но компоненты должны избегать их использования, если желают оставаться полностью платформо-независимыми.". Подсистема ''Host'', как пишет Пфистер, содержит особенности платформы. В ИТ-отрасли слово "хост" (будем использовать транслитерацию //host// на русский, просто потому что технического термина, аналогичного //host//, в русском языке не появилось) часто используется в аспекте виртуализации операционных систем. Хост-системой здесь называют операционку, изначально установленную на компьютер. А //гостевой ОС// называют систему, запущенную в гостевой (по отношению к хосту) виртуальной машине. Ссылки давать не буду, поиск в интернете не отменяли - источников масса. В общем, если рубануть определение сплеча, то хост - это некий программный //сервисный слой// на железе (кстати, необязательно на железе - может, и на чём-то другом), обеспечивающий работу //гостевых компонентов//. Для сети это определение тоже подходит, потому что компьютер-узел в сети является хостом, предоставляющим некий сервис для гостей-браузеров или другого //сетевого ПО//. Вот как это выглядит для нашего каркаса: {{ :bb-guest.png?nolink |}} ---- Кузьмицкий И.А.\\ г. Ярославль, 2013 г.