Раздел: Коммуникации
Коммуникации
Если раньше носить с собой повсюду огромные объёмы информации можно было только в книгах таких писателей-фантастов, как Уильям Гибсон, то сегодня это уже стало реальностью. В отличие от Джонни Мнемоника, главного героя одного из рассказов Гибсона и одноимённого фильма, мы не переносим данные на имплантированном в мозг чипе, а используем такие мобильные устройства хранения данных, как внешние дисковые накопители и USB-брелоки. Эти накопители позволяют нам удобно переносить важную информацию и получать к ней доступ, когда и где мы захотим.
Но...
ICQ — Я Ищy Teбя
Taк чтo жe тaкoe, ICQ? ICQ (oт aнглийcкoгo I Seek You — Я Ищy Teбя) — cиcтeмa мгнoвeннoй пepeдaчи cooбщeний и, инoгдa, фaйлoв чepeз интepнeт, пoзвoляющaя oбщaтьcя двyм coбeceдникaм в peжимe peaльнoгo вpeмeни. B 1996 гoдy изpaильcкaя (тoгдa eщe мaлoизвecтнaя) фиpмa Mirabilis coздaлa пpoгpaммy, кoтopaя бyквaльнo пepeвepнyлa вce имeющиecя пpeдcтaвлeния o cпocoбax cвязи и oбщeния в интepнeтe. Чтo жe пpинципиaльнo нoвoгo внecлa этa пpoгpaммa к cyщecтвyющим зaдoлгo дo ee coздaния, тaким cпocoбaм cвязи и oбщeния в интepнeтe кaк: чaты, дocки oбьявлeний и элeктpoннaя пoчтa?
Пpинципиaльнo нoвым, oкaзaлcя элeмeнт внeceния «peaльнoгo peжимa» в oбщeниe c Baшим...
Виртуальный диск
Практически у каждого пользователя ПК со временем накапливается большое количество оптических дисков, которые занимают много места, захламливая свободное пространство возле компьютера. На поиск в этой куче нужных дисков уходит много времени, а при их интенсивном перекладывании с места на место они быстро приходят в негодность, что приводит к потере информации. Проблемма обычно решается путем приобретения жесткого диска достаточной емкости, на котором можно хранить всю необходимую пользователю информацию. В этом случае оптические...
Nortel создает 40-гигабитные оптические сети
Канадский производитель сетевого и телекоммуникационного оборудования Nortel представил новое оптическое оборудование, способное в 4 раза повысить скорость работы и емкость операторских телекоммуникационных сетей. Как говорят в компании, новая разработка призвана помочь операторам справиться с растущими объемами сетевого трафика, вызванного ростом популярности видео в сети.
В Nortel говорят, что сегодня большая часть операторского оборудования работает на скоростях до 10 Гб/сек, новое же решение способно увеличить объем передаваемых данных...
СКС и силовая проводка
Информация — кровь бизнеса. Она повсюду — нули, единицы… нужно только уметь ею пользоваться. Течёт эта кровь в основном по проводам, и пренебрегать этими сосудами никак нельзя.Что же тут зависит от сисадмина малого предприятия, скромного героя нашего повествования? Оказывается, достаточно много. Мы уже обсудили инвентаризацию ПО и «железа», пришла очередь проводки. Это очень важный этап планирования, и главное в нём — заложить фундамент будущего развития.Начать следует как всегда с инвентаризации имеющегося в наличии кабельного хозяйства...
Skype- новые возможности общения
Skype относится к тем уникальным интернет-явлениям, которые всего за несколько лет существования достигли такого уровня популярности, что о них не может не знать человек, проводящий в интернете хотя бы час в день. Несмотря на то, что количество программ для VoIP-телефонии постоянно увеличивается, а услуги голосового чата появляются в обычных IM-клиентах, популярность Skype не падает. Думается, этому есть несколько причин.
Во-первых, Skype – это уже не просто программа для интернет-общения, и подтверждение тому диалоги в магазинах компьютерной техники....
Эвристическое программирование
Подпрограмма MOVGEN реализует ход коня и заносит в MOVES поля, доступные в текущий момент, на глубину К. Конечно, нет необходимости хранить их в явном виде, и в действительности существуют очень эффективные способы генерации и проверки правильности шахматных ходов, однако для описания их здесь понадобилось бы слишком углубиться в детали.
В эту программу все еще не вписаны эвристические приемы, и, если ее прогнать в том виде, как она есть, она будет работать медленнее, чем Cray 1, и выдаст очень немногие результаты в обозримое время, даже для доски...
Класс задач
Мы завершаем этот раздел кратким рассмотрением широкого класса задач, для которых отсечение тупиковых ветвей дерева на раннем этапе столь же эффективно.
Решения минимальной стоимости. Для многих задач существует несколько решений, каждому из которых можно поставить в соответствие некоторую стоимость; требуется выбрать решение минимальной стоимости. Типичной задачей такого вида является задача о коммивояжере, согласно условиям которой коммивояжеру нужно посетить нескольких заказчиков и вернуться в исходную точку, причем стоимость...
Описание задачи и преобразования
Основой всех таких задач являются начальное состояние множество всех возможных описаний задачи и преобразования, применимые к каждой из них и соответствующие допустимым преобразованиям из одного состояния в другое, формально каждому состоянию можно поставить в соответствие вершину графа, а каждому преобразованию — ребро графа. В процедуре поиска рассматривается подмножество полного пространства состояний (чем меньшее, тем лучше, поскольку от этого зависит эффективность) с целью нахождения пути от первоначально заданного состояния...
Алгоритм упорядоченного поиска
Предположим, что / (х) — численная функция от вершины х, тогда предыдущий алгоритм может быть обобщен следующим образом:
0) Занести начальную вершину s в список OPEN и вычислить / (s).
1) Если список OPEN пуст, то выдать сообщение об ошибке, иначе — продолжит.
2) Исключить из списка OPEN вершину х, которой соответствует наименьшее значение/ (х), и занести ее в список CLOSED.
3) Если х — целевая вершина, то выйти из процедуры и обратной трассировкой по указателям найти решение.
4) Определить все соседние вершины хг— для вершины х и вычислить /(/)
5) Занести...
Большие объемы данных
В этом разделе рассматриваются проблемы, возникающие, когда объем данных, подлежащих обработке (а не сама программа), слишком велик, чтобы уместиться в доступной памяти. Эти проблемы в чем-то похожи на те, которые имеют место для очень больших программ, но ни в коем случае не идентичны им. Очевидно, что если й программа, и данные имеют очень большой объем j нужно использовать соответствующую комбинацию методов, рассматриваемых в этом и следующем разделах.
Когда выясняется, что данных слишком много, чтобы они уместились в памяти, прежде всего...
Важное замечание
Важное замечание: можно убедиться, что точность алгоритма зависит от способа вычислений, а именно от разности двух величин, определяемых суммами SUM и SUMSQ. Если значения заданных чисел (а следовательно, и среднее значение) велики в сравнении со средним квадратическим отклонением, то переменная XSTDEY будет вычисляться как разность двух больших чисел, дающая в результате малое число, т. е. существует опасность того, что большинство значащих разрядов будет потеряно и останется результат, который в основном или полностью определяется ошибкой...
Вычисления среднего квадратического отклонения
Важное замечание: здесь справедливы те же предостережения, что и в случае вычисления среднего квадратического отклонения.
Если простым выбором алгоритма задачу решить не удается, то следующей рассматриваемой возможностью является определение типа используемой структуры данных. Из примера вычисления коэффициента корреляции видно, как порядок обработки элементов данных может влиять на объем требуемой памяти. Теперь мы остановимся на рассмотрении способа хранения данных. Для иллюстрации возникающих при этом проблем обратимся к другому...
Библиотечные функции
Некоторые языки располагают соответствующими средствами для этого (например, режимы bit и byte в Алголе 68, процедуры pack и unpack в Паскале), в то время как в других требуется использование библиотечных функций или даже специально написанных на машинном коде модулей. Довольно часто упаковку специального назначения приходится реализовывать самому программисту. Например, если значения элементов целочисленного массива изменяются в узких пределах, их можно упаковать арифметически по несколько элементов в одну целую ячейку, чтобы использовать...
Операционная система
Фактически операционная система помогает программисту, выполняя балансировку системы, например при помощи внешнего обмена или процессора, применяемых для наиболее экономичного использования системы. Однако всегда желательно знать, что делается операционной системой и о чем должен позаботиться программист. Стимулировать программиста должна профессиональная гордость, но, если этого не происходит, помните, что жизнь часто бывает несправедливой и за все ошибки Вам следует винить себя, даже если кто-то другой обязан был предупредить Вас...
Оперативная память
Применяется прием, заключающийся в хранении соответствующего фрагмента массива в оперативной памяти, хранении указателей на его начало и конец в полном массиве и проверке индекса массива при каждом его вычислении. Когда значение индекса выходит за пределы рассматриваемого в текущий момент диапазона, вызывается программа перезаписи фрагмента массива в оперативную память из соответствующего фрагмента полного массива, хранящегося на диске. При этом обновляется запись, в которой находятся указатели начала и конца. Тогда можно будет возобновить...
Большие программы
Большие программы обычно требуют объем памяти, близкий к общему объему памяти ЭВМ, на которой они должны выполняться, или даже превышающий его, поэтому программа, которая считается большой на одной ЭВМ, не считается таковой на другой ЭВМ с большим объемом памяти. Двумя основными факторами, определяющими размер программы, являются число операторов в программе и объем памяти, резервируемой программой для хранения данных (например, в массивах).
В этом разделе мы остановимся на проблемах, возникающих, если сам текст программы очень велик, т....
Предварительный анализ задачи
Однако иногда предварительный анализ задачи может не дать информации, позволяющей легко разбить ее на последовательность отдельных шагов, и тогда может потребоваться спланировать и спроектировать одну большую программу. В этом случае при проектировании программы важно обеспечить высокую степень модульности. Другими словами, каждое специфическое задание, выполняемое программой, должно определяться как отдельная подпрограмму. Далее, сложные задания должны быть разбиты на несколько подпрограмм, каждая из которых выполняла бы определенную...
Повторяющийся код
Третий вид излишнего кода, повторяющийся код, встречается тогда, когда один и тот же текст появляется в программе более одного раза. Он может быть исключен, если оформить его в виде подпрограммы, которая будет вызываться везде, где это необходимо. Однако нельзя пользоваться этим приемом без разбора, поскольку вызов подпрограммы приводит к накладным расходам, связанным с памятью и временем. Если длина повторяющегося кода невелика или если он повторяется много раз, экономия памяти может оказаться слишком мала, чтобы оправдать накладные...
Сегментация
Альтернативный способ, сегментация, во многом аналогичен предыдущему и в смысле действий программиста, и в смысле их результатов. Программист так же разбивает свою программу на логические секции, в данном случае называемые сегментами . Организация сегментов программы в памяти описывается при помощи иерархической древовидной структуры. Основное различие между этими способом и организацией оверлейной структуры состоит в том, что загрузка сегмента производится автоматически, когда на него происходит ссылка.
R —корневой сегмент, который...
