Программы и программное обеспечение
Определение (ГОСТ)
Программа - это данные, предназначенные для управления конкретными компонентами системы обработки информации (СОИ) в целях реализации определенного алгоритма.
Определения даются по: ГОСТ 19781-90. Обеспечение систем обработки информации программное. Термины и определения. - М.:Изд-во стандартов, 1990.
Обратить внимание: программа - это данные. Один из основных принципов машины фон Неймана - то, что и программы, и данные хранятся в одной и той же памяти. Сохраняемая в памяти программа представляет собой некоторые коды, которые могут рассматриваться как данные. Возможно, с точки зрения программиста программа - активный компонент, она выполняет некоторые действия. Но с точки зрения процессора команды программы - это данные, которые процессор читает и интерпретирует. С другой стороны программа - это данные с точки зрения обслуживающих программ, например, с точки зрения компилятора, который на входе получает одни данные - программу на языке высокого уровня (ЯВУ), а на выходе выдает другие данные - программу в машинных кодах.
Для посылки дейтаграмм отправитель и получатель создают сокеты дейта-граммного типа. В Java их представляет класс DatagramSocket. В классе три конструктора:
* DatagramSocket ()
— создаваемый сокет присоединяется к любому свободному порту на локальной машине;
* DatagramSocket (int port)
— создаваемый сокет присоединяется к порту port на локальной машине;
* DatagramSocket(int port, InetAddress addr) — создаваемый СОКСТ присоединяется к порту port; аргумент addr — один из адресов локальной машины.
Класс содержит массу методов доступа к параметрам сокета и, кроме того, методы отправки и приема дейтаграмм:
* send(DatagramPacket pack)
— отправляет дейтаграмму, упакованную в пакет pack;
* receive (DatagramPacket pack)
— дожидается получения дейтаграммы и заносит ее в пакет pack.
Заканчивается XX век. Невольно ожидаешь, что в новом веке жизнь тоже будет новой, не такой, как сейчас. Если есть желание что-то изменить, начать новую жизнь, то когда, как не на рубеже веков, самое лучшее время для этого. И еще тянет оглянутся назад, на прожитое, осмыслить так быстро промелькнувшие события.
Даже на фоне бурных последних десятилетий прогресс в вычислительной технике поражает своей стремительностью. 15 лет назад я работал в крупной программистской конторе, и несколько сот человек трудились вокруг и около вершины советской вычтехники - многопроцессорной ЭВМ "Эльбрус" с '8МБ' памяти и '~1' млн. операций в сек., занимавшей специально построенное здание. Колонны шкафов с аппаратурой, гудящие за стеклянными стенами дисководы, длинные ряды дисплеев были как верхушка айсберга. Охлажение, вентиляцию и электропитание обеспечивали цеха размером с небольшой заводик. Оживляла эту гору железа и проводов вполне рабочая многопользовательская ОС (Операционная Система) и инструментальная среда для разработки программ.
Серия ISD1400 представляет устройства, рассчитанные на частоты сэмплирования 6.4 КГц (20 сек.) и 8 КГц (16 секунд), позволяя пользователю выбирать между качеством звука и длительностью записи. Сэмплированный звук записывается в энергонезависимую память без оцифровки и сжатия, обычно использующихся в такого рода устройствах. Прямая аналоговая запись обеспечивает очень правильную, натуральную звуковую репродукцию голоса, музыки, тонов, и звуковых эффектов, недостижимую с помощью большинства цифровых решений.
Предлагаемый Вам программный продукт Dr.DivX (Доктор DivX), разработанный авторами революционного видео-кодека DivX, является первым и единственным официальным приложением для кодирования видео с помощью кодека DivX. Так же, как сами кодеки DivX и DivX Pro позволяют любому где бы-то ни было смотреть и распространять цифровое видео, так теперь программный продукт Dr.DivX делает процесс создания видео в формате DivX, столь же простым, как и наблюдение за самим созданием.
Как такое возможно, спросите Вы?– это специализированная программа, созданная специально для кодирования видео в формат DivX. Dr.DivX, получая данные почти от любого источника на вашем компьютере, позволяет Вам создать фильм всего за три простых шага, Теперь Вы можете взять большой видеофильм с вашей свадьбы или дня рождения - без разницы. Подготовить фильм для кодирования в DivX это вопрос нескольких секунд. После этого Вы можете мгновенно записать компакт диск или послать фильм по электронной почте вашим друзьям, чтобы все видели, какого цвета свитер Вы носили на своем последнем дне рождения.
Dr.DivX разрабатывался таким образом, чтобы позволить любому пользователю создавать качественное DivX видео без чрезмерных усилий. Благодаря доктору DivX некогда сложный и трудоемкий процесс кодирования видео высокого качества, теперь может быть пройден за три простых шага, эти несложные шаги займут лишь несколько секунд.
Большинство известных мне программистов, работающих на С++, с большой опаской относятся к созданию пользовательских интерфейсов (UI). Меня это, признаться, удивляет, поскольку программирование UI, на мой взгляд,-- дело простое, очевидное и увлекательное.
Простое -- потому, что самый сложный алгоритм, который вам может потребоваться,-- алгоритм отцентровки одного прямоугольника в другом. Очевидное -- потому, что, сделав ошибку, вы можете ее немедленно увидеть и исправить. Увлекательное -- потому, что вы можете сразу же увидеть результаты вашей работы. Работа по UI дизайну сродни работе скульптора: вы непосредственно ваяете программу.
Мне кажется, страх программистов перед UI программированием объясняется их страхом перед UI дизайном. Они полагают, что UI дизайн похож на дизайн графический: мистический процесс создания классного, необъяснимо художественного материала, затеянный креативными, одетыми во все черное, украшенными замысловатыми пирсинг-узорами людьми, небрежно потягивающими абсент через трубочки. Себя же программисты оценивают как логически мыслящих аналитиков: блестящее умение аргументировать, слабовыраженный художественный вкус. К тому же, пьют они растворимый черный кофе. И поэтому работать над UI дизайном они не могут.
Технология DirectParallel обеспечивает связь между двумя компьютерами через стандартный или расширенный (ECP) параллельный порт с использованием параллельных кабелей типа Basic или Fast компании Parallel Technologies. Сведения о настройке прямого сетевого подключения по кабелю DirectParallel см. в разделе Чтобы создать прямое сетевое подключение с помощью кабеля DirectParallel. Кабели для прямого кабельного подключения можно приобрести несколькими способами. Можно, например, заказать кабели DirectParallel в компании Parallel Technologies или у ее местного дилера. Дополнительные сведения см. в разделе Чтобы связаться с компанией Parallel Technologies или ее местным дилером с целью приобретения кабелей для прямого подключения.
Механические резонансы в корпусах громкоговорителей
Общеизвестно, что громкоговорители, совершенно одинаковые по конструкции и размерам корпуса, звучат по-разному только лишь потому, что корпуса выполнены из разных материалов. Звучание может отличаться, даже если два корпуса изготовлены из дерева одной и той же породы, но стенки ящика имеют разную толщину. По мере увеличения опыта становится очевидным, что даже аналогичные головки громкоговорителей в корпусах одной и той же конструкции, из одной и той же древесины, более того – изготовленные одним столяром, отличаются по звучанию. Ситуация интригующая, и эта проблема, которая интересовала меня в течение многих лет. По мере возможностей исследовались разные корпуса, и представляется заслуживающим внимания привести здесь всю информацию, собранную воедино. Хотя все проблемы еще никоим образом не решены.
Обычные кривые частотных характеристик слабо объясняют те различия в качестве звучания, о которых пойдет речь в ходе дальнейшей дискуссии. Заманчиво было бы объяснить субъективно воспринимаемые различия определенными отклонениями в измеренной характеристике. Например, что именно пик амплитудой в 1 дБ и шириной 20 Гц, расположенный в некоторой точке между 500 и 1000 Гц приводит к таким различиям в качестве звучания, которые будут очевидными в течение первых двух секунд сравнительного прослушивания. Такого рода предположения и выводы сделать настолько же легко, насколько трудно, почти невозможно их опровергнуть. На этом и основывается большинство рекламных уловок. Безусловно, различия в качестве могут отражаться на частотной характеристике, все же опыт подсказывает, что действительная причина часто бывает скрыта за значительным количеством недостоверной либо ненужной информации.
Я обнаружил, что открытый Data Desktop, даже без открытых объектов, может создавать "помехи". Также мудрит открытая сессия Delphi, если вы запускаете собранное приложение вне IDE. Я допускаю, что если вы закрываете все объекты под DD, конфигурация BDE быстро себя не очистит. Наверное мне следовало бы запустить мое приложение пару недель спустя, но я реально предполагаю, что множество сеансов Paradox блокируют бедный BDE.
Операционные системы и программное обеспечение на платформе zSeries
z/OS представляет собой новейшую операционную систему, спроектированную и разработанную для серверов zSeries с учетом перехода на 64-разрядную архитектуру. Как представитель семейства MVS, z/OS унаследовала основные конструктивные элементы своей предшественницы OS/390, сохранив и развив ее базовые возможности. Поэтому рассмотрение архитектуры z/OS целесообразно начать с исторического обзора, раскрывающего особенности технологии MVS и основные этапы совершенствования ОС вместе с совершенствованием аппаратной платформы
Однако в начале введем несколько важнейших понятий, которые помогут сориентироваться тем читателям, которые только начинают знакомиться с мэйнфреймами IBM.
Большинство команд меню InDesign имеют соответствующие сочетания клавиш быстрого доступа, ускоряющие работу пользователя. Например, вместо выбора команды New (Новый) из меню File (Файл) быстрее и легче воспользоваться сочетанием клавиш Cmd+N (на Macintosh) или Ctrl+N (в Windows). Обычно быстрый доступ осуществляется при нажатии нескольких клавиш.
Клавиши-модификаторы, используемые в комбинациях быстрого доступа, могут указываться в следующем порядке: вначале клавиши Cmd или Ctrl, затем Opt или Alt и только потом Shift. Порядок нажатия данных клавиш не имеет значения. Однако последнюю клавишу в комбинации (букву или цифру) необходимо всегда нажимать после остальных.
Освоившись в программе, вы можете использовать клавиши быстрого доступа. Я предлагаю вам определить, какие команды меню вы выполняете чаще всего. Например, если вы часто импортируете изображения из других программ, можете использовать сочетание клавиш, соответствующее команде Place (Поместить). Каждый раз, когда вы вставляете текст или изображение, используйте это сочетание. Даже если вам необходимо заглянуть в меню, чтобы вспомнить комбинацию клавиш, воспользуйтесь после этого клавишами для открытия диалогового окна Place. К концу дня вы должны запомнить их, чтобы на следующее утро выучить новую комбинацию.
Операционная система Windows NT и ее следующий представитель Windows 2000, благодаря своим современным принципам построения, защищенности, гибкости, а также встроенной сетевой поддержке и мощным сетевым возможностям, получила широкое распространение. Поэтому встает насущная проблема реализации систем защиты, которые могли бы встраиваться в ОС Windows NT, расширяя ее возможности и обеспечивая функции защиты сетевой информации.
Отметим сразу, что базовая архитектура ядра ОС Windows NT практически не изменилась при переходе к Windows 2000, поэтому почти все, что описано в этой книге верно как для ОС Windows NT, так и для Windows 2000.
Во многих случаях искусство требует трансцендентных способов выражения. Оно имеет внутреннюю гармонию. Для лучшего понимания задач, возникающих в процессе создания компьютерной графики, нужно осознать, с чем вы работаете и к чему вы стремитесь.
Приступив к изучению Maya, вы начинаете знакомство с новым языком, с новым средством общения. Помните, что техника, которую вы получаете в руки, является лишь средством конечного выражения вашей фантазии. Поэтому насладитесь процессом работы.
Цифровые студии нанимают в первую очередь профессиональных художников, то есть людей, имеющих опыт в традиционных искусствах, например рисовании, живописи, фотографии или скульптуре. Соответственно, изучение компьютерной графики следует начать с обзора ключевых принципов искусства. Именно этому и посвящена данная глава. Всегда следует помнить, что компьютер, с которым вы работаете, — не более чем инструмент.
В последние десятилетия интерес к компьютерной графике значительно возрос. В немалой степени это является следствием появления на рынке мощных компьютеров по относительно низким ценам. Начиная с конца 90-х годов оборудование для создания анимации стало доступным для индивидуальных пользователей.
В результате многие художники добавили в сферу своих интересов компьютерную графику. Но перед тем как приступить к изучению конкретных инструментов, необходимо познакомиться с фундаментальными понятиями из этой области.
Локальные сети в последнее время из модного дополнения к компьютерам все более превращаются в обязательную принадлежность любой компании, имеющей больше одного компьютера. Совершенствование аппаратуры и программных средств достигло такого уровня, когда установить и эксплуатировать простейшую сеть может практически любой более или менее грамотный пользователь, тем более что на рынке имеется множество книг, подробно описывающих процесс установки и обслуживания, а последние версии наиболее распространенной операционной системы Windows содержат в себе довольно развитые сетевые средства, так что даже покупать специальное сетевое программное обеспечение совсем не обязательно. То, что раньше было доступно только посвященным, только специально обученным профессионалам, теперь легко может проделать каждый.
Однако не каждый пользователь, который имеет дело с сетью, удовлетворяется той поверхностной информацией, которая содержится в большинстве популярных книг, отличающихся к тому же многословием и бессмысленным стремлением охватить все вопросы разом. Некоторым недостаточно знаний о том, как подключить сетевой адаптер к компьютеру, как соединить кабелем адаптер с концентратором и запустить программу совместного использования диска. Им интересно также знать, что же происходит внутри сети, как взаимодействуют между собой сетевые средства, какие алгоритмы они используют, чем отличаются друг от друга. У нас в стране довольно много людей с высшим и средним техническим образованием, которым хотелось бы дойти до самой сути сетевых технологий, до глубинных их механизмов. А тем, кто занимается разработкой оригинальных сетевых средств или методов нетрадиционного использования стандартного сетевого оборудования, подобные знания просто необходимы.
Язык Perl создан системным программистом Ларри Уоллом (Larry Wall) как средство UNIX, позволяющее "склеивать" из программок, выполняющих отдельные функции, большие сценарии для решения комплекса задач, связанных с администрированием, обработкой текста и т. д. В дальнейшем он вышел за эти рамки, превратился в настоящий язык программирования, в котором нашли отражение многие тенденции, обозначившиеся в технологии программирования за последнее десятилетие, и получил широкое распространение в связи с развитием Inernet. Perl является основным средством создания приложений CGI, удобен для решения задач администрирования Web-серверов, электронной почты и других систем. Благодаря быстроте и легкости написания сценариев на этом языке он распространился и на другие платформы: DOS, Windows, OS/2, Mac, VMS и пр. Одно из основных достоинств языка Perl — его открытость и доступность. В сети Internet можно получить совершенно бесплатно исходные тексты интерпретатора perl (язык Perl — интерпретируемый, что в некоторых случаях является преимуществом) и модулей его расширения.
Программирование компьютеров может свести с ума. Другие профессии дают Вам прекрасные возможности наблюдать осязаемые результаты Ваших усилий. Часовщик может смотреть на свои зубчики и колесики, швея -- на швы, ровно ложащиеся после каждого взмаха иглы. Но программист проектирует, строит и ремонтирует нечто воображаемое, призрачные механизмы, ускользающие от восприятия органами чувств. Наша работа происходит не в ОЗУ, не в программе-редакторе, а внутри нашей головы.
Построение моделей в воображении привлекает и доставляет удовольствие программисту. Как же лучше к этому подготовиться ? Вооружиться самыми хорошими отладчиками, декомпиляторами и дизассемблерами ? Они помогают, однако самые существенные из технологий и инструментов -- умственные. Нам нужна последовательная и практическая методология для `мышления` на тему задач программирования. Это и составляет суть того, что я попытался выразить в моей книге. "Способ мышления ..." предлагается всем, кто заинтересован в написании программ для решения конкретных задач. Книга рассматривает вопросы проектирования и применения: принятие решений о том, что Вам нужно сделать, разработка компонентов системы и, наконец, построение системы.