Статья по предмету Компьютеры, программирование

  • 161. Оптимизация дисковой системы
    Статьи Компьютеры, программирование

    В настоящее время существует две стратегии работы дисков, контроллера и драйвера: "стандартный" для старых устройств режим, в котором обязаны работать все IDE накопители - режим PIO (Programmed Input/Output), в котором для передачи данных между накопителем и системой используется центральный процессор. Данный режим работает на всех IDE-контроллерах и является, собственно, изначальным режимом работы, регламентированном в самом первом стандарте. Тем не менее, в последние несколько лет подавляющее большинство контроллеров и устройств имеют альтернативный режим работы - так называемый режим Bus Mastering (DMA/UDMA), в котором управление передачей данных ведется самим контроллером, без участия процессора. Этот режим не только освобождает процессор, что очень важно в многозадачных системах, но еще и снимает ограничение на скорость передачи данных, накладываемое процессором и программным обеспечением. В системе Windows NT4.0 и Windows 2000, к примеру, драйвер, работающий в режиме PIO, на моей машине (Celeron 333A, чипсет BX) не может обеспечить скорость передачи данных больше 5 Мбайт/с с любого из трех современных дисков (Quantum 10 Гбайт, Seagate 6 Гбайт и Seagate Barracuda 30 Гбайт). В режиме Bus Mastering, напротив, Seagate Barracuda, например, выдает положенные ему 10 - 15 Мбайт/c, что почти в три раза (!) быстрее, да и остальные диски доходят до своего теоретического предела в 7 - 10 Мбайт/с. Прибавьте к этому то, что для работы в обычном режиме загрузка процессора (лично у меня) составляет 100%, а в режиме Bus Mastering - около 20%, и вы поймете, почему ваша система просто обязана работать в этом режиме.

  • 162. Оптимизация приложений С++Builder в архитектуре клиент/сервер
    Статьи Компьютеры, программирование

    Итак, какие шаги нужно предпринять для того, чтобы действительно повысить эффективность работы пользователей и производительность системы в целом? Первым шагом в данном направлении является, конечно, выбор сервера. В этом случае, к сожалению, нельзя давать однозначных рекомендаций типа "возьмите Oracle, он надежен" или "возьмите IB, он недорого стоит". Выбор сервера, управляющей им операционной системы и соответствующего аппаратного обеспечения должен осуществляться с учетом реальных и потенциально ожидаемых условий эксплуатации системы, таких, как скорость роста объема данных (например, в мегабайтах в месяц), интенсивность транзакций, вероятность многопользовательского доступа к одной или соседним записям в таблицах (при высокой вероятности желательно выбрать сервер, при использовании которого можно избежать страничных блокировок), потенциальный рост интенсивности работы пользователей, наличие повышенных требований к безопасности и защите данных (некоторые серверные СУБД выпускаются в разных исполнениях, отличающихся друг от друга степенью защищенности данных), необходимость использования продуктов сторонних производителей (таких, как ODBC-драйверы, дополнительные библиотеки и утилиты и др.), наличие связанных с этим проблем (типичным примером из недавней реальной практики была, например, проблема поиска ODBC-драйвера к серверу Centura SQLBase 6.0, поддерживающего использование хранимых процедур). Не менее, чем технические, важны и финансовые аспекты этой проблемы. Планируется ли использовать для установки серверной СУБД уже имеющеся вычислительные мощности и операционную систему или следует приобрести новые? В какую сумму обойдется приобретение серверной СУБД, клиентских лицензий, аппаратного обеспечения? Сколько будет стоить администрирование этой СУБД и управляющей ей операционной системы, а также обучение будущих администраторов и программистов? Сколько подключений к серверу допускается при приобретении одной лицензии - одно, два, четыре? Каковы условия, налагаемые лицензионными соглашениями при использовании мультиплексирования соединений за счет эксплуатации серверов приложений, если в дальнейшем возможен переход к трехзвенной архитектуре? Принятие решения о выборе серверной СУБД существенно зависит от ответа на все эти вопросы, и не всегда технические аспекты или мнение разработчиков определяют в конечном итоге выбор сервера. Нередки также случаи, когда предполагается использование уже имеющейся в наличии серверной СУБД (или даже готовой базы данных).

  • 163. Основные настройки BIOS
    Статьи Компьютеры, программирование

    Из базовых разделов выделим Standard CMOS Features, Advan-ced BIOS Features и Integrated Peripherals. В первом из них отображаются текущие дата и время, объем ОЗУ, выводится список IDE- и SATA-совместимых системных устройств. Изменить показатели часов можно и через ОС, поэтому ценность раздела заключается в начальной диагностике ПК: здесь отслеживается, какие приводы, жесткие диски подключены и определяются на аппаратном уровне, а какие нет. В Advanced BIOS Features (или меню Boot, если прошивка основана на коде от AMI) выставляется приоритет последовательности загрузки. Бывают случаи, когда операционная система на HDD не инициализируется лишь потому, что первым в списке устройств выбран FDD, в котором находится дискета, или CD-ROM с загрузочным диском. Пока не извлечете носители не надейтесь увидеть ОС. Сразу ставьте первым жесткий диск никогда не ошибетесь. Раздел Integrated Peripherals интересен тем, что позволяет отключать контроллеры, распаянные на материнской плате, управляя таким образом функциональностью ПК. Если в вашей системе при правильном подсоединении колонок нет звука проверьте, активирован ли аудиокодек (значение подменю должно быть Enabled либо Auto). Аналогично обстоят дела с сетевым контроллером, IEEE 1394 и др. Обратите внимание на пункты, посвященные USB. Обязательно активируйте соответствующий контроллер, включите поддержку клавиатуры и мыши с USB-интерфейсом. В зависимости от позиционирования материнской платы, ее особенностей в разделах Advanced BIOS Features и Integrated Peripherals могут содержаться разные системные установки. На краткое изучение предложенных в них настроек следует обратить внимание.

  • 164. Особенности и перспективы использования асинхронных двигателей с короткозамкнутым статором и преобразованием числа фаз (АДКСП)
    Статьи Компьютеры, программирование

    Особенностью статора АДКСП является практическое равенство площади паза сечению сплошного фазного стержня, а также малая длина вылета и металлоёмкость лобовых частей. Поэтому удельные показатели электромеханической части АДКСП превышают показатели эквивалентного АД обычной конструкции со всыпной или стержневой многовитковой обмоткой статора. Однако в АДКСП 2, 3 для преобразования числа фаз m = 3 в mп = Z использован трансформатор с вращающимся магнитным полем и с первичной распределенной обмоткой. Недостатком такого трансформатора является значительный вылет и объем меди лобовых частей. Кроме того, наличие преобразовательной части ухудшает массогабаритные показатели системы за счёт того, что ТП рассчитывается на мощность надежного обеспечения пуска, которая превышает номинальную мощность АДКСП. Существенным недостатком также является значительное количество гермовводов, а положительным качеством низкая кратность пускового тока в связи с наличием между сетью и электромеханической части ТП.

  • 165. Отладка систем реального времени
    Статьи Компьютеры, программирование

    Еще один подход к отладке распределенных приложений предложен в [16]. Описанный там отладчик Ariadne позволяет проверять, произошла ли некоторая заданная для конкретной задачи последовательность событий. Механизм проверки осуществлен следующим образом. Сперва создается граф хода выполнения приложения, построенный на протоколе работы приложения. Затем пользователь задает цепи - последовательности событий, которые будут искаться в графе хода выполнения приложения. Следующим шагом является создание p-цепей - это цепи, для которых указаны конкретные задачи, где ожидается возникновение данной последовательности событий. В итоге формируется шаблон поиска - pt-цепи, которые представляют собой логические композиции p-цепей. Если в графе хода выполнения встречается pt-цепь, то считается, что запрос удовлетворен, и возвращается так называемое абстрактное событие - подграф, содержащий встретившиеся экземпляры событий. Эти экземпляры удаляются из графа хода выполнения, и анализ событий продолжается. Если все pt-цепи присутствуют в графе, то тест считается успешно завершенным. Ввиду асинхронности выполнения ошибка может состоять в том, что нарушен порядок возникновения абстрактных событий. Для локализации таких ошибок в Ariadne реализованы следующие соотношения между абстрактными событиями:

  • 166. Отправка запроса методом POST на сервер из .NET приложения
    Статьи Компьютеры, программирование

    Задача: требуется из Windows .NET приложения отправить POST запрос на сервер и получить результат работы запрошенного методом POST скрипта. Предусмотреть ситуацию, при которой скрипт на сервере защищен Basic авторизацией.

  • 167. Оформление класса в виде COM объекта в C++
    Статьи Компьютеры, программирование

    Допустим у вас есть некоторое приложение, написанное на C++(VC++ если быть корректным). Как оно у вас появилось не суть важно, может быть это ваша старая разработка, может быть вы решили сначала отладить предметную часть. Важно то что вы горите желанием вынести часть классов в объектные модули и оформить их в виде ActiveX, COM и ATL объектов. Есть несколько типовых проблем связанных с таким переносом.

  • 168. Очерк по поводу создания PDF-файлов
    Статьи Компьютеры, программирование

    Что такое такое <header>? Это обычное упоминание о версии PDF specification. Которое присутствует в первой строке PDF файла. Например "%PDF-1.3" В седьмой версии акробата которая вышла где то в начале лета этого года, этот номер "%PDF-1.7", но это не версия продукта, это версия именно спецификации. Второй строкой PDF идет небольшая аброкадабра (видимо предназначена для дальнейшего использования) " %вгПУ"

  • 169. Ошибки при выполнении программы. Опции компилятора
    Статьи Компьютеры, программирование

    Опция Range checking (R) отвечает за контроль ошибок Range check error, Overflow checking (C) - за контроль ошибок Ariphmetic overflow, I/O cheking (I) - за контроль ошибок ввода-вывода. Смысл опции Stack cheking (S) будет объяснен несколько позже, а опция Debug information (D) включает в код программы отладочную информацию, что позволяет среде Turbo Pascal при аварийном завершении программы показать курсором оператор, в котором произошла ошибка. Позаботьтесь, чтобы при отладке программы перед первым ее оператором была строка {$R+,C+,I+,S+,D+} - это поможет вам найти и устранить все ошибки. Некоторые неопытные программисты выключают эти опции, тогда программа не прерывается при некоторых ошибках, а продолжает выполняться, на этом основании делается вывод, что программа верна. Это самообман - программа выполняется, но выполняется неправильно и никак не сообщает об ошибках.

  • 170. Парсер на РНР - это возможно!
    Статьи Компьютеры, программирование

    В чем прелесть такой функции? Вся прелесть заключается в том, то мы можем представить ее в виде матрицы, где номера строк будут задавать поступающие данные, а номера столбцов будут представлять область значений функции. Тогда, записав в ячейку (строка, столбец) число из множества значений функции, мы получим матрицу, которая описывает зависимость функции от входных данных и всего спектра значений. Будем называть число из множества значений СОСТОЯНИЕМ, а функцию АВТОМАТОМ.

  • 171. Перепрошивка BIOS
    Статьи Компьютеры, программирование

    Более надежна, так как процесс происходит в более спокойной "обстановке" (системных данных в ОЗУ загружено значительно меньше, поэтому и "желающих" глюкнуть будет меньше). Но DOS есть DOS со всеми присущими командной строке достоинствами и недостатками, следовательно, управление процессом перепрошивки будет производиться с помощью досовских команд. Для работы нам потребуются программа-прошивальщик, сама прошивка и дискета, отформатированная как системная и на которую все это будет записано и впоследствии загружено. Внимание! Под программой-прошивальщиком имеется в виду не та софтина, которую я упоминал в первом способе, а несколько другое ПО. Оно также должно быть скачано с офф.сайта производителя либо, что крайне нежелательно, с других ресурсов (альтернативный код, написанный сторонними разработчиками). Офф.сайт следует предпочесть всяким софтовым развалам потому, что сторонний софт может быть написан криво, а ошибки в микрокоде BIOS недопустимы и могут привести к неработоспособности всей системы и необходимости навестить сервис-центр. Итак, вы создали загрузочную дискету, записали туда прошивальщик и прошивку и уже готовы к самому процессу. Но это еще не все. Последний этап перед прошивкой - редактирование файла autoexec.bat. Замените его содержимое на следующее:

  • 172. Переход от С к С++
    Статьи Компьютеры, программирование

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

  • 173. Персональный компьютер, его состав и назначение
    Статьи Компьютеры, программирование

    Внешняя память предназначена для долговременного хранения информации независимо от того, работает ЭВМ или нет. Характеризуется она более низким быстродействием, но позволяет хранить существенно большой объем информации по сравнению с оперативной памятью. Во внешнюю память записывают информацию. которая не меняется в процессе решения задачи, программы, результаты решения и т.д. В качестве внешней памяти используют магнитные диски. магнитные ленты, магнитные карты, перфокарты, перфоленты. Устройства ввода - вывода предназначены для организации ввода информации в оперативную память компьютера или вывода информации из оперативной памяти компьютера во внешнюю память либо непосредственно пользователю. (НМЛ - накопитель на магнитной ленте НГМД - накопитель на гибких магнитных дисках, НМД - накопитель на жестких магнитных дисках, УПК-устройство ввода-вывода с перфокарт, УПЛ - устройство ввода-вывода с перфолент.

  • 174. Поиск и анализ движущихся объектов по серии изображений
    Статьи Компьютеры, программирование

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

  • 175. Полиморфные Вектора
    Статьи Компьютеры, программирование

    используя запись приведения к типу (тип)выражение, чтобы преобразовать common*& (ссылку на указатель на common), которую возвращает cvector::elem, в apple*&. Такое применение производных классов создает альтернативу обобщенным классам. Писать его немного труднее (если не использовать макросы таким образом, чтобы производные классы фактически реализовывали обобщенные классы, но оно имеет то преимущество, что все производные классы совместно используют единственную копию функции базового класса. В случае обобщенных классов, таких, как vector(type), для каждого нового используемого типа должна создаваться (с помощью implement()) новая копия таких функций. Другой способ, хранение идентификации типа в каждом объекте, приводит нас к стилю программирования, который часто называют объекто-основанным или объектно-ориентированным.

  • 176. Полный цикл управления бизнес-процессами с применением инструментов, поддерживающих стандарты
    Статьи Компьютеры, программирование

    Наиболее критичным этапом в жизненном цикле процесса является его развертывание на платформе, которая может оркестрировать поток и выполнять различные задачи этого процесса. Оркестрирование набора сервисов в сквозной поток процесса требует выполнения множества технических требований, включая соединение (binding) с разнородными системами, шаблоны для синхронного и асинхронного обмена сообщениями, манипулирование данными, координация в потоке, управление исключительными ситуациями, недетерминированные события, компенсирующие транзакции (compensating transactions), управление версиями, и т.д. Назначение стандарта BPEL обеспечение более богатого, но в то же время более простого уровня абстракции/стандарта для удовлетворения этих требований. Продукт Oracle BPEL Process Manager обеспечивает наиболее зрелую, масштабируемую и полную реализацию механизма исполнения BPEL, доступную сегодня. Некоторые из ключевых функций этого сервера:

  • 177. Понимание SOAP
    Статьи Компьютеры, программирование

    Во-первых, ключевым в SOAP является его наращиваемость. Когда аббревиатура еще что-то означала, буква "S" имела значение "Простой". Если мы хоть чему-то и научились в Web, так это тому, что простота всегда одерживает верх над эффективностью или техническим качеством, и когда делается ставка на способность к взаимодействию, она становится абсолютным требованием. Простота остается одной из основных целей при разработке SOAP, что доказывает отсутствие в SOAP различных возможностей распределенных систем, таких как безопасность, маршрутизация, надежность и т.д. SOAP определяет оболочку взаимосвязи, в которой есть возможность добавить эти возможности в будущем как многоуровневые расширения. Microsoft, IBM и другие производители программного обеспечения активно работают над созданием общего пакета расширений SOAP, которые добавят многие из этих возможностей, ожидаемых большинством разработчиков. Первым шагом стала Глобальная архитектура XML Web сервисов (Global XML Web Services Architecture (GXA)). Microsoft уже выпустила реализацию некоторых спецификаций GXA под названием Расширения Web сервисов 1.0 SP1 для Microsoft .NET (Web Services Enhancements 1.0 SP1 for Microsoft .NET (WSE)).

  • 178. Построение 3D-моделей нециклических молекул в естественных переменных
    Статьи Компьютеры, программирование

    Первый способ предполагает знание 3N декартовых координат N атомов, позволяет легко строить графическое изображение молекулы, вычислять значения всех естественных переменных и используется в большинстве современных программ квантовой механики, молекулярной механики и колебательной спектроскопии. Однако произвол в выборе положения начала координат и ориентации координатных осей затрудняет сравнение результатов, полученных разными авторами. Кроме того, наличие у молекулы трех поступательных и трех вращательных степеней свободы приводит к появлению шести нулевых собственных значений у матрицы вторых производных энергии по координатам и к дополнительным осложнениям вычислительного характера [1]. Наконец, само задание декартовых координат атомов - нетривиальная задача, поскольку они не являются справочными данными.

  • 179. Построение многооконных приложений для Windows
    Статьи Компьютеры, программирование

    После запуска C++ Builder в вашем распоряжении имеется только одна форма Form1 стартовая форма будущего приложения для Windows. Если вы хотите построить приложение, использующее в своей работе, например, три окна кликните мышью на значок New Form (Новая форма) два раза. Вы получили две новые формы: Form2 и Form3. Такого же результата можно добиться по-другому. А именно в меню File выберите команду New, а затем Form. Во время работы приложения на экране могут одновременно отображаться все три формы, или любые две, либо любая одна из них. Для того чтобы из любой формы можно было управлять остальными формами, их файлы Unit1.h, Unit2.h и Unit3.h необходимо связать. В заголовочной части файла Unit1.cpp для первой формы нужно дописать директивы:

  • 180. Построение формального языка L
    Статьи Компьютеры, программирование

    G[<оператор>]:

    1. <Оператор> while(<AB> ) [<Функция>];
    2. <AB> T|<AB> < T|<AB> > T|<AB> <= T | <AB> >= T | <AB> != T
    3. <T> O | T*O | T**O | T+O | T-O | T/O
    4. <O> (<AB>) | <IDENT> | <ЦБЗ>
    5. <IDENT> Б{Б|Ц}
    6. <ЦБЗ> Ц{Ц}
    7. <Функция> <IDENT>([<PAR>{,<PAR>}])
    8. <PAR> <IDENT> | <ЦБЗ> |