Hide 1C - очень занятная штука. Она в буквальном смысле слова умеет скрывать главное окно V7. Причём управлять процессом можно программно.
Помимо этого Hide 1C позволяет:
-Задать "всплывающий" заголовок для иконки
-Задать пароль на восстановление окна V7
-Заставить иконку "мигать" с нужной частотой
-Убрать иконку из трея
Гайя Кришна Вайдьянатха, Киртикумар Дешпанде, Джон Костелак. 101 Oracle. Настройка производительностиКнига, которую вы держите в руках, является первым вводным учебником по описанию усовершенствованных методов оптимизации, а не попыткой вырастить еще одно поколение аналитиков, использующих старые, основанные только на здравом смысле методы анализа, которые вот уже более 10 лет загоняют в тупик администраторов баз данных Oracle. Книга является сильно запоздавшим введением в тему производительности Oracle, порывающим с устоявшимися мифами о настройке, которые до сих пор бытуют на рынке.
Книга отличается от других учебников по C++ новым подходом к изложению материала, основанным на логике и здравом смысле. Вместо простого перечисления языковых конструкций, снабженных примерами, авторы стремятся научить читателя мыслить категориями C++. Они подробно объясняют, почему проектировщики языка принимали то или иное решение, описывают типичные проблемы и пути их решения. Во втором томе рассматриваются такие темы, как обработка исключений, стандартная библиотека C++ (включая потоки ввода/вывода, контейнеры и алгоритмы STL), шаблоны, множественное наследование, RTTI, автоматизация тестирования и отладки программ, паттерны проектирования и т.д.
Dr.Web Plugin for Mozilla Firefox - Плагин для антивирусной программы Dr.Web, предназначенный для браузеров Mozilla и Firefox. Встраивается в контекстное меню браузера и позволяет проверить ссылку на наличие в ней (в смысле - на той странице, на которую она ведет) вирусов, троянов, шпионского и рекламного ПО, всплывающих окон и другого потенциально опасного ПО перед тем, как принять решение об открытии страницы.
Проверка осуществляется на сервере компании Dr.Web, поэтому иметь установленный антивирус Dr.Web не трубется.
Наверно каждый из нас несколько лет назад, с языком на перевес играл в Dendy, признавайтесь было такое ? Так вот помните там такую игру battle tank. Смысл игры простой как 2 копейки, убивай вражеские танки и защищай от них свою базу. Так вот о чем это я... в общем теперь battle tank доступен для вас в исходнике на delphi. Конечно немного глючная ... но если у кого есть желание доделайте и исправьте глюки.
Да и это еще не все в архиве так же есть исходник редактора карт. Поэтому вы можете создать собственню арену для битвы и мочить, мочить, мочить вражеские танки :)
В книге очень подробно рассказано, почему имеет смысл решать все свои задачи с помощью SQL*Plus. Вы узнаете, как писать и выполнять файлы сценариев, генерировать и форматировать отчеты, получать информацию из баз данных, запрашивать таблицы словарных данных, настраивать для своих целей среду SQL*Plus, применять механизмы администрирования SQL*Plus.
В данной книге сделана попытка собрать информацию о таком виде компьютерного зла, как троянские кони. Известно, что в Древней Греции пользвы от троянского коня для защитников Трои было немного, а вот вреда более чем достаточно. С тех времен смысл названия изменился незначительно. Только поле битвы переместилось с полей Древней Греции в компьютерные сети.
В книге приводится некоторая классификация программ, отнесенных к троянским коням, показываются из основные отличия от вирусов, принципы функционирования, а также рекомендации по защите и борьбе с вредоносными приложениями. Приведены примеры троянских коней и программы по защите от них.
Эта книга познакомит читателей с одним из величайших видов тайн — наукой о шифрах или криптологией. Изобретенная тысячелетия назад письменность обладает свойством вседоступности, которое, в зависимости от получателя сообщения, можно рассматривать как полезное, или как вредное. Мы обычно рады получить письмо от знакомых, но бываем не в восторге, заметив, что конверт вскрыт и с его содержимым кто-то ознакомился. Потому параллельно письменности, развивается секретное письмо, или по-гречески криптография. Она предназначена спрятать смысл письма от просто грамотных людей и сделать его доступным лишь определенным адресатам. Поскольку компьютер революционно расширил в последние годы сферу письменности, то почти одновременно возникла потребность столь же большого развития криптографии. Насколько актуально ее использование сейчас - судите сами.
От кого же придется защищать свои данные? Пословица гласит: "От своего вора не убережешься”. Если верить газетным публикациям, то российская внешняя разведка готова отечественным структурам продавать технологические секреты, выведанные за рубежом. На практике это может выглядеть таким образом. Россиянин ведет свое дело в США, а наша разведка, выкрав там его секреты, продаст их в России совместной с американцами фирме. Теория честного жулика, который в своем доме не ворует, в данном случае порочна. Наши разведчики и их шпионы мирно договариваются, какими секретами, похищенными в своих странах, они согласны обменяться и как поделить вырученные от этого деньги. Стремление государственных секретных служб ввести свои правила шифрования частных и коммерческих данных означает ни что иное, как желание Старшего Брата выведать их.
Книга отличается от других учебников по C++ новым подходом к изложению материала, основанным на логике и здравом смысле. Вместо простого переисления языковых конструкций, снабженных примерами, авторы стремяться научить читателя мыслить категориями C++. Они подробно объясняют, почему проектировщики языка принимали то или иное решение, описывают типичные проблемы и пути их решения.
Во втором томе рассматриваются такие темы, как обработка исключений, стандартная библиотека C++ (включая потоки ввода/вывода, контейнеры и алгоритмы STL), шаблоны, множественное наследование, RTTI, автоматизация тестирования и отладки программ, паттерны проектирования итд.
Прежде всего, микроконтроллер это процессор со всеми его "атрибутами", плюс встроенная, энергонезависимая память (программ и данных), что позволяет отказаться от внешней памяти программ и поместить программу в его энергонезависимую память.
Это позволяет создавать очень простые (в схемотехническом отношении) и компактные устройства, выполняющие, тем не менее, достаточно сложные функции. Иногда даже диву даешься: эта маленькая "штучка" заменяет целую "груду старого железа"
Любой микроконтроллер, по своим возможностям, конечно же, уступает процессору компьютера, но тем не менее, существует весьма обширный класс устройств, которые преимущественно реализуются именно на микроконтроллерах. И в самом деле, компьютер в карман не положишь и от батареек его не запитаешь. Поэтому, во многих случаях, микроконтроллерам просто нет альтернативы. "Сердцем" микроконтроллера является арифметико - логическое устройство (АЛУ).
Проще всего его представить в виде банального калькулятора, кнопками которого управляет программа, написанная на языке ассемблер (то есть, программист). Если вдуматься, то ничего особо сложного, в механизме управления такого рода калькулятором, нет. И в самом деле, если нужно, например, сложить числа А и В, то в тексте программы сначала задаются константы А и В, а затем дается команда "сложить". Программисту вовсе не обязательно знать, что происходит с нулями и единицами (разве только только для общего развития), ведь калькулятор он на то и калькулятор, чтобы избавить пользователя от "возни" с машинными кодами и прочими "неудобоваримостями".
Когда Вы работаете с компьютером, Вам и не нужно детально знать, что происходит в дебрях операционной системы.
Если Вы туда "полезете", то "с ума сойдете", а микроконтроллер, по своей сути, есть тот же самый компьютер, но только простой. Программисту только нужно детально знать, каким именно образом "приказать железяке" сделать то, что необходимо для достижения задуманного. Микроконтроллер можно представить себе как некий универсальный "набор" многофункциональных модулей (блоков), "рычаги управления" которыми находятся в руках программиста. Этих "рычагов" достаточно большое количество, и естественно, их нужно освоить и точно знать, что именно произойдет, если "дернуть" (дать команду на языке ассемблер) за тот или иной "рычаг". Вот здесь-то уже нужно знать, как "отче наше", каждую деталь и не жалеть на это "узнавание" времени. Только таким образом пустую "болванку" (незапрограммированый ПИК) можно "заставить"
выполнять какие-то "осмысленные" действия, результат большей части которых можно проверить в симуляторе MPLAB (об этом - позднее), даже не записывая программу в ПИК.
Итак, необходим переход к "модульному" мышлению. Любой микроконтроллер можно уподобить детскому конструктору, в состав которого входит множество всяких предметов, манипулируя с которыми, можно получить тот или иной конечный "продукт". Давайте с ними разберемся и "разложим все по полочкам". В качестве примера я буду использовать один из самых распространенных PIC контроллеров PIC16F84A. Он является как бы "проматерью" более сложных ПИКов, содержит минимальный "набор" модулей и как нельзя лучше подходит для первичного "въезда в м/контроллеры".
Энергонезависимая память.
Начнем с энергонезависимой памяти (память программ и память данных).
Информация, заложенная в энергонезависимую память, сохраняется при выключении питания, и поэтому именно в нее записывается программа.
То "место" энергонезависимой памяти, куда записывается программа, называется памятью программ. Объем памяти программ может быть различен. Для PIC16F84A, он составляет 1024 слова. Это означает, что он предназначен для работы с программами, объем которых не превышает 111024 слов.
Слово памяти программ не равно одному байту (8 бит), а больше его (14 бит). Отдельная команда, которую ПИК будет в дальнейшем выполнять, занимает одно слово в памяти программ. В зависимости от названия этой команды в ассемблере, слово принимает то или иное числовое значение в машинном коде. После записи в ПИК "прошивки" программы, слова памяти программ (машинные коды) как бы "превращаются" в команды, которые располагаются, в памяти программ, в том же порядке, в котором они следуют в исходном тексте программы, написанном на языке ассемблер, и в том же порядке им присваиваются адреса, при обращении к которым, та или иная команда "извлекается" из памяти программ для ее выполнения. Последовательность же их выполнения определяется логикой программы. Это означает то, что выполнение команд может происходить не в порядке последовательного возрастания их адресов, с шагом в одну позицию (так называемый инкремент), а "скачком". Дело в том, что только уж самые простейшие программы, в пределах одного их полного цикла, обходятся без этих "скачков", называемых переходами, и выполняются строго последовательно. В остальных же случаях, так называемая (мной) "рабочая точка программы" "мечется по тексту программы как угорелая" (как раз благодаря этим самым переходам).
Термин "рабочая точка программы" - моя "самодеятельность". В свое время, я был очень сильно удивлен отсутствием чего-то подобного в информации, связанной с объяснением работы программ. Казалось бы, чего проще, по аналогии, например, с рабочей точкой транзистора, сделать более комфортным "въезд в механику" работы программ? Так нет же, как будто специально, придумываются такие "головокружительные заменители", причем, в различных случаях, разные, что запутаться в этом очень просто. Итак, рабочую точку программы можно представить себе в виде некоего "шарика от пинг-понга", который "скачет" по командам текста программы в соответствии с алгоритмом (логикой) исполнения программы. На какую команду "шарик скакнул", та команда и исполняется. После этого он "перескакивает" на другую команду, она исполняется, и т.д. Эти "скачки" происходят непрерывно и в течение всего времени включения питания устройства (исполнения программы).
Любая более-менее сложная программа разбивается на части, которые выполняют отдельные функции (своего рода программки в программе) и которые называются подпрограммами. Атрибут любой подпрограммы - функциональная законченность производимых в ней действий.
По сути своей, эта "выдумка" введена в программирование для удобства реализации принципа "разделяй и властвуй": "врага" ведь гораздо легче "разгромить по частям, чем в общей массе". Да и порядка больше.
Безусловные переходы (переходы без условия) между подпрограммами (если они последовательно не переходят одна в другую), осуществляются при помощи команд безусловных переходов, в которых обязательно указывается адрес команды в памяти программ (косвенно - в виде названия подпрограммы или метки), на которую нужно перейти. Существуют также переходы с условием (условные переходы), то есть, с задействованием так называемого стека. Более подробно о переходах я расскажу позднее. Адреса команд определяются счетчиком команд (он называется PC). То есть, каждому состоянию счетчика команд соответствует одна из команд программы. Если команда простая, то счетчик просто инкрементируется (последовательно выполняется следующая команда), а если команда сложная (например, команда перехода или возврата), то счетчик команд изменяет свое состояние "скачком", активируя соответствующую команду.
Примечание: инкремент - увеличение на единицу величины числа, с которым производится эта операция, а декремент - уменьшение на единицу (так называемые комплиментарные операции). В простейшем случае, то есть в случае отсутствия в программе переходов, счетчик команд PC, начиная с команды "старта" (нулевой адрес), многократно инкрементируется, 12 последовательно активизируя все команды в памяти программ. Это означает, что в большинстве случаев, за каждый так называемый машинный цикл (такт работы программы: для ПИКов он равен четырем периодам тактового генератора) работы ПИКа, происходит исполнение одной команды. Есть и команды исполнение которых происходит за 2 машинных цикла (м.ц.), но их меньше. Команд, которые исполняются за 3 м.ц. и более нет. Таким вот образом, на большинстве участков программы (я их называю "линейными участками"), последовательно и перебираются адреса в памяти программ (команды последовательно исполняются).
В более сложных программах, с большим количеством условных и безусловных переходов, работу счетчика команд PC можно охарактеризовать фразой "Фигаро здесь, Фигаро там". 1 машинный цикл (м.ц.) равен 4-м периодам тактового генератора ПИКа. Следовательно, при использовании кварца на 4 Мгц., 1 м.ц.=1 мкс. Выполнение программы, в рабочем режиме (кроме работы в режиме пониженного энергопотребления SLEEP), никогда не останавливается, то есть, за каждый машинный цикл (или за 2, если команда исполняется за 2 м.ц.) должно выполняться какое-либо действие (команда). Тактовый генератор, формирующий машинные циклы, работает постоянно. Если его работу прервать, то исполнение программы прекратится.
Может сложиться ложное представление о том, что работу программы можно на какое-то время остановить, используя одну или несколько команд – "пустышек", не производящих полезных действий (есть такая команда NOP). Это представление не верно, так как в этом случае, речь идет только о задержке выполнения следующих команд, а не об остановке исполнения программы. Программа исполняется и в этом случае, так как "пустышка" есть та же самая команда программы, только не производящая никаких действий (короткая задержка). Если же нужно задержать выполнение каких-либо последующих команд на относительно длительное время, то применяются специальные, циклические подпрограммы задержек, о которых я расскажу позднее. Даже тогда, когда программа "зависает" ("глюк"), она исполняется, просто только не так, как нужно. Остановить (в буквальном смысле этого слова) исполнение программы можно только прекратив работу тактового генератора. Это происходит при переходе в режим пониженного энергопотребления (SLEEP), который используется в работе достаточно специфических устройств. Например, пультов дистанционного управления (и т.д.).
Отсюда следует вывод: программы, не использующие режим SLEEP (а таких - большинство), для обеспечения непрерывного выполнения команд программы, обязательно должны быть циклическими, то есть, иметь так называемый полный цикл программы, причем, многократно повторяющийся в течение всего времени включения питания. Проще говоря, рабочая точка программы должна непрерывно (не останавливаясь) "мотать кольца" полного цикла программы (непрерывно переходить с одного "кольца" на другое).
Общие выводы:
1. Команды программы "лежат" в памяти программ в порядке расположения команд в тексте программы.
2. Адреса этих команд находятся в счетчике команд PC и каждому адресу соответствует одна из команд программы.
3. Команда активируется (исполняется), если в счетчике команд находится ее адрес.
4. Активация команд происходит либо последовательно (на "линейном" участке программы), либо с переходом ("скачком") на другую команду (при выполнении команд переходов), с которой может начинаться как подпрограмма (переход на исполнение подпрограммы), так и группа команд, выделенная меткой (переход на исполнение группы команд, которой не присвоен "статус" подпрограммы).
5. Выполнение команд программы никогда не останавливается (за исключением режима SLEEP), и поэтому программа должна быть циклической.
Кроме памяти программ, PIC16F84A имеет энергонезависимую память данных (EEPROM память данных). Она предназначена для сохранения данных, имеющих место быть на момент выключения питания устройства, в целях их использования в дальнейшем (после следующего включения питания). Так же, как и память программ, память данных состоит из ячеек, в которых "лежат" слова. Слово памяти данных равно одному байту (8 бит). В PIC16F84A, объем памяти данных составляет 64 байта. Байты, хранящиеся в памяти данных, предназначены для их считывания в стандартные 8-битные регистры, речь о которых пойдет далее. Данные из этих регистров могут быть записаны в EEPROM память данных, то есть, может быть организован обмен данными между памятью данных и регистрами. Например, именно EEPROM память данных я использовал в своем частотомере для сохранения последних, перед выключением питания, настроек. Она же используется и для установки значений промежуточной частоты. Во многих программах, память данных вообще не используется, но это "вещь" исключительно полезная, и далее я расскажу о ней подробнее.
Известно, что на кнопки в экранных формах V7 можно «вешать» горячие клавиши. Однако количество оных оставляет желать лучшего – это только Fx с различными модификаторами (alt, ctrl, shift), при чём наиболее привлекательные сочетания (например, F1) уже зарезервированы системой. Но всё-таки существует способ привязать к кнопкам и иные сочетания клавиш – о нем я и расскажу. Однако этот способ не относится к стандартным и документированным, поскольку требует непосредственной (минуя конфигуратор) модифиикации форм.
Инструментарий.
Нам потребуется: файловый менеджер FAR, plug-in к нему по имени DocFileBrowser, справочник по кодам клавиш (в смысле, которые Virtual Keys, VK_), и любой HEX-редактор (можно использовать соответствующую функцию FAR'a).
Сам процесс.
Допустим, у нас есть некий внешний отчёт, на какую-то из кнопок которого мы хотим повесить "хоткей", отличный от стандартного. Открываем в FAR'e этот отчет через DocFileBrowser и видим, что он в себе набор stream'ов (которые можно запросто называть файлами, суть одна и та же):
Container.Contents
Container.Profile
Dialog Stream
Inplace description
Main MetaData Stream
MD Programm text
Какой файл к чему относится – я описывать не буду, про это и так неоднократно уже говорилось, тем более, что имена файлов более чем прозрачны. Да вы и сами все знаете ;-).
Так вот, нам нужен Dialog Stream. Распакуйте его куда-нибудь (простая операция Copy в FAR'e).
Теперь посмотрим, что он из себя представляет – это почти что обычный текстовый файл, за исключением первых трёх байт – там может быть все, что угодно (на самом деле, там длина файла).
Файл состоит из строчек типа:
На самом деле это всё одна строка, просто она разбита разбита для удобства чтения.
Так вот, последние {""0"",""0""} есть ни что иное, как модификатор (первое числовое поле) и Vkey_code назначенной кнопке горячей клавиши. Причём оба числа десятичные.
Модификатор означает:
0 – нет хоткея,
3 – есть;
+4 – Shift
+8 – Ctrl
+16 – Alt
например, для Alt+Shift+Key модификатор будет 23.
Теперь, зная VK_ нужной нам клавиши (например, 41H = 65 для "A"), мы можем вручную назначить, скажем, кнопке «Закрыть» хоткей Ctrl+A – для этого заменим ее «хвост» на такой: {""11"",""65""} и со спокойной совестью сохраняем наш файл.
Однако его длина изменилась – поэтому открываем файл каким-нибудь HEX-редактором, и правим: первый байт всегда FF, второй и третий – длина оставшегося куска файла (без учета этих трёх байт).
Как вычислить эту длину? Становимся на последний байт файла – допустим, это адрес 05ECH. Поскольку адресация идет с нуля, то всего в файле 05EDH байт. Вычитаем три (первых) – получаем 05EAH. Это число и ставим во второй и третий байты заголовка (естественно, младший байт идет первым – EA 05).
Далее – cохраняем, запаковываем Dialog Stream на место, закрываем файл (DocFileBrowser открывает файлы монопольно, 1С одновременно с ним тот же файл открыть не сможет).
Теперь открываем отчет в 1С, и наслаждаемся произведённым эффектом.
Напоследок хочу предупредить – редактирование свойств «пропатченной» кнопки в конфигураторе приводит к потере установленного хоткея, это вполне закономерно и ничего тут не поделать. Будьте внимательны.
К сему описанию прилагается демонстрационный пример с тремя хоткеями – Ctrl+D, Alt+D и просто D. При чем все они (D в том числе) действуют даже тогда, когда фокус находится в поле ввода.
Самое последнее: при вызове хоткея активный элемент не теряет фокуса!
Лазерные диски – не слишком-то надежные носители информации. Даже при бережном обращении с ними вы не застрахованы от появления царапин и загрязнения поверхности (порой диск фрезерует непосредственно сам привод и вы бессильны этому противостоять). Но даже вполне нормальный на вид диск может содержать внутренние дефекты, приводящие к его полной или частичной нечитаемости на штатных приводах.
Особенно это актуально для CD-R/CD-RW дисков, качество изготовления которых все еще оставляет желать лучшего, а процесс записи сопряжен с появлением различного рода ошибок. Однако даже при наличии физических разрушений поверхности лазерный диск может вполне нормально читаться за счет огромной избыточности хранящихся на нем данных, но затем, по мере разрастания дефектов, корректирующей способности кодов Рида-Соломона неожиданно перестает хватать, и диск безо всяких видимых причин отказывается читаться, а то и вовсе не опознается приводом.
К счастью, в подавляющем большинстве случаев хранимую на диске информацию все еще можно спасти, и эта статья рассказывает как.
Общие рекомендации по восстановлению
Не всякий не читающийся (нестабильно читающийся) диск – дефектный. Зачастую в этом виновен отнюдь не сам диск, а операционная система или привод. Прежде чем делать какие-либо заключения, попробуйте прочесть диск на всех доступных вам приводах, установленных на компьютерах девственно-чистой операционной системой. Многие приводы, даже вполне фирменные и дорогие (например, мой PHILIPS CD-RW 2400), после непродолжительной эксплуатации становятся крайне капризными и раздражительными, отказывая в чтении тем дискам, которые все остальные приводы читают безо всяких проблем. А операционная система по мере обрастания свежим софтом склонна подхватывать различные глюки подчас проявляющиеся самым загадочным образом (в частности, привод TEAC, установленный в систему с драйвером CDR4_2K.SYS, доставшемся ему в наследство от PHILIPS'a, конфликтует с CD Player'ом, не соглашаясь отображать содержимое дисков с данными, если тот активен, после удаления же CDR4_2K.SYS все идет как по маслу).
Также не стоит забывать и о том, что корректирующая способность различных моделей приводов очень и очень неодинакова. Как пишет инженер-исследователь фирмы ЕПОС Павел Хлызов в своей статье "Проблема: неисправный CD-ROM": "…в зависимости от выбранной для конкретной модели CD-ROM стратегии коррекции ошибок и, соответственно, сложности процессора и устройства в целом, на практике тот или иной CD-ROM может либо исправлять одну-две мелкие ошибки в кадре информации (что соответствует дешевым моделям), либо в несколько этапов восстанавливать, с вероятностью 99,99%, серьезные и длинные разрушения информации. Как правило, такими корректорами ошибок оснащены дорогостоящие модели CD-ROM. Это и есть ответ на часто задаваемый вопрос: "Почему вот этот диск читается на машине товарища, а мой ПК его даже не видит?".
Вообще-то, не совсем понятно, что конкретно господином инженером-исследователем имелось ввиду: корректирующие коды C1, C2, Q- и P- уровней корректно восстанавливают все известные мне приводы, и их корректирующая способность равна: до двух 2 ошибок на каждый из C1 и C2 уровней и до 86- и 52-ошибок на Q- и P- уровни соответственно. Правда, количество обнаруживаемых, но уже математически неисправимых ошибок составляет до 4 ошибок на C1 и C2 уровней и до 172/104 ошибок на Q/P, но… гарантированно определяется лишь позиция сбойных байт во фрейме/секторе, а не их значение. Впрочем, зная позицию сбойных байт и имея в своем распоряжении исходный HF-сигнал (т. е. аналоговый сигнал, снятый непосредственно со считывающей головки), кое-какие крохи информации можно и вытянуть, по крайней мере теоретически… так что приведенная выше цитата в принципе может быть и верна, однако, по наблюдениям автора данной статьи, цена привода очень слабо коррелирует с его "читабельной" способностью. Так, относительно дешевые ASUS читают практически все, а дорогие PHILIPS'ы даже свои родные диски с драйверами опознают через раз.
Другая немаловажная характеристика – доступный диапазон скоростей чтения. В общем случае – чем ниже скорость вращения диска, тем мягче требования, предъявляемые к его качеству. Правда, зависимость эта не всегда линейна. Большинство приводов имеют одну или несколько наиболее предпочтительных скоростей вращения, на которых их читабельная способность максимальна. Например, на скорости 8x дефектный диск читается на ура, а на всех остальных скоростях (скажем, 2x, 4x, 16x, 32x) – не читается вообще. Предпочтительная скорость легко определяется экспериментально, необходимо лишь перебрать полный диапазон доступных скоростей.
При покупке CD-ROM'a выбирайте тот привод, у которого скоростной диапазон максимален. Например, уже упомянутый выше PHILIPS CDRW 2400 умеет работать лишь на: 16x, 24x, 38x и 42x. Отсутствие скоростей порядка 4x – 8x ограничивает "рацион" привода только высококачественными дисками.
По непонятным причинам, штатные средства операционной системы Windows не позволяют управлять скоростью диска и потому приходится прибегать к помощи сторонних утилит, на недостаток которых, впрочем, жаловаться не приходится. Вы можете использовать Slow CD, Ahead Nero Drive Speed и т. д. Вообще-то, большинство приводов самостоятельно снижают скорость, натолкнувшись на не читающиеся сектора, однако качество заложенных в них алгоритмов все еще оставляет желать лучшего, поэтому "ручное" управление скоростью дает значительно лучший результат.
Если же ни на одном из доступных вам приводов диск все равно не читается, можно попробовать отшлифовать его какой-нибудь полировальной пастой. Технике полирования оптических поверхностей (и лазерных дисков в частности) посвящено огромное количество статей, опубликованных как в печатных изданиях, так и в Интернете (особенно полезны в этом смысле астрономические книги по телескопостроению), поэтому здесь этот вопрос будет рассмотрен лишь кратко. Да, действительно, поцарапанный диск в большинстве случав можно отполировать, и если все сделать правильно, диск с высокой степенью вероятности возвратится из небытия, но… Во-первых, полировка восстанавливает лишь царапины нижней поверхности диска и бессильна противостоять разрушениям отражающего слоя. Во-вторых, устраняя одни царапины, вы неизбежно вносите другие - после иной полировки лазерному диску может очень сильно поплохеть. В-третьих, полировке дисков невозможно научиться за раз, – вам понадобиться уйма времени и куча "подопытных" дисков. Нет уж, благодарю покорно! Лучше мы пойдем другим путем!
А вот что вашему диску действительно не помешает – так это протирка обычными салфетками, пропитанными антистатиком (ищите их в компьютерных магазинах). Прежде чем вытирать диск, сдуйте все частицы пыли, осевшие на него (иначе вы его только больше поцарапаете) и ни в коем случае не двигайтесь концентрическими мазками! Вытирать поверхность диска следует радиальными движениями от центра к краям, заменяя салфетку на каждом проходе.
Наверняка почти все читатели в той или иной степени знакомы с таким понятием как разгон, однако не все четко представляют себе как правильно и безболезненно разогнать свою видеокарту, и не знают некоторых тонкостей, встречающихся при разгоне. Этот материал предназначен как раз для новичков в разгоне, собравшихся разогнать свою видеокарту. Сейчас мы постараемся достаточно четко и понятно рассказать о многих проблемах, встречающихся при разгоне, способах их решения, и, конечно же, поделимся некоторыми полезными советами по разгону видеокарт.
Что такое разгон видеокарт?
Под разгоном видеокарт подразумевается увеличение рабочих частот видеокарты. Но также разгоном можно назвать и другие способы внештатного увеличения производительности, будь то разблокировка дополнительных конвейеров на Radeon 9500/9800SE, или включение HyperZ на Radeon LE.
Имеет ли это практический смысл?
Несомненно. Разгон видеокарты является, без преувеличения, самым эффективным средством увеличения производительности компьютера в играх и других 3D-приложениях, за исключением лишь тех случаев, когда производительность сдерживает скорость платформы (читай, связки процессор+память).
Опасно ли это?
Нет. Шанс сгорания видеокарты при разгоне гораздо меньше чем допустим процессора. Да и вообще видеокарта не может сгореть от самого разгона, зато может от перегрева, хотя в большинстве случаев, при перегреве графического процессора машина попросту зависнет.
С другой стороны, работа на внештатных частотах, равно как форсированная работа любого другого компонента компьютера значительно сокращает срок службы карты. И эта особенность могла бы быть весьма серьезным сдерживающим фактором, если бы не одно «но» - срок службы видеокарты составляет куда более восьми лет, и даже при разгоне он уж меньше, чем лет пять не будет. А если посмотреть на существующую гонку технологии, в игровых компах карты более лет двух не держатся, так что если Вы не планируете оставлять видеокарту лет эдак на шесть, Вы можете совершенно спокойно её разогнать.
Вопросы гарантии
Главным побочным эффектом является то, что теоретически Вы полностью теряете гарантию на приобретенную видеокарту. Но не следует расстраиваться, потому как даже если карточка выйдет из строя, то доказать, что это произошло из-за разгона очень и очень проблематично :)))
Младшие и старшие модели
Ни для кого не секрет, что новые модели видеокарт выпускают так называемыми «линейками». Происходит это следующим образом – выходит какой-либо чип, затем на его основе выпускают сразу несколько видеокарт с разными частотами, а в некоторых случаях и на разных дизайнах с разной шириной шины памяти.
Однако, в любом случае, младшая модель, имеющая значительно меньшие частоты, чем старшая будет построена на том же самом чипе, а следовательно, установленной на младшей модели чип в большинстве случаев сможет заработать на частоте старшего, а то и выше.
Но и здесь всё не так гладко, как хотелось бы это видеть нам. Дело в том, что при производстве видеокарт, чипы проходят предварительное тестирование, и часть чипов, которая не смогла пройти тесты на максимальных частотах, установленных для старшей модели, отправляется на производство младших. Но если учитывать тот факт, что современная технология производства достаточно тонка, подобный «брак» ныне встречается не так часто.
Что же до памяти, то тут всё немного хуже – младшие модели оснащается более медленными чем старшие чипами, и разогнать память на младшей модели до частот старшей удается далеко не всегда.
В целом же, если посмотреть на процентные показатели среднестатистического разгона младших моделей в сравнении со старшими, первые имеют значительное преимущество за счет изначального запаса по частотам. Старшие же модели работают практически на пределе, и выжать из них дополнительные мегагерцы будет сложнее.
Какой прирост можно получить при разгоне видеокарты?
Здесь все зависит от условий тестирования, ну и естественно от степени увеличения частот. Хуже всего с этим у noname-карт, произведенных китайскими умельцами и у флагманских моделей линеек (например, GeForce4 Ti4600 или RADEON 9700 PRO). В первом случае карты слабо разгоняются из-за некачественных компонентов, коими оснащают свои продукты китайские умельцы, во втором же случае, платы и без того работают почти на предельных частотах, как мы уже сказали в предыдущем абзаце.
Как правило, при разгоне таких карт можно достичь лишь 15-20% прироста частот. Со средними и младшими моделями в линейках ситуация обстоит получше, потенциал для повышения частот побольше и разгоном таких карт можно улучшить производительность на 20-40%.
Самый хороший вариант - всевозможные оверклокерские сэмплы. На них прирост может составить 35-50%, а порой и больше.
Теперь несколько слов о картах с пониженной структурой организации памяти. Бытует мнение, что на таких картах бессмысленно разгонять чип, однако лично я совершенно с этим не согласен. Дело в том, что пользователи таких карт, как правило, играют в режимах типа 800x600 или 1024x768, и низкая пропуская способность памяти в таких режимах несильно ограничивает производительность, а вот на графический процессор нагрузка, наоборот больше.
Что такое синхронные и асинхронные частоты?
Частоты чипа и памяти видеокарты могут быть синхронными, то есть одинаковыми, или же асинхронными, иначе говоря, различными. Но в чем разница?
При работе видеокарты и обмене данными между графическим процессором (чипом) и памятью видеокарты, происходит синхронизация сигналов. В случае, если чип и память работают на одинаковых частотах, сигналы проходят одновременно и не уходит дополнительного времени на их синхронизацию, если же частоты различны, перед обменом данных, видеокарта должна синхронизовать сигналы, на что, разумеется, уходит немного времени.
Из этого, недолго думая, можно сделать простое умозаключение о том, что на синхронных частотах видеокарта будет работать немного быстрее, нежели на асинхронных. Но есть один момент…
Синхронные частоты выгодно ставить лишь в том случае, если возможные асинхронные частоты не слишком сильно отличаются. Например, у нас есть возможность поставить максимальные частоты 450/460 и больше частоты выставить нельзя. В таком случае, намного эффективнее будет пожертвовать десятью мегагерцами памяти ради синхронности поставить 450/450 – в таком случае видеокарта почти наверняка будет быстрее. Однако если же у нас есть возможность поставить частоты, например 475/450 или 450/480, такие варианты будут предпочтительнее синхронных 450/450 за счет значительно больших результирующих частот.
Что такое технологический процесс чипа и время доступа памяти, как они влияют на разгон?
Любой оверклокер обязательно должен знать, что такое технологический процесс чипа и время доступа памяти. Знание этих двух определений значительно поморгает в примерном определении максимальных частот разгоняемой видеокарты.
Но что же это такое? При изготовлении любого чипа играет весьма важную роль размер элементов микросхемы, ведь степень интеграции может быть разной, в один чип можно «набить» два миллиона транзисторов, в другой – сто два. И когда физический размер кристалла микросхемы ограничен, играет очень большую роль размер элементов микросхемы и расстояние между элементами в кристалле. Этот размер и называют технологическим процессом, и чем он меньше, тем большее количество элементов поместить в чип, тем меньшие токи требуют элементы для питания, тем меньше энергии выделяет чип, и, наконец, на тем больших частотах он может работать.
В настоящий момент подавляющее большинство чипов выпускают по технологическому процессу 0,13 и 0,15 микрон, а на стадии активного освоения находится и 0,11 микрон.
Что же касается памяти, то здесь крайне важную роль играет время доступа. Любые чипы памяти имеют заявленное производителем время, в течение которого происходит считывание инфы из ячейки памяти, и чем это время меньше, тем соответственно, быстрее работает память, и тем больше ее рабочие частоты. Зависимость примерной рабочей частоты о т времени доступа памяти предельно проста, и ее можно описать следующими формулами:
Частота памяти DDR = (1000/время доступа) X 2
Частота памяти SDR = 1000/время доступа
Следующий вопрос заключается в том, как можно узнать время доступа памяти. Как правило, время доступа скрыто в конце первой строчки маркировки. Например, на микросхемах памяти Samsung в конце первой строчки можно найти надпись типа TC-33 или TC40. Это означает, что память имеет время доступа 3,3 и 4 наносекунд соответственно, хотя в некоторых случаях, время обозначается не цифрой, а специальной маркировкой, например чипы памяти Samsung со временем доступа 2,8 нс. обозначаются как GC2A.
Не забывайте также, что точную информацию о чипе памяти можно получить на сайте производителя, либо просто воспользовавшись поиском по строчке с маркировкой памяти в том же Google.