Диагностика, ремонт и защита

         

9-конт.



Таблица 4

9-конт.


IRQ DMA Порт Устройство



Таблица 6

IRQ DMA Порт Устройство
0 таймер
1 клавиатура
2 23СН вторая 8259А/шинная мышь
3 2F8H COM2
4 3F8H СОМ1/СОМЗ (факс-модем) 3F8H
5 1 220Н звуковая плата (SoundBlaster)
6 3F0H дискетные дисководы
7 3 278Н LPT1, звуковая плата
8 часы
9 замещает IRQ2
10 5 ручной сканер
11
12
13 математический сопроцессор
14 1F0H винчестер
15 360Н сетевой адаптер
16

Вирусы, признаки вирусного заражения ПК, характеристики вирусов

Очевидно, как простудные заболевания поддерживают имунную систему человека в постоянной боевой готовнос­ти, так и компьютерные вирусы поддерживают пользовате­ля в постоянной готовности к отражению вирусного вторже­ния.

Авторы не будут распространяться о моральной стороне дела, они лишь могут признать факт наличия явления — одной из причин зависаний ПК в лучшем случае и потери информации — в худшем.

На сегодня в стране насчитывается около 10000 вирусов и примерно 100 антивирусных программ. Из них лишь 3-6 являются популярными и широко распрстраненными.

Самый вредный вирус — это вирус находящийся в испол­няемом файле, он называется ONE HALF. Он же — самый распространенный в России вирус.

ONE HALF срабатывает обычно 28 октября, нов другие дни он также может сработать. Говорят, что выходных у ви­русов не бывает.

Многие пользователи спрашивают, можно ли заразить ПК, давая команду DIR для дисковода А: или В:. Это за­висит от программного обеспечения на ПК. Если в ПК ус­тановлена операционная система DOS, то командой DIR за­разить ПК невозможно.

Поскольку мы знаем, как устроена CMOS-память, то с должной дозой уверенности можем сказать, что вирус про­никнуть в CMOS-память не может.

В связи с появлением FLASH-BIOS пока не замечалось появление вирусов в этой памяти, но хакеры не дремлют. Ведь BIOS-то имеет режим WRITE!!!!

Какие защитные меры применяются против обнаружения и анализа вирусов? Применяются следующие способы про­тиводействия антивирусным программам:

• самошифрующиеся вирусы,

• полиморфные,

• макровирусы.



Наиболее часто встречаемые



Таблица 9. Наиболее часто встречаемые интефейсы
АДАПТЕР ЧИСЛО ПРОВОДОВ
ST506/412 34 и 20 (2 кабеля)
IDE 40
SCSI 50
ESDI 34 и 20

Приведем таблицу соостветствия контактов и их назначе­ния на разъеме ленточного кабеля, соединяющего адаптер и контроллер НЖМД самого распространенного в настоящее время ID-интерфейса (табл. 10).

Таблица 10. Распределение сигналов на разъеме (ленточного кабеля) IDE-интерфейса накопителя на жестком диске — НЖМД

Контакт Назначение Контакт Назначение
1 RST 21 резерв
2 земля 22 земля
3 DATA 7/данные 23 BIOW/запись
4 DATA 8/данные 24 земля
5 DATA 6 25 BIOR/чтение
6 DATA 9 26 земля
7 DATA 5 27 резерв
8 DATA 10 28 BBALE/разрешение
9 DATA 4 29 резерв
10 DATA 11 30 земля
11 DATA3 31 IRQ14/3anpoc прерыв.
12 DATA 12 32 IOCS 16
13 DATA 2 33 BADDR1
14 DATA 13 34 резерв
15 DATA 1 35 BADDR0
16 DATA 14 36 BADDR2
17 DATA0 37 CSO/выбор накопителя
18 DATA 15 38 CS1
19 земля 39 DSKACTIVE
20 KEY 40 земля

На плате контроллера размещаются:

• однокристальный микроконтроллер;

• микропроцессор;

• сепаратор данных;

• тракт преобразования данных;

• буферное ОЗУ.

На плате контроллера и/или на интерфейсной плате (адап­тера) может размещаться собственный BIOS и собственное ОЗУ винчестера.

Собственное ОЗУ часто отводится под так называемую кэш­память, т. е. буфер обмена данными винчестера с машиной.

A BIOS используется для тестирования, хранения пара­метров и низкоуровневого форматирования диска.

Жесткие диски в переносных компьютерах

В переносных компьютерах применяются миниатюрные жесткие диски с формфактором 2,5". Миниатюрные жесткие диски значительно усовершенствовались и по емкости, и по быстродействию, зачастую не уступая 3,5" моделям для на­стольных ПК. Функции миниатюрных устройств в основном возлагаются на модели с формфактором 2,5", максимальная емкость которых превышает 1 Гбайт. Фирма Maxtor достигла максимальной емкости при меньших, чем у других фирм, размерах. Жесткие диски серии Laramie с интерфейсом EIDE при толщине всего 12,5 мм имеют емкость 837 Мбайт, 1 Гбайт и 1,34 Гбайт.

Фирма Fijutsu производит 2,5" диски серии Hornet 5 и 6, в которых применены магниторезистивные головки. Емкость дисков составляет 1 Гбайт и более (см. таблицу в приложе­нии), интерфейсы — Enhanced IDE и Fast SCSI-2.

Диски обладают высокой производительностью и малым потреблением энергии. (Впрочем, за время, в течение ко­торого пишется эта книга, емкости жестких дисков немину­емо возрастут).



Сообщения об ошибках



Таблица 24. Сообщения об ошибках POST
Сообщение Проблема Решение
СН-2 Timer Error Нефатально. Может быть вызвано периферией
INTR #1 Error Первый канал прерываний не прошел POST Проверьте устройства, занимающие IRQ 0-'
INTR #2 Error Второй канал прерываний не прошел POST Проверьте устройства, занимающие IRQ 8-15
CMOS Battery State Low Низкое напряжение на батарейке Замените батарейку
CMOS Checksum Failure Контрольная сумма данных в CMOS-памяти не сходится с вычисленной ранее Запустите Setup
CMOS Memory Size Mismatch Размер занятой CMOS-памяти не совпадает с той, что должна быть Запустите Setup
CMOS System Optons Not Set Данные в CMOS повреждены или отсутствуют Запустите Setup
Display Switch Not Proper Неправильно выставлен тип монитора (цветной или моно) на материнской плате Переставьте джампер в правильное положение
Keyboard is locked ... Unlock it Клавиатура заблокирована Разблокируйте клавиатуру
Keyboard Error Проблема с клавиатурой Проверьте соответствие типа клавиатуры (АТ/ХТ) контроллеру. Можно попытаться отключить тестирование клавиатуры при загрузке в Setup
K/B Interface Error Проблема с подсоединением клавиатуры к материнской плате
FDD Controller Failure BIOS не видит контроллера гибких дисков Проверьте подсоединение дисковода и его разрешенность на мультикарте
HDD Controller Failure То же, но с винчестером

Окончание табл.

Сообщение Проблема Решение
Invalid Configuration Information for Slot X Конфигурационная информация о карте в слоте X EISA некорректна Запустите ECU
Software Port NMI Inoperational Программный порт NMI не работает
BUS Timeout NMI at Slot X Карта в слоте X NMI не отвечает
(E)nable (D)isable Expansion Board? Выберите Е для разрешения использования карты в слоте X NMI или D (в другом случае)
Expansion Board disabled at Slot X Плата расширения в слоте X NMI недоступна
Fail-Safe Timer NMI Таймер NMI сгенерировал ошибку
Software Port NMI Генерируется программным портом NMI
Таблица 25. Сообщения об ошибках
Сообщение Проблема Решение
CMOS BATTERY HAS FAILED Разрядилась батарейка Замените батарейку
CMOS CHECKSUM ERROR Неправильная контрольная сумма CMOS. Данные в CMOS повреждены. Возможно, батарейка села Проверьте батарейку и замените ее в случае необходимости
DISK BOOT FAILURE, INSERT SYSTEM DISK AND PRESS

ENTER

Не найден загрузочный диск Загрузитесь с дискеты и проверьте системньк файлы на жестком диске
No ROM Basic. Система не может загрузиться (например, невозможно найти операционную систему) Установите загрузочный диск или измените его в Setup
Diskette Boot Failure Не удается загрузиться с дискеты Поставьте системную дискету
Invalid Boot Diskette Аналогично, но дискета читается
On Board Parity Error Ошибка контроля четности Может быть вызвана соответствующей периферией, занимающей адрес, указанный в сообщении об ошибке
Off Board Parity Error Ошибка контроля четности Тоже
Parity Error Ошибка контроля четности Тоже
Memory Parity Error at XXXX Ошибка памяти Тоже
I/O Card Parity Error at XXXX Ошибка памяти То же
DMA Bus Time-out Устройство не отвечает в течение 7—8мкс Проблема в платах расширения (попытайтесь найти ту плату, которая вызывает эту ошибку, и замените ее)
EISA CMOS Checksum Failure Не сходится контрольная сумма EISA CMOS, или разрядилась батарейка
EISA CMOS Inoperationai Ошибка чтения/записи в CMOS RAM Батарейка может быть разряженной
Expansion Board not ready at Slot X AMI BIOS не может найти плату в слоте номер X Проверьте установку платы в этом слоте
Fail-Safe Timer NMI Inoperationai Ошибка таймера NMI
ID information mismatch for Slot X ГО EISA-карты в слоте X не соответствует ГО, записанному в CMOS RAM
Memory parity Error at XXXX Ошибка контроля четности Замените память
MEMORY SIZE HAS CHANGED SINCE LAST BOOT Размер памяти изменился со времени последней загрузки Если есть EISA, запустите EISA Configuration Utility. В противном случае войдите в Setup
Memory Verify Error at XXXX Ошибка при тестировании памяти Замените память
OFFENDING ADDRESS NOT FOUND Проблемы с контроллером памяти
OFFENDING SEGMENT: То же самое
PRESS A KEY TO REBOOT Сообщение возникает при обнаружении ошибок и необходимости перезагрузки Нажмите любую кнопку
PRESS Fl TO DISABLE NMI, F2 TO REBOOT Проблемы с немаскируемыми прерываниями Возможно, неисправна системная плата
RAM PARITY ERROR -CHECKING FOR SEGMENT Ошибка четности в RAM Замените модуль памяти или, возможно, неисправна системная плата
Should Be Empty But EISA Board Found ID одной из карт расширения не соответ­ствует конфигурации Запустите EISA Configuration Utility
Should Have EISA Board But Not Found Карта не отвечает на запрос по ID Запустите EISA Configuration Utility
Slot Not Empty Слот, записанный в конфигурации как пустой, занят Запустите EISA Configuration Utility
SYSTEM HALTED, (CTRL-ALT-DEL) TO REBOOT... Обозначает остановку процесса загрузки Нажмите CTRL-ALT-DEL
Wrong Board in Slot Установлена карта не с тем ГО Запустите EISA Configuration Utility
DISKETTE DRIVES OR TYPES MISMATCH ERROR - RUN SETUP Типы дисководов, фактически установленных в системе и их описания в CMOS не сходятся Запустите Setup и введите правильный тип дисковода
DISPLAY SWITCH IS SET INCORRECTLY Неправильно выставлен тип монитора (цветной или моно) на материнской плате Переставьте джампер в- правильное положени
DISPLAY TYPE HAS CHANGED SINCE LAST BOOT Изменился тип дисплея со времени последней загрузки Запустите Setup и введите правильный тип дисплея
EISA Configuration Checksum Error Не сходится контрольная сумма EISA non-volatile RAM Запустите EISA Configuration Utility
EISA Configuration is Not Complete Информация в EISA неполная Запустите EISA Configuration Utility
ERROR ENCOUNTERED INITIALIZING HARD DRIVE Не инициализируется жесткий диск Проверьте установку контроллера жестких дисков и соединительные кабели
ERROR INITIALIZING HARD DRIVE CONTROLLER Контроллер жестких дисков не инициализируется Проверьте установку контроллера и пара­метры жесткого диска, указанные в Setup. Также проверьте джамперы на жестком диске
FLOPPY DISK CNTRLR ERROR OR NO CNTRLR PRESENT Невозможно инициализировать контроллер гибких дисков Проверьте установку контроллера и пара­метры дисковода, указанные в Setup
Invalid EISA Configuration Данные о конфигурации EISA неверны Запустите EISA Configuration Utility
KEYBOARD ERROR OR NO KEYBOARD PRESENT Невозможно инициализировать клавиатуру Проверьте подключение клавиатуры и ее тип. В крайнем случае отключите контроль клавиатуры при загрузке
Memory Address Error at XXXX Ошибка памяти Замените память





Коды ошибок процедуры



Таблица 26. Коды ошибок процедуры POST и диагностики IBM
Код Вероятная причина отказа
01Х Неустановленные ошибки
02Х Ошибки, связанные с блоком питания
1ХХ Ошибки системной платы
101 Ошибки прерывания
102 Ошибки таймера
7хх Неисправность сопроцессора
701 Ошибка обнаружения или инициализации сопроцессора
704 Не проходит арифметический тест 1
705 Не проходит арифметический тест 2
707 Не проходит комбинированный тест
710 Ошибка прерываний
712 Не проходит тест в защищенном режиме
713 Не проходит специальный тест (температурный режим и напряжение питания)
9хх Ошибки адаптера параллельного принтера
901 Ошибка фиксации в регистре данных
902 Ошибка фиксации в регистре управления
910 Ошибка линий статуса в разъеме — «заглушке»
916 Ошибка возвратного сигнала прерывания адаптера
917 Непредусмотренное прерывание адаптера
92х Ошибка в дополнительном регистре
Пхх Ошибки первичного асинхронного канала связи (СОМ1)
1101 Неисправность микросхемы 16450/16550
1103 Не проходит тест регистров порта 102h
1106 Устройство не может быть переведено в состояние ожидания
1107 Неисправность кабеля
1110 Неисправность регистров микросхемы 16450/16550
1113 Ошибка при передаче в микросхему 16450/16550
1114 Ошибка при приеме в микросхеме 16450/16550
1116 Ошибка функции прерывания в микросхеме 16450/16550
1117 Не проходит тест на. скорость передачи данных в микросхему 16450/16550
1120,1121 Неисправность регистра разрешения прерываний
1128 Ошибка идентификации прерывания
1131 Неправильная обработка прерывания
1132 Нет сигнала о готовности данных
1137 Нет сигнала о приеме данных
1144 Нет переданных данных
1152 Нет сигнала о готовности данных
1156 Нет сигнала о готовности к приему
12хх Ошибки вторичного асинхронного канала связи (СОМ1, COM3 и COM4)
14хх Ошибки матричного принтера
1401 Не проходит тест принтера
1402 Принтер не готов
1403 В принтере нет бумаги
Код Вероятная причина отказа
1404 Задержка на системной плате
1405 Неисправен параллельный адаптер
1406 Не проходит тест обнаружения принтера
17хх Ошибка накопителей и контроллеров ST 506/412
1701 Общая ошибка процедуры POST для жесткого диска
1702 Перерыв в обмене накопитель-контроллер
1703 Накопитель не найден
1704 Контроллер неисправен
1705 Сектор не найден
1706 Ошибка при записи
1707 Ошибка на нулевой дорожке накопителя
1708 Ошибка выбора головки
1712 Сбой внутренней диагностики контроллера
1713 Ошибка сравнения данных
1714 Накопитель не готов
1715 Неисправность индикатора нулевой дорожки
1717 Поверхностный дефект (ошибка при считывании)
1718 Неправильно задан тип жесткого диска
1726 Ошибка сравнения данных
1730,1731, 1732 Ошибка в контроллере
1733 Сообщение о неопознанной ошибке BIOS
1736 Данные подверглись коррекции
1737 Дефектная дорожка
1738 Дефектный сектор
1739 Ошибка при инициализации
1740 Неисправность схемы считывания
1750 Сбой при проверке накопителя
1755 Сбой контроллера
1780 Не найден накопитель 0
1781 Не найден накопитель 1
1782 Ошибка при прохождении теста контроллера
18хх Ошибки в корпусе-«расширителе»
20хх Ошибки первичного синхронного канала связи BSC (Binary Synchronous Communication)
2001 Не проходит тест адаптера BSC
2027 Ошибка прерывания, нет прерывания таймера
2028 Ошибка прерывания, в схеме передачи, заменить адаптер или системную плату
2029 Ошибка прерывания, в схеме передачи, заменить адаптер
2030 Ошибка прерывания, в схеме приема, заменить адаптер или системную плату
2031 Ошибка прерывания, в схеме приема, заменить адаптер
2034 Hie отключается прием синхросигнала
2035 Не отключается передача синхросигнала
2038 Не включается прием синхросигнала
2039 Не включается передача синхросигнала
2041 Не устанавливается готовность данных
2043 Не устанавливается готовность к приему
2044 Не сбрасывается готовность данных
2045 Не сбрасывается готовность к приему
2049 Переданные данные не соответствуют принятым
21хх Ошибки вторичного синхронного канала связи BSC
24хх25хх Ошибки адаптера EGA или VGA
29хх Ошибки цветного или графического принтера
ЗОхх Ошибки первичного сетевого адаптера
3001 Не проходит тест процессора
3002 Не проходит тест контрольной суммы ПЗУ
3004 Не проходит тест ОЗУ
3005 jHe проходит тест контроллера интерфейса
3006 Не проходит тест источника питания + 12 В
3008 Ошибка в контроллере интерфейса
3009 Ошибка синхронизации
3012 Отсутствует плата
3013 Цифровая ошибка, устройство неработоспособно
3015 Аналоговая ошибка
31хх Ошибки вторичного сетевого адаптера
ЗЗхх Ошибки компактного принтера
Збхх Ошибки адаптера интерфейса общей шины GPIB (General Interface Bus)
37хх Ошибки контроллера SCSI на системной плате
38хх Ошибки адаптера сбора данных
39хх Ошибки адаптера PGA (Professional Graphics Adapter)
3901 Не проходит тест адаптера PGA
3902 Не проходит самотест ПЗУ 1
3903 Не проходит самотест ПЗУ 2
3904 Не проходит самотест ОЗУ
3905 Ошибка в источнике питания
3906 Ошибка в данных при обмене с ОЗУ
3907 Ошибка в адресе при обмене с ОЗУ
3911 Неисправность синхронизирующей схемы
3912 Ошибка в управляющей команде
3913 Неисправность вертикальной развертки
3914 Неисправность горизонтальной развертки
3920 Ошибка в таблице фиксирования данных
3923 Неисправность светового пера
3940-3979 Неисправности в ОЗУ адаптера
3980 Ошибка синхронизации ОЗУ графического контроллера
3981 Ошибка фиксирования данных в графическом контроллере при записи и считывании
3983-3987 Ошибка адресации
3992 Ошибка в графическом контроллере
3995 Ошибка адресации графического контроллера
45хх Ошибка адаптера интерфейса IEEE (IEEE-488)
48хх Ошибки встроенного модема
71хх Ошибки адаптера голосовой связи VCA (Voice Communication Adapter)
73хх Ошибки внешнего накопителя 3,5"
7301 Не проходит тест дисковода или контроллера
7306 Неисправность датчика смены дискеты
7307 Дискета защищена от записи
7308 Ошибка исполнения команды, полученной дисководом
7310 Ошибка инициализации дискеты, брак нулевой дорожки
7311 Перерыв в обмене данными в цепи накопитель-контроллер
7312 Неисправность микросхемы контроллера
7313 Ошибка в канале ПДП
7315 Ошибка временной привязки индексной метки
7316 Неправильная скорость вращения диска
7321 Накопитель не найден
7323 Сектор не найден
89хх Ошибка адаптера MIDI [Musical Instruments Digital Interface)
91хх Ошибки адаптера оптического накопителя WORM (Write-Once Read-Many)
96хх Ошибки 32-разрядного адаптера SCSI с кэшем
100хх Ошибки устройства Multiprotocol Adapter
101хх Ошибки встроенного модема (быстродействие 300/1200 бит/с)
104хх Ошибки накопителей и контроллеров ESDI или МСА ШЕ
10450 Сбой при тесте считывания/записи
10451 Сбой при тесте контроля считывания
10453 Неправильно указан тип устройства
10455 Сбой контроллера
10461 Ошибка при форматировании накопителя
10463 Ошибка при считывании/записи сектора в накопителе
10467 Ошибка программного поиска накопителя
1Q468 Ошибка аппаратного поиска накопителя
10473 Ошибка теста контроля считывания
10480 Не найден накопитель 0
10481 Не найден накопитель 1
10492 Сбой контроллера, накопитель 1
10493 Ошибка сброса, накопитель 1
10499 Сбой контроллера
107хх Ошибки внешнего накопителя
112хх Ошибки 16-разрядного адаптера SCSI без кэша
ПЗхх Ошибки адаптера SCSI на системной плате (16-разрядная)
152хх Ошибки адаптера дисплея XGA
166хх Ошибки первичного адаптера сети Token Ring
167хх Ошибки вторичного адаптера сети Token Ring
200хх Ошибки адаптера обработки изображений
209хх Ошибки SCSI-накопителя со сменными дисками
210хх Ошибки SCSI-накопителя на жестком диске
212хх Ошибки SCSI-принтера
214хх Ошибки SCSI-накопителя WORM
215хх Ошибки SCSI-накопителя на CD-ROM
216хх Ошибки SCSI-сканера
217хх Ошибки SCSI-накопителя на оптических дисках
218хх Ошибка SCSI-проигрывателя с автоматической сменой дисков
234хх Ошибка адаптера XGA-2





Аппаратные прерывания



Таблица 27. Аппаратные прерывания PC/AT
IRQ0 Таймер
IRQ1 Клавиатура
IRQ 2 Канал ввода - вывода
IRQ3 Последовательный порт 2 или 4
IRQ 4 Последовательный порт 1 или 3
IRQ 5 Параллельный порт LPT2
IRQ 6 Контроллер FDD
IRQ 7 Параллельный порт LPT1
IRQ 8 Часы реального времени
IRQ 9 Програмно переводится в IRQ 2 или OAh
IRQ 10 Резерв
IRQ 11 Резерв
IRQ 12 Резерв
IRQ 13 Сопроцессор
IRQ 14 Контроллер HDD
IRQ 15 Резерв





Такие конфликтные ситуации не



Такие конфликтные ситуации не всегда легко разрешимы, но обычно устраняются с помощью встроенных аппаратно-программных средств компьютера — BIOS, POST, SETUP и CMOS-памяти.

BIOS — базовая система ввода/вывода (base input/output system)

BIOS (в персональном компьютере) — это система коор­динат, которая не меняет своего положения в пространстве.Только BIOS знает, как привести в действие принтер, как осуществить доступ к памяти, к жесткому диску, дисково­дам, к коммуникационным портам.

Одним словом, BIOS - это ЛОГИЧЕСКОЕ, ЖЕСТКО ЗАКРЕПЛЕННОЕ (ЗАКОНСЕРВИРОВАННОЕ) УСТРОЙ­СТВО - ПРОГРАММА СОГЛАСОВАНИЯ работы про­грамм, вводимых в компьютер — с аппаратными возможно­стями «железа».

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

В действительности так и происходит.

Предположим, что вы временно подключили к принтер­ному порту устройство для перекачки информации на смен­ный диск (100 Мбайт). Такое устройство должно иметь про­грамму — драйвер, который сообщит BIOS, что вместо принтера к порту 378 подключено устройство очень похожее на принтер (ведь обмен сигналами здесь должен быть таким же, как у ПК с принтером).

Обменявшись согласованными сигналами, BIOS подклю­чит к порту 378 канал приема/передачи от жесткого диска. Периферийное устройство, «сыграв» партию вместо принте­ра, получит свою долю информации, после чего оно может быть отключено или отсоединено от ПК.

POST — самотестирование при включении (Power On Self-Test — POST)

POST — это диагностическая программа, которая содер­жится в ПЗУ BIOS. POST (Power On Self-Test) — самопро­верка при включении питания — проверяет все важные си­стемы в ПК и быстро тестирует всю память ОЗУ. При ус­пешном окончании контроля ПК на дисплей выводится сообщение , подается звуковой сигнал и выводится имя те­кущего накопителя (приглашение к работе).



Технология самотестирования накопителей S M A R T (SelfMonitoring Analysis and Reporting Technology)



Технология самотестирования накопителей S.M.A.R.T. (Self-Monitoring Analysis and Reporting Technology)

В самое последнее время для обслуживания жестких дис­ков начали применять технологию самотестирования накопи телей S.M.A.R.T. (Self-Monitoring Analysis and Reporting Technology) предложили корпорации IBM и Compaq на базе ранее разработанных ими технологий PFA (Predictive Failure Analysis) и DFP (Drive Failure Prediction)

Суть S.M.A.R.T.-технологии заключается в том, что сам винчестер отслеживает состояние своей работоспособности и в любой момент, по команде с интерфейса может сооб­щить эту информацию управляющей программе.

Новая технология стандартизирована организацией ANSI при разработке нового IDE-интерфейса — АТА-3. В насто­ящее время практически все производители НЖМД (Fujitsu, IBM, Maxtor, Quantum, Seagate, Western Digital) исполь­зуют S.M.A.R.T.-технологию в своих новых накопителях.

Параметры, которые характеризуют состояние S.M.A.R.T.-накопителя, называются атрибутами надежности. Их значе­ния хранятся в энергонезависимой памяти или на служебных дорожках НЖМД. Количество атрибутов может достигать тридцати.

По мере износа накопителя или при появлении сбоев в работе (в том числе и незаметных для пользователя) значе­ния атрибутов изменяются.

Условно все атрибуты надежности можно разбить на две категории.



Тестовые испытания жесткого диска (Hard Disk Benchmark)



Тестовые испытания жесткого диска (Hard Disk Benchmark)

Эта опция меню отображает две важнейшие характерис­тики жесткого диска: -



This


this - относится к созданному экземпляру, а не к классу, из которого он был создан. А как во Flash? Допустим, у вас есть мувиклип под названием Graphic1 (почему бы нет?), вы использовали его на рабочей площадке дважды и дали экземплярам имена mc0 и mc1. Если вы используете слово this внутри мувиклипа Graphic1, то оно будет обращаться к экземпляру mc0 (если это mc0), и к экземпляру mc1, (если это mc1). Если вы используете trace ( this._x ); в окне мувиклипа Graphic1, то вы отследите _x расположение каждого клипа.

В ActionScript всё работает точно так же. this обращается к текущему экземпляру, а не к классу. Если рассмотреть пример на Flash'е, то: function Graphic1 ( x, y, name, xScale, yScale, rotation ) { this.x = x; this.y = y; this.name = name; this.xScale = xScale; this.yScale = yScale; this.rotation = rotation; } instance0 = new Graphic1( 100, 100, "mc0", 100, 100, 45 ); instance1 = new Graphic1( 444, 222, "mc1", 200, 200, 30 );

Как видите, теперь есть два экземпляра, каждый со своими свойствами. Вы можете сопоставить каждый проходящий аргумент с именем каждого аргумента в классе Graphic1 (обратите внимание, что пробелов в именах функций быть не может!). Само по себе это конечно ещё не создаёт мувиклипа. Это просто несколько экземпляров класса в ActionScript, ничего конкретного. Двигаемся дальше, ребята. Поехали!..

 



Типичные неисправности



Типичные неисправности

Приведем несколько типичных признаков ненормальной работы ПК, наличие которых говорит о том, что пользова­телю необходимо всерьез позаботиться — как о сохранности инфромации, записанной на компьютере, так и просто о его физической целостности.

1. ПК работает много медленнее, чем обычно.

2. ПК не загружается с жесткого диска.

3. При включении компьютер не загружается, курсор за­висает в левом верхнем углу дисплея.

4. Случайно стерт файл или группа файлов, и это время от времени повторяется.

5. Ошибка чтения/записи жесткого или гибкого диска — это вид ошибки, получаемой из-за неправильного зна­чения CRC (Cyclical Redundancy Check — цикличес­кого контрольного кода) или физически плохого сек­тора.

6. Плохая (искаженная) таблица распределения файлов (FAT), об этом сообщает специальная диагностическая программа.

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



Типичные неисправности матричных принтеров



Типичные неисправности матричных принтеров



Типичными сообщениями об ошибках являются



Типичными сообщениями об ошибках являются:

• «Seek error» (ошибка поиска дорожки) и «Sector not found» (сектор не найден)

Если это гибкий диск, запустите Disk Tools и выбери­те «Восстановление сбойной дискеты». Если это жес­ткий диск, позволяющий проводить низкоуровневое форматирование, то запустите «Calibrate». Используйте процедуру «Извлечение данных со сбойного диска»

пользуясь методикой применения утилит Norton Utilities для восстановления необходимых данных. Извлечение данных с диска может потребовать много времени. Поэтому используйте эту процедуру только для файлов, которые не имеют копий. Если это не помогает, запустите Aidstest, Antiviral Toolkit Pro, Dr.Web, Adlnf или Norton AntiVirus. Воз­можно, проблема возникла из-за наличия вирусов. «Non-System disk or disk error» (несистемный диск или дисковая ошибка)

На загрузочном диске нет одного или двух системных файлов DOS или диск поврежден. Удостоверьтесь, что в дисководе А: находится не заг­рузочная дискета DOS. Если это сообщение получено при использовании загрузочного диска, запустите Disk Tools и выберите «Создание загрузочного диска». Если у вас есть загрузочная дискета, загрузитесь с нее и убедитесь, что загрузка прошла нормально. Если это не помогает, запустите Aidstest, Antiviral Toolkit Pro, Dr.Web, Adlnf или Norton AntiVirus. Воз­можно, проблема появилась из-за наличия вирусов. Естественно, для выдачи такого сообщения — это дол­жен быть вирус типа TSR — программы, перехватыва­ющей прерывания BIOS.



Tracks — либо дорожки на плоскостях



Tracks — либо дорожки на плоскостях жесткого или гибкого диска, либо виртуальные дорожки, исполь­зуемые МГО1-последовательностями(см.).





Требования


Первая строка любого конструктора должна быть this.super( ... ). Любые аргументы, которые бы вы хотели задать конструкторам, должны быть переданы вверх сверхметоду.

Процесс назначения наследованию дополнителя должен происходить в самом конце, если только вы не используете classMethods, а просто устанавливаете прототипы вручную.

Есть много преимуществ в определении прототипа с помощью classProperties и classMethods, хотя это и необязательно.



TSR (резидентные) вирусы DOS предусматривает



TSR (резидентные) вирусы

DOS предусматривает единственный способ создания ре­зидентных (TSR) модулей — при помощи функции KEEP (int21h или int27h). Многие файловые вирусы для маскиров­ки своего распространения используют другой способ, об­рабатывая системные области, управляющие распределени­ем памяти, выделяют для себя свободный участок памяти, помечают его как занятый и переписывают туда свою копию.

Некоторые вирусы внедряют свои TSR-копии в свободные участки памяти в таблице секторов прерываний, в рабочие об­ласти DOS, в память, отведенную под системные буферы.

Известны два способа проверки резидентным вирусом на­личия своей копии в памяти ПК:

• Первый заключается в том, что вирус вводит новую функцию некоторого прерывания, действие которой заключается в возврате значения «я здесь». При стар­те вирус обращается к ней и, если возвращенное зна­чение совпадает со значением «я здесь», то память ПК уже заражена и повторное заражение не производит­ся.

• При проверке вторым способом вирус просто скопи­рует память ПК.

Оба способа могут в той или иной мере сочетаться друг с другом.





Упаковываем классы используя __proto__


Вы, должно быть, припоминаете, что в главе Прототипы мы, рассматривая модель пакета из трех оконных стекол, подробно разобрались лишь с первыми двумя. Как вы уже догадались, мы вплотную подошли к тому, чтобы добавить третий слой в нашу модель (ох!). Однако перед этим нам просто необходимо основательно поковыряться во внутренностях экземпляра класса.

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

Обратимся к очередной метафоре. Представьте себе, что владелец дома начинает требовать с вас плату за жилье. И у вас нет ни копейки (вполне возможно, что это и представлять не надо). Ваши действия? Скорее всего, обычный человек обратится за помощью к объекту (объектам), которые его создали - к родителям. Вы точно знаете, что собираетесь расплатиться именно деньгами, взятыми у родителей (вряд ли хозяин квартиры согласится принять в уплату самих родителей), поэтому вы и просите их порыться в закромах (в прототипе). Что они сделают, окажись, как и вы, в затруднительном положении? Очень может быть, что, после коротких переговоров, посоветуют вам обратиться к объектам, которые создали их - к вашим бабушкам и дедушкам. Забыв на время о том, что ничто не вечно (а также об инфляции), мы сможем представить себе картину, где вы от бабушек-дедушек идете к прабабушкам-прадедушкам, от них - к пра-пра-бабушкам-дедушкам и т.д. И так будет продолжаться до тех пор, пока вы либо не найдете нужную сумму, либо не доберетесь до Создателя Всего Сущего. В зависимости от того, кто хранитель последней надежды в системе ваших убеждений, это может быть либо Бог, либо правительство, либо, в конце-концов, Object.prototype. Что если случится так, что вы обспросили всех, молились ночи напролет, но - "Ом мани падме хум" - "Денег нет и не будет"? Что ж, у вас появится реальный шанс остаться без крыши над головой. Если же хоть кто-то даст вам нужную сумму, вы вновь обретете счастье и уверенность в себе и прекратите дальнейшие поиски. В ActionScript-е точно так же, как только затребованное свойство получено, оно немедленно передается местному хозяину и работа заканчивается. Полезно думать, пока не привыкнешь, о цепочке прототипов таким образом: куда-мне-обратиться-если-вы-тоже-сидите-без-денег. По крайней мере, это научит вас совершать определенные действия к концу каждого месяца.

Откуда объекты узнают, к кому обращаться в затруднительном положении? Им об этом рассказывают после того, как они будут созданы. Кто? Конечно, их родители. Что они при этом говорят? Они говорят: "Милый ребенок, запомни хорошенько, что если когда-нибудь в этом холодном и бесприютном мире ты будешь испытывать нужду, знай, что ты не одинок. В первую очередь обращайся к нам и мы постараемся что-нибудь придумать для тебя". Итак, пока мы еще в светлой памяти, давайте хорошенько усвоим, что классы хранят свои свойства в своих прототипах, а это значит, что объекты, не имея некоторых свойств, проверяют их наличие в прототипе класса, которым были созданы. Уф!

Здесь есть одна тонкость: прототип есть объект (именно поэтому вы могли раньше слышать словосочетание "объект прототип"). Что это значит? Это значит, что если прототип не имеет нужного свойства, он проверяет прототип класса, который его создал. И последний вопрос: как класс создает прототипы? Вы, возможно, уже знаете ответ - вспомните, что прототипы создаются автоматически, когда определяются функции и их тип "объект". Ладно, может вы не в курсе, но в самом деле прототипы создаются классом Object. Точно так же и экземпляры классов (ведь они тоже объекты) слышат в момент своего рождения от родителей: "Если что, посмотри в моем прототипе сынок". Вот так все прототипы и экземпляры в конечном итоге добираются до Object.prototype, если нигде не найдут нужного свойства. Это и есть третий лист стеклянного пакета - Object.prototype.

Источником недопонимания может быть следующее: объект и Object. Все экземпляры суть объекты, прототипы тоже объекты, классы описывают объекты... многие вещи являются объектами определенного типа, созданные классами этого сорта. Все классы и объекты, которые они создают, выстраиваются в четкую иерархию и во главе ее стоит совсем уж важная персона, которой необходимо имя.

  - Слушай, Боб, как ты думаешь, ведь никто из нас не наложит в штаны,
    если мы тот класс назовем просто "Object"?
  - Ясное дело, Пит, о чем разговор!

Вот так его и окрестили Object-ом, с большой буквы "О" (ведь имя класса всегда начинается с заглавной буквы). Существует множество типов объектов, некоторые из них являются экземплярами Object, другие лишь производные от него, но так или иначе, все они являются его наследниками. Хоть Боб с Питом давно канули в лету, дело их живет. Если вы хотите, вы можете перекрестить Object хоть в Верховного Пса (TopDog) - попробуйте и вы испытаете непередаваемое ощущение. Эх, где ж я был в тот момент...

  Не все то Объект...

Вы можете подумать, что числа и строки объекты более общего вида, чем объекты, непосредственно порожденные классом Object. А давайте посмотрим на методы, им доступные. Разве вы не встречали что-нибудь вроде myString.substring(2,3) или myString.indexOf("test")? Даже числовые объекты могут похвастаться свойствами, например, Number.MAX_VALUE, так же как toString и valueOf. Что же касается старых добрых 5 или 7 - не это ли объекты более общего вида? Снова нет, потому что это не объекты, а литералы. Точно так же и "Hello" и "World". Мы часто слышим, что в ActionScript все есть объект, но это не так. (а функции, активизирующие объект - ведь тоже не объекты, а лишь описания). Числа до тех пор не будут объектом, пока не создадутся с помощью функции Number( ). trace( Number(5).toString() ); // 5 trace( 5.toString() ); // error

Со строками то же самое, у них есть метод String(), но они более темные лошадки. Обычные строки автоматически преобразуются в объекты, если они вызывают строковые методы (исключая методы "только для строк" - concat, fromCharCode, slice и substr). В этом случае создается временный объект, метод запускается, затем объект удаляется. trace( "hello".substring(1,4) ); // ell

Это делает строки более гибкими в использовании, а знание этого объясняет некоторую тормознутость строковых методов подобных "split" - все должно быть преобразовано в строковые объекты, даже если это уже объект!

Для осмысления того, что все вещи произошли от Object.prototype, нужно согласиться с тем, что Object всего-навсего класс, особым его делает лишь высокое положение. Когда вы создаете объект, говоря: x = new Object();

вы просто-напросто создаете объект самого общего вида (generic) в ActionScript (см. примечание выше). Класс Object имеет два встроенных метода в своем прототипе: toString и valueOf. Есть также еще одно свойство, которое мы рассмотрим позже. Все объекты тоже наследуют эти три свойства. Даже если объект порожден другим классом, в каком-то колене он все-равно является потомком Object. Экземпляр проверяет прототип своего класса, тот, в свою очередь, Object.prototype.

Когда вы создаете, например, массив, он будет являться объектом класса Array. У класса Array есть прототип, который обращается к Object.prototype за отсутствующими свойствами. То же самое происходит и с классом Color, Date и любым другим. Методы и свойства, содержащиеся в них, делают их уникальными, однако они могут спокойно делать то, что под силу вышестоящим объектам в их иерархии. Все от того, что, например, объект типа Color привязан не только к Color.prototype, но и к Object.prototype, потому что Color.prototype сам привязан к Object.prototype. Та же ситуация возникнет и с вашими собственными классами:

Object.prototype
Dog.prototype
rover 
У Object.prototype есть маленькая табличка с надписью: "Дальше дороги нет!".

Ну ладно, с этим мы разобрались. Давайте рассмотрим сам механизм того, откуда объект узнает о направлении поисков. Эти связи совершаются при помощи __proto__. Это и есть то самое третье свойство Object.prototype и поэтому его можно найти во всех остальных объектах. Задача его проста и сводится к тому, чтобы указывать на следующего вероятного благодетеля. Проще говоря, ему можно дать имя "Спроси-вон-того-если-тебе-что-то-нужно". Итак, имя_объекта.__proto__ указывает на Класс.prototype, этот Класс.prototype тоже объект, обладающий свойством Класс.prototype.__proto__ указывающим на Obejct.prototype. Узнать его вы всегда сможете по четырем знакам подчеркивания.

Открою вам один секрет: __proto__ МОЖНО ИЗМЕНЯТЬ. Вы вольны направить его в любую сторону. Вы можете заставить __proto__ объекта rover указывать на Cat.prototype вместо Dog.prototype и этот разбойник (rover) будет только рад поискать необходимые свойства и методы в новом месте. Причем, таким образом вы можете манипулировать не только подобными объектами. Можно попросить прототип класса порыться в месте, отличном от Object.prototype. Хитрость в том, что нужно сделать два класса и направить __proto__ прототипа первого на прототип другого (вместо Object.prototype). Таким образом вы получите "младший" класс, подкласс (SubClass) и "старший" класс, суперкласс (SuperClass). Делается это простой операцией: SubClass.prototype.__proto__ = SuperClass.prototype;

SubClass и SuperClass просто имена; так сказать, "дедушку" можно обозвать SuperSuperClass. Если вы создадите новый объект на основе младшего класса SubClass, цепочка будет выглядеть следующим образом:

Object.prototype
SuperClass.prototype
SubClass.prototype
instance 
Запомните, мы связываем не сами классы, но их прототипы. Классы лишь описывают объекты, прототипы же содержат все необходимые свойства.

Еще одна вещь, которую необходимо знать: __proto__ можно использовать несколько раз при подъеме по иерархической лестнице. Так instance.__proto__.__proto__ указывает на SuperClass.prototype. Пусть вас не пугает этот, на первый взгляд, сложный синтаксис - просто посчитайте на рисунке красные стрелочки. Папа, дедушка, прадедушка, прапрадедушка...

Вау, пора привести пример! Давайте начнем с нескольких не связанных между собой классов, а сделать это нужно (зачем - поймем далее). Допустим у нас есть Собака (Dog), Кот (Cat) и Хомяк (Hamster):

// Dog Class Dog = function( name )
{
this.name = name;
}
Dog.prototype.legs = 4;
Dog.prototype.price = 10; Dog.prototype.pet = true; // Cat Class Cat = function( name ) { this.name = name; } Cat.prototype.legs = 4; Cat.prototype.price = 5; Cat.prototype.pet = true; // Hamster Class Hamster = function( name ) { this.name = name; } Hamster.prototype.legs = 4; Hamster.prototype.price = 15; Hamster.prototype.pet = true;

Как видите, здесь присутствуют нежелательные повторения, делающие программу менее гибкой. Что будет, если к оговоренным имени (name), количеству лап (legs), цены (price) и отношению хозяев к своей зверюшке (pet) мы захотим добавить новую категорию, возраст, скажем? Нам бы пришлось забивать его отдельно для каждого зверька, а это неправильно. Мало того, что возрастает объем программы, это в дальнейшем чревато всякими путаницами, ошибками и прочими багами. Что же делать? А давайте посмотрим на код.

Решением может являться создание нового надкласса (superClass) с именем, допустим, "Pet" (Любимец). Всех зверюшек (вы можете добавить своих) породим от этого класса и в него же засунем описание всех этих звериных свойств - имя, количество лап, цену и флажок любим/нелюбим

name - имя - у всех зверьков есть имя, потому оно должно быть членом класса Pet. Каждый зверь имеет свое имя, поэтому давать его нужно экземпляру. Логично поместить его в конструктор класса Pet, при этом в экземпляре класса создается свойство name, давая право самому экземпляру решать, как оно будет звучать. Если вы хотите, чтобы по умолчанию зверю давалось имя "Безымянный", это значение должно находиться в Pet.prototype, тогда оно будет оставаться таким, пока вы его не замените на нужное.
  legs - лапы - у всех зверей они есть, причем у всех по четыре, поэтому логично это свойство поместить в Рet.prototype со значением 4. Однако перед этим четко определитесь, не решите ли вы в дальнейшем завести себе змею или паука. Если почувствуете, что способны на это, у вас будет три способа решить проблему.
  Обязанность хранить информацию о собственных лапах возложить на каждое животное. Это делает код легким для понимания и удобно в случае большого разброса количества лап. Установить по умолчанию в Pet.prototype количество лап, равное четырем и в каждом особом случае переопределять это свойство. Наконец, при создании экземпляра можно просто передавать в Pet.constructor количество лап как аргумент. Этот путь возлагает кое-какую ответственность на пользователя класса, однако является идеальным решением для какого-нибудь зоомагазина.

Ну и совет, скажете вы. Что ж, занимаясь ООП вы поймете, что часто не бывает идеального решения проблемы, особенно если вы не располагаете всей, порой специфической, информацией. К счастью, все можно легко поправить в будущем, если вдруг изменятся требования.
  price - цена - у всех животных она есть, причем у каждого своя. Это свойство должно остаться в Pet.prototype (с возможностью freeware). Еще одно замечание: если различные собаки и коты имеют различные цены, тогда она должна быть установлена в Pet.constructor, подобно имени.
  pet - любимец/нелюбимец - все зверьки любимцы, с этим все просто.

Последнее, что необходимо сделать, это развернуть прототипы Dog, Cat и Hamster в сторону Pet.prototype вместо Object.prototype: Dog.prototype.__proto__ = Pet.prototype; Cat.prototype.__proto__ = Pet.prototype; Hamster.prototype.__proto__ = Pet.prototype;

Итак, вооружившись всем этим, приступим.

// Pet class Pet = function( name ) { this.name = name; } Pet.prototype.legs = 4; Pet.prototype.pet = true; // Dog class Dog = function( name ){ } Dog.prototype.__proto__ = Pet.prototype; Dog.prototype.price = 10; // Cat class Cat = function( name ){ } Cat.prototype.__proto__ = Pet.prototype; Cat.prototype.price = 5; // Hamster class Hamster = function( name ){ } Hamster.prototype.__proto__ = Pet.prototype; Hamster.prototype.price = 15;

Оставим на время наши попытки и убедимся, что это работает (на самом деле это еще не работает, вы можете заметить проблему?). rover = new Dog( "Rover" ); fluffy = new Cat( "Fluffy" ); ratboy = new Hamster( "Rat-Boy" ); for(var i in rover){ trace( i + ":\t" + rover[i] ) } /* output pet: true legs: 4 price: 10 */ for(var i in fluffy){ trace( i + ":\t" + fluffy[i] ) } /* output pet: true legs: 4 price: 5 */ for(var i in ratboy){ trace( i + ":\t" + ratboy[i] ) } /* output pet: true legs: 4 price: 15 */

Свойство __proto__ выполнило задачу. Свойства в Pet.prototype (legs и pet) стали доступны для каждого объекта. Объекты также получили доступ к свойствам в своих прототипах (price).

Проблема в том, что свойство name осталось не у дел. Вглядевшись, мы замечаем, что оно ниоткуда недоступно. Что мы сделали не так? Когда мы создавали новый объект, выполнялся код конструктора этого класса. Однако мы засунули свойство name в класс Pet, чтобы не переписывать заново код для каждого животного. Но этот конструктор еще не запускался. Вы можете использовать этот код, однако конструкторы каждого младшего класса останутся пустыми. Есть даже термин для этого - "three-legged-dog" (собака на трех лапах, хромая собака). Необходимо запустить старшие конструкторы, до запуска младших.

Когда программа не работает так, как вам хотелось бы, лучшее, что вы можете сделать - это устранить проблему. Это всегда работает для простейших программ в несколько строчек. Хорошо, как ее устранить:

Несмотря на то, что наши экземпляры наследуют свойства от разных уровней цепочки, запускается только младший конструктор.

... и решается проблема парой строчек кода: Pet = function( name ) { this.name = name; } Dog = function( name ){ } Dog.prototype.__proto__ = Pet.prototype; rover = new Dog( "Rover" ); // test trace(rover.name); // undefined

Сначала можно просто попытаться запускать конструктор Pet каждый раз, когда создается экземпляр Dog, просто вызывая его из конструктора Dog, правильно? Пока аплодисменты не стали слишком оглушительными, необходимо успеть сказать, что это не работает. Для понимания этого необходимо быть очень внимательными и осторожными, возможно, вновь представить себе объекты в виде черных ящиков. Вот как это может выглядеть: Dog = function( name ) { Pet( name ); } Dog.prototype.__proto__ = Pet.prototype; rover = new Dog( "Rover" );

Pet() в данном случае вызывается в момент активации экземпляра класса Dog (блок кода под описанием класса). Когда Pet() запускается как метод (не как класс - нигде не видно оператора new), this указывает на то, что его вызывает (в нашем случае экземпляр класса). Как только мы узнаем об активации объектов, мы тут же про них забываем и свойство name пропадает вместе с ними. Что нам нужно сделать, так это запустить конструктор класса Pet, причем из самого экземпляра. Существует два решения проблемы, одно великое и ужасное, другое посложнее, но не такое страшное. Плохо, что нет волшебного суперключевого слова, которое бы нам помогло. Итак, пристегните ремни - первое решение.

  Примечание

Конструктор фактически ничего не знает о каждом конкретном экземпляре, однако он догадывается о том, что с помощью оператора new создается новый безымянный объект. Проще говоря, он "думает", что this указывает на некий объект, который будет создан.

Мы знаем, что this в конструкторе Dog указывает на его воплощение - rover (см. Примечание). Мы также знаем, что когда объект вызывает метод, this в методе указывает на вызывающий объект. Что нам мешает превратить Pat в метод экземпляра rover и запускать его оттуда? Другими словами, rover будет заключать в себе код конструктора Pet как одно из своих свойств и мы просто попросим rover запустить свой же метод. Давайте скажем это в третий раз: rover съел, проглотил Pet и теперь он внутри него, оттуда мы его и запустим. Теперь, когда метод(!) Pet запустится, this будет указывать на rover, поэтому все свойства, добавленные через this, добавляются к rover. Когда метод Pet отработает, он нам уже будет ни к чему, его смело можно удалить. Причем, нам совершенно не обязательно называть его Pet, его код должен быть таким же, а имя может быть любым. Таким любым, что вы должны быть абсолютно уверены в том, что нигде его не используете в программе как свойство объекта, ведь мы его совсем скоро удалим. Вполне подойдет имя $_base (просто base не подойдет, иначе все ваши base будут лежать в мусорной корзине). Итак, смотрим:

Pet = function( name ) { this.name = name; } Dog = function( name ) { // делаем Pet методом экземпляра this.$_base = Pet; // запускаем Pet отсюда, т.к. "this" // эквивалентен экземпляру this.$_base( name ); // освобождаемся от внедренного метода! delete this.$_base; } Dog.prototype.__proto__ = Pet.prototype; rover = new Dog( "Rover" ); // проверяем trace(rover.name); // Rover

Ну наконец-то работает! Есть несколько вещей, которые нужно знать. Первое и главное: весь блок кода, касающийся $_base, ДОЛЖЕН быть самым первым в каждом конструкторе. Это ОЧЕНЬ ВАЖНО. Суть в том, что конструктор запускается сверху вниз, а не снизу вверх. Допустим, вы решили переопределить свойство name в конструкторе Dog и пишете: <this.name = 'Dawg'>; стоит вам это написать до блока $_base, тем самым вы установите имя экземпляра в "Dawg", следующий за ним код переименует его в "rover". Конструктор старшего класса перепишет конструктор младшего.

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

Последнее замечание носит скорее косметический характер. Может быть это и тяжело, но вы не должны строить свои решения на примере одного и того же кода. Конечно, большинство людей в конце-концов создали свои наработки в этой области и пользуются ими, чтобы автоматизировать процесс. Когда-нибудь и вы обзаведетесь своими излюбленными приемами. Ну а перед этим нужно пробовать, искать, изучать...

<<    ООП во Flash 5    >>



USB (Universal Serial Bus — универсальная



USB (Universal Serial Bus — универсальная после­довательная магистраль) — новый интерфейс для подключения различных внешних устройств. Пре­дусматривает подключение свыше 100 (127) внешних устройств к одному USB-каналу (по принципу об-

щей шины), реализации обычно имеют по два ка­нала на контроллер. Обмен по интерфейсу — па­кетный, скорость обмена — 12 Мбит/с.





Установка самонастраивающихся



Установка самонастраивающихся (Plug and Play) сетевых плат и 16-разрядных драйверов для реального режима

Если для самонастраивающейся сетевой платы использу­ются 16-разрядные драйверы реального режима, может ока­заться, что плата не работает.

Причина состоит в том, что на большинстве компьюте­ров платы Plug and Play неактивны до тех пор, пока они не будут включены в ходе загрузки Windows 9x

16-разрядные драйверы загружаются до того, как Win­dows 9х включает платы Plug and Play. При этом некоторые 16-разрядные драйверы сетевых плат не опознают платы Plug and Play (в эту категорию попадают практически все семей-

ства плат, совместимых с NE2000). В этом случае следует вы­полнить перечисленные ниже действия:

• Запустить программу Softset, поставляющуюся вместе с платой Plug and Play, и отключить режим Plug and Play.

• Удалить сетевую плату из списка установленных уст­ройств. Для этого нужно дважды щелкнуть на значке «Система» панели управления, открыть вкладку «Уст­ройства», выбрать в списке устройств сетевую плату и нажать кнопку «Удалить».

• Переустановить сетевую плату с помощью значка «Ус­тановка оборудования» панели управления.

Если в будущем для платы необходимо будет установить 32-разрядный драйвер защищенного режима, программу Softset надо будет запустить заново, чтобы снова включить режим Plug and Play. При работе с 32-разрядными драйве­рами для защищенного режима указанная сложность не воз­никает.

Предотвращение отказов при установке Windows 9x поверх предыдущих сборок

Существует два способа установить окончательную вер­сию Windows 9x на рабочие станции, уже использующие Windows 9x.

1. На каждый из компьютеров выполняется полная уста­новка окончательной версии с нуля.

2. Производится обновление операционной системы с по­мощью приведенной ниже процедуры.

Для правильной установки Windows 9x поверх предыдущей версии следует:

• Завершить работу всех клиентов, запущенных с сер­вера.

• Windows 9x следует установить на сервере в ту же са­мую папку, которая использовалась для промежуточ­ных вариантов системы. Нужно полностью очистить общую папку Windows 9x и поместить в нее оконча­тельную версию Windows с помощью программы Netsetup.exe.

• Запустить с командной строки программу-клиент.• При работе с клиентом Microsoft для сетей NetWare и использовании подключенных дисков программу уста­новки Setup следует запустить с помощью NETX или VLM.

• Восстановить в прежнем виде сетевые подключения к общей папке Windows 9x и личному каталогу.

• Запустить программу Setup.



Устранение ошибок при открытии файлов



Устранение ошибок при открытии файлов на серверах NetWare 3.11

При использовании NetWare 3.11 могут возникнуть слож­ности в работе программ, последовательно и быстро откры­вающих большое количество файлов. Это иногда наблюда­ется и при открытии файлов в папках, для которых у поль­зователя отсутствуют права на просмотр, например при открытии файлов в общем почтовом отделении MS Mail.

При этом возможные сообщения об ошибках выглядят следующим образом:

File not found (файл не найден), хотя он точно суще­ствует.

¦ Sharing violation (попытка одновременного доступа к адресу или файлу) или Lock violation (нарушение бло­кировки).

Unable to open file (не удается открыть файл)

File in use (файл занят).

Устранить указанные сложности (в том числе и зависания, не сопровождаемые какими-либо сообщениями) можно дву­мя способами.

1. С помощью FTP подключиться к серверу ftp.novell.com. Перейти в каталог /pub/netware/nwos/nw311/ osnlm и запустить программу 311ptd.exe. Она производит рас­паковку файла os2opnfx.nlm. Загрузить этот модуль на сер­вере NetWare 3.11 («load os2opnfx.nlm»).2. Отключить для клиента NetWare поддержку длинных имен файлов. При этом на серверах NetWare нельзя будет создавать файлы с длинными именами. Чтобы отключить поддержку длинных имен файлов, нужно выполнить следу­ющие действия:

• Нажмите кнопку «Пуск» панели задач и выберите ко­манду «Выполнить», а затем введите в командной стро­ке Regedit. Запустите редактор реестра.

• Откройте раздел реестра

HKEY_Local_Machine\System\QmBntControlSet\Services\VxD\ NWRedir

• Создайте новый двоичный параметр с именем supportLFN и значением 0.

Клиент для NetWare и программы, использующие дополнительные файлы

Запуск с помощью клиента Microsoft для NetWare про­граммы, нуждающейся в дополнительных файлах, может привести к ошибкам, если эти файлы расположены не на одном диске с программой.

Дело в том, что при поиске дополнительных файлов про­сматривается только текущий диск. Предусмотренный для поиска файлов путь в данном случае не используется. Сле­дует перенести все нужные программе файлы на диск, где находится сама программа.


Устройство для диагностики неисправности и тестирования компьютеров — POST Card



Устройство для диагностики неисправности и тестирования компьютеров — POST Card

Как было сказано выше, при каждом включении пита­ния ПК и до начала загрузки операционной системы про­цессор компьютера выполняет процедуру BIOS под названием «Самотест по включению питания» — POST (Power On Self-Test). Эта же процедура выполняется также при нажатии на кнопку RESET или комбинацию клавиш CTRL-ALT-DEL. Основной целью процедуры POST является проверка базо­вых функций и подсистем компьютера (таких как память, процессор, материнская плата, видеоконтроллер, клавиату­ра, гибкий и жесткий диски и т. д.) перед загрузкой опе­рационной системы.

Перед началом каждого из тестов процедура POST генери­рует так называемый POST-код, который выводится по оп­ределенному адресу в пространстве адресов устройств ввода/ вывода компьютера. В случае обнаружения неисправности в тестируемом устройстве процедура POST просто зависает, а выведенный POST-код определяет, на каком из тестов про­изошло зависание. Таким образом, качество и точность ди­агностики при помощи POST кодов полностью определяется точностью тестов соответствующей процедуры POST BIOS компьютера.

Адреса портов для вывода POST-кодов зависят от типа компьютера: ISA, EISA - 80h, ISA-Compaq - 84h, ISA-PS/ 2 - 90h, MCA-PS/2 - 680h, некоторые EISA - 300h.

В основном, в большинстве случаев используется порт 80п с системной шиной ISA, где POST-коды представляют собой байт, который приводится в таблицах POST-кодов в виде одноразрядных шестнадцатиричных чисел в диапазоне OOh-FFh (0-255 в десятичной системе счисления).

Таблицы POST-кодов отличаются для различных фирмен­ных BIOS и в связи с появлением новых тестируемых уст­ройств и чипсетов несколько отличаются даже для различ­ных версий одного и того же производителя BIOS, таблицы POST-кодов приводятся в руководствах к материнским пла­там (например, руководства к платам P6SBA-P6DBS Supermicro).

Для отображения POST-кодов в удобном для пользовате­ля виде служат устройства под названием POST Card. POST Card — плата расширения компьютера, вставляемая (при выключенном питании!) в свободный (соответствующий ее разъему — ISA или PCI) слот и имеющая два семисегмент-ных индикатора для отображения POST-кодов.

Самая простая POST Card для шины ISA отображает POST-коды по фиксированному адресу 80h и не имеет пе­реключателей для изменения этого адреса. Прохождение сиг­нала RESET компьютера на такой POST Card фиксируется по миганию точек семисегментного индикатора POST кодов либо отображается на нем специальными символами.

В качестве примера можжно привести POST-карту фир­мы DataDepot Inc — PocketPOST, или PHD 16 для шины ISA (Professional Hardware Diagnostics) фирмы Ultra-X, Inc.

Диагностические карты обычно выполняют следующие тесты:

• Тестирование процессора.

• Проверка контрольной суммы ROM BIOS.

• Проверка и инициализация контроллеров DMA, IRQ и таймера 8254. После этой стадии становится доступ­ной звуковая диагностика.

• Проверка операций регенерации памяти.

• Тестирование первых 64 Кб памяти.

• Загрузка векторов прерываний.

• Проверка процедуры инициализации видеоконтролле­ра. Затем диагностические сообщения выводятся на экран.

• Тестирование полного объема ОЗУ.

• Тестирование клавиатуры.

• Тестирование CMOS-памяти.

• Проверка процедуры инициализации СОМ- и LPT-портов.

• Инициализация и тест контроллера НГМД.

• Проверка процедуры инициализации и тест работы контроллера НЖМД.

• Поиск дополнительных модулей ROM BIOS и их ини­циализация.

• Вызов загрузчика операционной системы (INT 19h, Bootstrap), затем, при невозможности загрузки опера­ционной системы, попытка запуска ROM BASIC (INT 18h); при неудаче — остановка системы (HALT).

Последовательность действий при ремонте компьютера с использованием POST Card выглядит следующим образом:

• Выключается питание неисправного компьютера.

• Устанавливается POST Card в любой свободный слот материнской платы.

• Компьютер включается, и оператор считывает с инди­катора POST Card соответствующий POST-код, на ко­тором зависает загрузка компьютера.

• По таблицам POST кодов пользователь может опреде­лить, на каком из тестов возникли проблемы. При выключенном питании производятся перестановки джамперов, шлейфов, модулей памяти и других ком­понентов с целью устранить неисправности.• Пункты 3, 4, 5 повторяются еще раз с целью повторя­емости устойчивого результата — прохождения проце­дуры POST и начала загрузки операционной системы.

• Далее при помощи программных утилит производится окончательное тестирование аппаратных компонентов, а в случае плавающих ошибок осуществляется длитель­ный прогон соответствующих программных тестов.

На практике, прежде всего, при включении питания пе­ред началом процедуры POST должен произойти сброс сис­темы сигналом RESET, что индицируется на POST Card специальными символами или светодиодом.

При неисправности компьютера в самом сложном случае сброс либо совсем не проходит, либо проходит, но ника­кие POST-коды на индикаторе не отображаются.

В этом случае рекомендуется сразу же выключить ком­пьютер, вытащить все дополнительные платы и кабеля, а также память из материнской платы, оставив подключенной к блоку питания только собственно материнскую плату с установленными процессором и POST Card.

Если при последующем включении компьютера нормаль­но проходит сброс системы и появляются первые POST-коды, то, очевидно, проблема заключается во временно извлеченных компонентах компьютера; возможно также — в неправильно подключенных шлейфах (особенно часто встав­ляют наоборот шлейф IDE).

Вставляя последовательно память, видеоадаптер, а затем и другие карты, и наблюдая за POST-кодами на индикато­ре, обнаруживают неисправный модуль. При неисправной памяти для компьютеров с AMI BIOS последовательность POST-кодов обычно останавливается на коде d4 (для старых плат 386/486 - на коде 13); с AWARD BIOS — на кодах С1 или Сб. Бывает, что при этом неисправна не сама память, а, например, материнская плата — причина заключается в плохом контакте в разъемах SIMM/DIMM (согнуты/замкну­ты между собой контакты) либо плохо, не до конца встав­лена сама память в разъеме.

При неисправном видеоадаптере для компьютеров с AMI BIOS последовательность POST-кодов останавливается на кодах 2С, 40 или 2А в зависимости от модификации BIOS, либо проскакивает эти коды без появления на мониторе соответ-

ствующих строк инициализации видеокарты (с указанием типа, объема памяти и фирмы-производителя видеоадаптера).

Для компьютеров с AWARD BIOS при неисправности ви­деоадаптера последовательность POST-кодов либо останавли­вается на коде 0d, либо проскакивает этот код (особенно часто это наблюдается на Pentium I/Pentium II материнских платах).

Если память и видеоадаптер тестируются нормально, то, устанавливая по одной остальные карты и подключая шлей­фы, на основании показаний индикатора POST Card опре­деляют, какой из компонентов подсаживает системную шину и не дает загрузиться компьютеру.

Если не проходит начальный сброс системы (на индика­торе POST Card в самом начале теста не появляются специ­альные символы, свидетельствующие о прохождении сигнала RESET или не загорается соответствующий светодиод), зна­чит, неисправен блок питания компьютера (например, не формируется сигнал PowerGood) либо неисправна сама ма­теринская плата.

Очень часто причиной неработоспособности является не-дожатие до упора процессора в Slotl

Если все переключатели, джамперы (перемычки) и про­цессор установлены правильно, а материнская плата ьсе же не запускается, следует заменить процессор на заведомо ис­правный.

Если же и это не помогает, то можно сделать вывод о не­исправности материнской платы либо ее компонентов (на­пример, причиной неисправности может являться повреж­дение информации во FLASH BIOS).

Главным достоинством POST Card является то, что она не требует для своей работы подключения дисплея и тести­рование компьютера при помощи POST Card возможно на ранних этапах процедуры POST, когда еще не доступна зву­ковая диагностика.



Устройство НГМД



Устройство НГМД

НГМД включает в себя:

• ГМД,

• привод диска,

• контроллер управления диском,

• устройство позицирования ГЧЗ на желаемой дорожке,

• устройство чтения и записи информации,

• блокировочные устройства. ГМД имеет 4 отверстия:

• для оси двигателя,

• окно для ГЧЗ,

• для индексирования сектора,

• для защиты от записи информации.

Контроллер управления ГМД выполнен на одной или не­скольких БИС.

Сигнал считывания с ГЧЗ подается на контроллер в после­довательном коде, после чего в параллельном коде выходит на шины данных микропроцессора. Номинальная частота ГЧЗ обычно изменяется в диапазоне 62,5-250 кГц.

Устройство позиционирования в зависимости от стандарта диска обеспечивает точную выборочную установку блока ГЧЗ на дорожке Устройство чтения и записи обычно выполнено на жесткой логике и обеспечивает согласование входных/ выходных сигналов ГЧЗ с контроллером. В НГМД имеется2 датчика — датчик маркера начала дорожки ДМНД и дат­чик «00» дорожки (ДНД). ДМНД срабатывает, когда отвер­стие на ГМД попадает в проем между светодиодом и фото-транзистором.

При этом формируется импульс маркера начала дорож­ки длительностью не менее 600 мс.

ДНД обычно выполняется в двух видах: либо с помощью фотодиода и светодиода фиксируется крайняя «00» дорожка, либо с помощью блокконтакта, который фиксирует крайнее положение кодового винта шагового двигателя, перемеща­ющего ГЧЗ.



Утилита «Нортон Систем Доктор»/ Norton System Doctor (NSD)



Утилита «Нортон Систем Доктор»/ Norton System Doctor (NSD)

Состав утилиты:

• Мониторинг использования центрального процессора/ Reporting CPU usage.

• NSD и монитор характеристик/Norton System Doctor and Performance Monitor.

• Регулировка области чувствительности/Adjusting sensor size and appearance.

• Обновление Вирусных Установок/Updating Virus Definitions.

• Контекстное меню Вирусных Установок/About the Virus Definitions Sensor context menu.

• Файлы конфигурации/Configuration files.Технические подробности по установке

Утилиты NU для Windows NT разработаны для примене­ния на стандартных платформах IBM-совместимых компью­теров для операционных систем Windows NT 4.0.

Эти утилиты не предназначены для использования в опе­рационных системах Windows 9x OS/2, NT 3.x, Windows NT 4.0 для Alpha или PowerPC-процессорах. При установке, если вы используете LFN-директорий, в котором не упот­ребляются короткие имена псевдонимов (Long File Name), утилиты будут и устанавливаться, и функционировать нор­мально.

Однако деинсталляция здесь работать не будет, и чтобы ее осуществить, нужно будет применить особые методы, обеспечиваемые специальной технической поддержкой.

Следует учесть, что при установке файлы, используемые в совместном сетевом режиме, устанавливаются в директори-и(или в nanKe)\Program Files\symantec на жестком диске. Если вы не имеете привилегий на запись в эту папку, установка будет прервана. Поэтому сначала убедитесь, что вы имеете доступ для записи в эту папку на ваш системный драйвер.

Утилиты Norton Utilities for Windows NT не замещают уже имеющийся пакет Norton NT Tools, а нормально с ними сосуществуют, но при условии, что вы не устанавливаете их в том же директории.

При установке System Info и System Doctor пакета NT Tools будут переименованы в файлы пакета Norton Utilities for Windows NT.

Если ваша сетевая карта (адаптер) при установке сетево­го протокола TCP/IP неправильно конфигурируется, запуск утилит Norton System Doctor и System Information может вызвать ошибку. Если вы удалите протокол TCP/IP, ошиб­ка исчезнет.

Чтобы установить утилиты NU for Windows NT следует:

• Щелкнуть кнопкой в окне задач ОС Windows NT.

• Выбрать «Панель управления» из меню «Установки».

• Щелкнуть кнопкой «Добавить/удалить программы».

• Щелкнуть кнопкой Norton Utilities for Windows NT в списке программ.

• Щелкнуть кнопкой «Добавить/удалить» и далее следо­вать экранным инструкциям.



В более новых типах дисков таких



В более новых типах дисков, таких как ESDI, SCSI и IDE (при заводском форматировании) чередование выбирается про­изводителем и оптимизация здесь не требуется.

Пользователь может особенно не волноваться за правиль­ность определения типа диска. Работая с диском, Calibrate проверяет его, чтобы определить, был ли оптимизирован диск при выполнении низкоуровневого форматирования дис­ка, что позволяет ускорить время доступа к диску. Если нет, то программа выполнит указанную оптимизацию. Еще раз упомянем, что эта оптимизация может иметь место для многих старых типов дисков, НО НИ В КОЕМ СЛУЧАЕ ДЛЯ ESDI, SCSI и IDE.



В этом случае процесс ремонта



В этом случае процесс ремонта может не закончить­ся, а продлиться, так как эта компонента не только оставит ту же неисправность, но и усугубит ее. ' 7. Механические поломки корпуса, блоков, узлов, плат, деталей и компонент П.

Разборка и сборка производится тщательно, с запоми­нанием последовательности операций, с регистраци­ей расположения разъемов и кабелей, соединяющих узлы и платы. Блоки, узлы, платы запрещается уда­рять друг о друга, ронять на стол. Крепежные болты, винты, гайки, шайбы должны тщательно собираться и храниться.

Недопустимо, чтобы крепежные детали по­падали в блоки и механизмы.

В этом случае следует поискать



В этом случае следует поискать драйверы, совместимые с данной операционной системой, или подогнать опера­ционную систему под наличествующий драйвер.

При установке нового CD-ROM не забудьте переставить пе­ремычку на винчестере (если вы подключаете CD-ROM к ин­терфейсу EIDE параллельно единственному жесткому диску) в положение «Master».

Приобретая CD-ROM, обратите внимание, фигурирует ли в его техническом описании фраза «CD-i Compatible». Если такой фразы, подтверждающей совместимость уст­ройства, в техническом описании нет, то при попытке чтения информации с компакт-диска с большой вероят­ностью может появиться сообщение: «MM SYSTEM001 External Error»,

свидетельствующее об отсутствии корректного ответа от устройства CD-ROM. Однако несовместимость накопи­теля со стандартом CD-i далеко не единственная возмож­ная причина злополучного сообщения.



V ОТКАЗЫ И НЕИСПРАВНОСТИ АППАРАТНОГО ОБЕСПЕЧЕНИЯ РЕКОМЕНДАЦИИ ПО РЕМОНТУ



V. ОТКАЗЫ И НЕИСПРАВНОСТИ АППАРАТНОГО ОБЕСПЕЧЕНИЯ, РЕКОМЕНДАЦИИ ПО РЕМОНТУ









В) специальных программ диагностики



в) специальных программ диагностики.

Ваш компьютер не запускается

1. Экран дисплея не светится и не отображает сообщений об ошибках

Если дисплей темный и на нем нет сообщений об ошиб­ках при включении вашего компьютера, проделайте следу­ющие процедуры:

1. Проверьте, что отображается на жидкокристалличес­ком экране (LCD) системного блока (если он есть на вашем ПК).

2. Проверьте внешние соединения.

3. Проверьте внутренние соединения.

4. Заново перестройте конфигурацию компьютера в SETUP.

Проверка работы внешних (периферийных) устройств и соединений: 1. Убедитесь, что компьютер и дисплей включены (дол­жен светиться индикатор на системном блоке и на дис­плее).

2. Проверьте, работает ли регулировка яркости и контра­стности на дисплее.

3. Проверьте правильность подсоединения кабелей пита­ния и сигнальных кабелей к дисплею и системному блоку.

Если ваш компьютер все же не запускается:

1. Выключите дисплей, компьютер и все внешние уст­ройства.

2. Отключите кабель питания, сигнальные кабели, запом­ните позиции, в которых они были подсоединены.

3. Снимите кожух с системного блока ПК.

4. Тщательно проверьте следующие позиции:

• процессор (или процессоры, если их два) установ­лен правильно вместе с блоками регулировки напря­жения (CPU и VRM);

• убедитесь, что все внутренние соединения сделаны правильно;

• проверьте, правильно ли установлен переключатель скорости работы процессора;

• в соответствующих разъемах (слотах) должны быть установлены модули памяти — проверьте правиль­ность их установки;

• в соответствующих слотах должны быть установле­ны адаптеры, блоки VRM, сетевые карты;

• убедитесь, что все переключатели и перемычки на адаптерах занимают правильное (соответствующее) положение;

• убедитесь, что все вентиляторы работают, а воздуш­ный поток внутри системного блока не перекрыва­ется посторонней помехой — это позволит исключить перегрев жесткого диска (HDD), процессора (CPU) и буферных схем устройств ввода/вывода (I/O);

• проверьте правильность соединения сетевого кабеля.

5. Снова закройте системный блок кожухом.

6. Соедините компьютер сигнальными кабелями и под­ключите сетевые кабели,

7. Включите сначала дисплей, затем системный блок.

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



Важные правила техники безопасности



Важные правила техники безопасности

При установке и наладке П, проведении профилактичес­ких и ремонтных работ необходимо строго соблюдать прави­ла техники безопасности, нарушение которых может приве­сти как к повреждению П, так и к физической травме пользователя или ремонтника.

1. Выполняйте предупреждения и указания, имеющиеся на самом П и его платах и узлах.

2. При проведении профилактики и чистки П необходи­мо вынуть вилку сетевого кабеля из розетки. Обтирайте П влажной салфеткой. Запрещается использовать жид­кие или аэрозольные очистители.

3. Не устанавливайте П рядом с сосудами с водой, кра­сителями, не обливайте П никакими жидкостями.

4. Не ставьте П на неустойчивые тележку, стойку, стел­лаж во избежание падения П.

5. Не закрывайте щели и вентиляционные отверстия в корпусе П. Они предотвращают перегрев П. Не ставь­те П в ниши, например внутрь книжных шкафов и стенок, так как при этом нарушается режим нормаль­ной вентиляции П.

6. Приобретенный вами П может иметь силовой кабель с вилкой, снабженной третьим (заземляющим) кон­тактом и требующий заземленной розетки. Заземление П — это мера электробезопасности. Если в вашем распоряжении нет такой розетки, то обратитесь к электрику (сервис-инженеру) для ее установки.

7. Располагайте П таким образом, чтобы на его сетевой кабель никто не мог наступить.

8. При использовании удлинителя следите за тем, что­бы общая нагрузка подключенных к нему аппаратов не превышала предельно допустимую. Проверьте, чтобы суммарный ток всех нагрузок, включенных в одну ро­зетку вместе с П, не превышал 15 А.

9. Ничего не засовывайте внутрь включенного, под на­пряжением П. В противном случае можно коснуться деталей и узлов, находящихся под напряжением, по-

лучить электрошок, вызвать короткое замыкание элек­трических цепей П или даже пожар.

10. Открывая или снимая крышки П с надписями «Не от­крывать», «Внимание» и т. п., вы подвергаете себя опасности поражения током низкого или высокого напряжения или другому риску. Для ремонта или тех­нического обслуживания этих блоков привлекается под­готовленный персонал.

11. Вызывайте сервис-инженера по обслуживанию и ре­монту П в следующих случаях:

• при возгорании П;

• при попадании жидкости внутрь П;

• при попадании П под дождь или в воду;

• при падении П или повреждении его корпуса;

• при повреждении ПГ или картриджа с тюнером;

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

12. Помните, что в ЛП имеется блок лазерного сканиро­вания, а лучи полупроводникового лазера (даже отра­женные) могут принести вред вашему зрению.

13. Всегда убедитесь в том, что П отключен от источника питания и только после этого разбирайте П, снимай­те и заменяйте платы, узлы или отдельные радиоком­поненты.

14. Предохранители в П тщательно рассчитаны, их мож­но заменить только однотипными. Если вы поставите слаботочный предохранитель, рассчитанный на слиш­ком большой ток, или замените стандартный предох­ранитель на «жучок», то с большой вероятностью воз­никает перегрев П и аварийная ситуация.

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



VI ПРИЛОЖЕНИЕ



VI. ПРИЛОЖЕНИЕ

Таблица 23. Сообщение об ошибках по звуковым сигаалам

Число сигналов Описание ошибки Решение проблемы
1 DRAM refresh failure Вставьте память еще раз. Если не помогает, замените модули памяти
2 Parity Circuit Failure Вставьте память еще раз. Если не помогает, замените модули памяти
3 Base 64K RAM failure Вставьте память еще раз. Если не помогает, замените модули памяти
4 System Timer Failure неисправность системного таймера (Материнская плата неработоспособна)
5 Processor Failure Неисправен центральный процессор
6 Keyboard Controller / Gate A20 Failure Вытащите и вставьте микросхему контроллера клавиатуры. Если не помогает, замените контроллер клавиатуры. Проверьте клавиатуру и ее кабель
7 Virtual Mode Exception Error Системная плата неработоспособна
8 Display Memory Read/Write Failure Ошибка памяти видеоадаптера. Переинсталлируйте видеокарту и память на ней или замените видеоадаптер
9 ROM BIOS Checksum

Failure

Ошибка в микросхеме BIOS. Попробуйте вытащить и вставить заново этот чип. Если не помогает, попытайтесь заново «прошить» его содержимое или заменить микросхему
10 CMOS Shutdown Register Read/Write Error Материнская плата неработоспособна
1 длинный 2 коротких Video failure Переинсталлируйте видеоадаптер. Если не помогает, придется заменить видеоплату
1 длинный 3 коротких Video failure Переинсталлируйте видеоадаптер. Если не помогает, придется заменить видеоплату
1 длинный POST gassed Проверка идет нормально

Продолжение табл.

Сообщение Проблема Решение
С: Drive Error Диск С не отвечает Либо в Setup выставлен неправильный тип диска, либо диск не отформатирован, либо плохо подключен
D: Drive Error Диск D не отвечает Либо в Setup выставлен неправильный тип диска, либо диск не отформатирован, либо плохо подключен
С: Drive Failure Диск С находится, но не работает. Очень серьезная проблема Возможно, стерта системная область диска С
D: Drive Failure Диск С находится, но не работает. Очень серьезная проблема Возможно, стерта системная область диска С
CMOS Time and Date Not Set Время и дата не установлены Запустите Setup
Cache Memory Bad, do Not Enable Cache! Плохая кэш-память Плохая кэш-память, поменяйте, но сначал попробуйте просто перезагрузиться
8042 Gate-A20 Error! Линия А20 контроллера клавиатуры не работает Замените контроллер клавиатуры (8042)
Address Line Short Проблема со схемой адресации памяти Попробуйте перезагрузиться, выключив компьютер и подождав секунд 20. Пробле] может разрешиться сама
DMA #1 Error Ошибка первого канала DMA Может быть вызвана соответствующим периферийным устройством
DMA Error Ошибка контроллера DMA Может быть вызвана соответствующим периферийным устройством



Video controller — микросхема



Video controller — микросхема или адаптерная кар­та, которая преобразует сигналы компьютера в сиг­налы, подаваемые на вход монитора(дисплея).





Вирус или ...



Вирус, или...

...просто испорчена утилита операционной системы и для устранения неисправности достаточно перенести на диск соответствующие программы из пакета DOS той версии (вни­мание!), которая стояла там до появления неисправности?

Однако, при попытке перезапуска компьютера на мони­торе появляется надпись:

• 17ХХ DISK ERROR или

• INVALID DRIVE SPECIFICATION или

• DRIVE NOT READY ERROR.

Если после каждого перезапуска компьютер либо зависа­ет, либо появляются подобные надписи, проделайте следу­ющую процедуру.

Поднимите крышку системного блока.Снимите и снова вставьте ленточные кабели в разъемы интерфейсного адап­тера и разьемы жесткого диска.

Имеет смысл также вытащить и снова вставить плату адап­тера винчестера из разьема системной платы. Обратите вни­мание на нумерацию контактов кабеля, с тем чтобы не пе­ревернуть их на 180 градусов.

Если такая прочистка контактов не помогла, вставьте си­стемный гибкий диск в дисковод и попытайтесь загрузиться с него. Если загрузка прошла успешно с диска А:, а попыт­ки обращения к диску С: не удались, можно сделать пред­варительный вывод об искажении системной части винчес­тера, особенно, в связи с участившимися в последнее вре­мя случаями заражения компьютеров вирусами.

Эта гипотеза может фигурировать в числе первых. Итак, воспользовавшись антивирусными программами — это может быть программа Aidstest или Adinf (они регулярно обновля­ются и являются ходовыми на отечественном рынке ПО), — попытайтесь выявить и уничтожить вирус.

Если вирус выявлен и уничтожен, вам только останется восстановить системную часть диска (ниже мы покажем, как

это делается) и озаботиться, чтобы в дальнейшем такие ис­тории не повторялись.

При неоднозначном результате воспользуйтесь утилитой пакета Norton Utility — NDD (Norton Disk Doctor) версии 6 или 7.

Ее придется также загрузить с гибкого диска, и если про­верка покажет, что диск С: содержит слишком много пло­хих кластеров (единица измерения дисковой информации — 2 килобайта), то на повестку дня встанет вопрос: почему по­явились плохие кластеры? Ответов два.

Первый — это работа вирусов. Второй — диск долго не проверялся и сейчас видны результаты ухудшения качества меток низкоуровневого форматирования.

Вне зависимости от варианта ответа можно попытаться провести следующую операцию. Загрузитесь с диска А: и по­пытайтесь перенести системные файлы операционной систе­мы той же версии, которая была записана у вас до появле­ния неисправности, на жесткий диск.

Это делается с помощью команды: A:\>SYS С:

Эта операция не должна испортить информацию на дис­ке (если вы еще на это надеетесь). В случае удачи эти фай­лы займут место прежних, испорченных вирусом или появив­шихся плохих кластеров. Не забудьте скопировать файл COMMAND.COM на диск С:. Обратите внимание на то, чтобы и этот файл брался из комплекта DOS той же версии, иначе вы снова получите ошибку «Invalid drive Specificatiion» и долго будете искать источник ее происхождения.

При успешном перезапуске компьютера снова запустите антивирусную программу, имеющуюся у вас в наличии, и впоследствии пользуйтесь ею регулярно.

Однако, компьютер может и не запуститься. Значит это не вирус, а...



Вирусные программы инициирующие



Вирусные программы, инициирующие зависания, в основ­ном используют программы»! механизм TSR-программ.

В практике управления программным обеспечением пер­сонального компьютера понятие TSR-программа имеет фун­даментальное значение. Именно TSR-программы инсталли­руются при загрузке ПК в ОЗУ и, в случае необходимости, выполняют свои функции.

Резидентную программу (Terminal-and-Stay-Resident — TSR) можно выполнять с помощью строки в файле AUTOEXEC.BAT или с помощью строки INSTALL в файле CONFIG.SYS. TSR-программа сообщает DOS о том, что ра­ботоспособна и управление ПК можно передать другой про-грамме, но она не освобождает занимаемую ею память. Следовательно, она прекращает управление ПК, но остает­ся резидентной (остается в памяти). Каждая TSR должна вы­полнять 4 действия:

• она должна скопировать элементы таблицы векторов прерываний (как минимум 2 элемента);

• поместить в этот элемент таблицы адрес, содержащейся в ней подпрограммы;

• сообщить DOS, какие части занимаемой ею памяти можно использовать повторно другими программами, а какие нужны ей;

• сообщить DOS: «Моя работа на данный момент закон­чилась — но я буду еще работать позже».

Неполадки и отказы из-за некорректной работы TSR-программ

Некорректная работа TSR-программ может вызвать фа­тальное, т. е. необратимое зависание. Если ПК работает в многозадачном режиме, возможен выход из текущей задачи и сохранение ПК в рабочем состоянии для остальных неза­вершенных задач.

Общие проблемы с TSR:

Конфликт комбинаций нажатых клавиш. Две или бо­лее резидентные программы наблюдают за одной и той же комбинацией клавиш, вызывающей их «всплытие». Только загруженная последней TSR бу­дет видеть эту комбинацию. Решение может состо­ять в изменении комбинации клавиш одной из TSR-программ.

• Захват прерывания. Некоторые старые TSR полностью принимают управление на себя и не передают его ра­нее загруженным TSR. Лучшим решением может быть отказ от использования таких программ; как альтерна­тиву можно попробовать загружать такие программы ПЕРВЫМИ.

• неиспользуемые -места{дыры) в памяти. Если TSR са­мостоятельно вьмружаетея из ОЗУ, то нередко остается большой неиспользуемый блок в нижней памяти. Если

выполнить команду «Список блоков памяти» из меню. «Память», можно увидеть любые большие блоки сво­бодной памяти в нижних адресах. Эта память может быть использована меньшей по размеру программой, но использование ее большой программой невозмож­но. Решение состоит в том, чтобы загружать такую программу последней или удалять ее перед загрузкой любой другой TSR.

Использование встроенных «супервизорных» диагностических программ в современных ПК

Некоторые современные компьютеры снабжаются «супер-визорными» программами диагностики с возможностью вы­вода информации об ошибках на специальный миниатюрный жидкокристаллический дисплей (LCD), расположенный на фронтальной панели системного блока компьютера.

Наиболее распространенные ошибки, отображаемые на LCD — экране, и инструкции для пользователя в этом слу­чае могут выглядеть следующим образом:

• Error! CPU Socket — проверьте наличие центрального процесора или терминального устройства в разъеме.

• Error! Power supply — проверьте наличие напряжения в сети и подключение кабеля питания к компьютеру.

• Error! Power CPU — проверьте наличие модуля кэш­памяти второго уровня для процессора.

• Error! Board PLL — проверьте наличие питания сис­темной платы и правильность подключения к ней лен­точных кабелей.

• Error! BIOS — проверьте целостность флэш-памяти BIOS.

• Error! No RAM — отсутствуют микросхемы памяти ОЗУ/RAM, проверьте их наличие.

• Error! No video — проверьте правильность установки ви­деоадаптера.

• Error! RAM type — проверьте совместимость (однород­ность) установленных микросхем оперативной памяти ОЗУ/RAM или надежность контактов с системной пла­той.Error! Done FAIL, Exit — проверка произведена, об­наружены ошибки, выход из программы диагностики. Error! Done Ok, Exit — проверка произведена, ошибок не обнаружено, выход из программы диагностики.



VLB (VESA Local Bus — локальная



VLB (VESA Local Bus — локальная шина стандарта VESA) — 32-разрядное дополнение к шине ISA. Конструктивно представляет собой дополнительный разъем (116-контактный, как у МСА) при разъеме ISA. Разрядность — 32/32, тактовая частота — 25..50 МГц, предельная скорость обмена — 130 Мб/с. Имеет жесткое ограничение на количество устанавливае­мых устройств





Вместо введения



Вместо введения

IBM-совместимые ПК приобрели широкую известность и популярность и вытеснили с рынка компьютеров другие мо­дели по двум причинам.



Внедрение вирусов в SYSфайлы Вирусы



Внедрение вирусов в SYS-файлы

Вирусы, внедряющиеся в SYS-файл, приписывают свои коды к телу файла и модифицируют адреса программ стра­тегии (Strategy) и прерывания (Interrupt) заражаемого драй­вера (встречаются вирусы, изменяющие адрес только одной из программ).

При инициализации зараженного драйвера вирус перехва­тывает соответствующий запрос операционной системы, передает ее драйверу, ждет ответа на этот запрос, коррек­тирует его и остается в оперативной памяти вместе с драй­вером в одном блоке памяти. Такой вирус может быть чрез-

вычайно опасным и живучим, так как внедряется в ОЗУ при загрузке DOS раньше любой антивирусной программы, если она, конечно, тоже не является драйвером.





Внешние модемы представляют собой



Внешние модемы представляют собой независимые, авто­номные устройства, подключаемые к любому последователь-

ному СОМ-порту. Такой СОМ-порт может реализовываться в составе мультиадаптера либо отдельной сетевой карты.

При установке внешний модем подключается к СОМ-пор­ту. Затем к модему подключается питание, если он постав­ляется с отдельным блоком питания. Разъем блока питания подключается к ответному разъему на корпусе модема.

На задней панели внутреннего модема расположены 2 разъема типа RJ11. Один разъем обозначен как «Line» (ли­ния), или «Wall» (стена).Этот разъем должен быть соединен с телефонной линией.

В другой разъем, который обычно обозначается как «Phone» (телефон), вставляется разъем телефона. Посколь­ку российские разъемы не подходят к европейскому стандар­ту (у нас два провода вместо четырех), вы можете подклю­чить к телефонной линии и телефону два средних провода из четырех, если нет специальных переходников.

При правильно выполненных подсоединениях и при сня­той телефонной трубке пользователь должен слышать длин­ный телефонный гудок.

Особенности интерфейса модема с компьютером

Согласование модема с компьютером и линией реализуется соответствующими рекомендациями и стандартами. К ним от­носятся, в частности, V.24, RS-232, RS-422, V.35 и другие. На физическом уровне модем может определить обрыв прово­да, пропадание питания , потерю механического контакта.

При установке внутреннего модема необходимо выбрать номер последовательного порта (СОМ1-СОМ4) и номер системного прерывания. Обычно, для портов COM2 и COM4 используется прерывание IRQ3, и для порта СОМ1 и COM3 используется IRQ4.

Если все порты заняты, то для установки модема придется освободить какое-либо устройство, занимающее этот порт. Информацию о свободных ресурсах компьютера можно по­лучить, используя утилиту SYSINFO.EXE из пакета NU (Norton Utility) или Свойства компьютера/Computer Properties (Панель управления -> Система -> Администриро­вание устройствами (Device Manager)).

Установить перемычки на плате модема, соответствующие выбранным номерам порта и прерывания.

При установке внутреннего модема пользователь должен придерживаться тех же правил, которыми он пользуется при замене адаптерных плат:

• отключить компьютер от сети переменного тока;

• снять кожух системного блока;

• прикоснуться рукой к «земле» системной платы, что­бы снять статический заряд;

• убрать защитную пластину напротив свободного слота (разъема) с задней стороны системного блока;

• установить плату модема, плотно вставив ее в контак­ты разъема;

• закрепить винтом плату модема;

• закрыть системный блок кожухом.

После установки модема, подключения линии и телефо­на он практически готов к работе.

Если в процессе установки модема выясняется, что он не был определен во время установки Windows 9x, выберите на панели управления значок «Модемы» и запустите програм­му установки модема, выполняя требуемые инструкции. Заметим, что.это относится как к внутренним, так и к вне­шним модемам. Модемы, вставляемые в микро-разъем PCMCIA, автоматически устанавливаются при подключении (при этом необходимы драйверы защищенного режима PCMCIA).

В процессе установки может выясниться, что модем не набирает номера или не устанавливает связи. Для выясне­ния причин в справочной системе найдите раздел «Устране­ние трудностей, возникающих при работе с модемом». Уста­новите параметры, стандартные для данного модема.



Такая реинициализация



ВНИМАНИЕ! Такая реинициализация возможна только для старых типов дисков (ST412 (MFM, RLL()) и некоторых IDE, EIDE). Для остальных типов такую попытку можно пред­принять в том случае, если испробованы все средства и ожи­вить НЖМД не удается. При благоприятном исходе можно спасти около 60% от общей емкости диска.

Пример подготовки(реинициализаии) винчестера с использованием программы HardPrep

1. Загрузиться с помощью системной дискеты А: или В:

2. Выполнить программу HDTEST и определить лучший параметр INTERLIVE.

3. Загрузить HardPrep

• через режим «Туре» установить тип вашего винчес­тера;• войти в режим «Initialize» (Reinitialize);

• выбрать вариант "Reinitialize"(реинициализировать);

• ответить «Yes»;

• ответить или ввести список дефектных дорожек с паспорта винчестера;

• указать номер фактора Interlive, определенный ра­нее;

• ответить «Reinitialize»;

• ответить 2 раза «Quit»(выходl).

4. Загрузить Parted (разметить):

• выбрать режим «Create» (создать);

• указать тип первого логического устройства как «BootableDOS»;

• выбрать из меню размер для первого логического ус­тройства по вашему усмотрению;

• выбрать режим «Create» (создать);

• указать тип для последующих логических устройств как «CompatibleDOS»;

• выбрать из меню размер для последующих логичес­ких устройств по вашему желанию;

• последлние три шага повторить столько раз, сколь­ко дополнительных логических устройств вы созда­ете на винчестере;

• выбрать режим и отформатировать все созданные ло­гические устройства винчестера;

• Выбрать режим «Quit» (выход);

5. Перезагрузиться с дискеты А:.

6. Выполнить Format c:/s (предварительно убедиться, что вы находитесь в том поддиректории, где есть утилита форматирования «Format», на вопрос программы об имени тома ответить ENTER (без имени), затем «Yes».

7. Наберите команду Сору *.* С:.

8. Загрузитесь с диска и отредактируйте файлы Autoexec.bat и Config.sys под конфигурацию вашей си­стемы.

9. Ваш диск готов к работе, при этом его производитель­ность будет максимальной или, по крайней мере, близ­кой к максимальной, так как очень трудно описать в виде инструкции и еще целый ряд тонкостей, которые

должны учитываться при попытке выжать из жесткого диска все, на что он способен.

Подготовив диск для работы, запишите цилиндры разде­ления логических устройств. Если у вас по каким-то при­чинам будет разрушена таблица Disk Partition Table, эти за­писи помогут быстро восстановить данные без их потери, вы­полнив п. 4 данной инструкции без форматизации так, как это было сделано при первичной подготовке диска.



Восстановление возможности загрузки установка шинной тактовой частоты — перемычка J1N1 (JumperJ1N1)



Восстановление возможности загрузки установка шинной тактовой частоты — перемычка J1N1 (JumperJ1N1)

Перемычка J1N1 (Jumper J1N1) выполняет двойную фун­кцию — восстанавливает возможность загрузки, позволяю­щую системе загружаться даже в случае разрушения систем­ного BIOS установкой перемычки в положение из 1—2 (по умолчанию) в положение 2—3. Процедура восстановления загрузки подробно описана в инструктивном приложении к системной плате. Переключатели 6, 7 и 8, J1N1 использу­ются для установки внешней тактовой частоты в соответствии с приведенной выше таблицей.

Системная плата, использующая чипсеты (набор микро­схем) Intel 440BX и возможность установки двух микропро­цессоров Pentuim II, имеет набор из 10 переключателей, оп­тимизирующих параметры микропроцессора и внешней шины.

В таблице 29 внизу показаны позиции переключателей на системной плате, определяющие внешнюю тактовую часто­ту платы и тактовую частоту микропроцессора.

Использование остальных пяти переключателей показано в таблице 30.

Таблица 29.

External Bus Speed Processor Speed Switch 1 Switch 2 Switch 3 Switch 4 Switch 5
100 MHz 350 MHz UP UP UP DOWN DOWN
100 MHz 400 MHz UP UP DOWN UP UP
100 MHz 450 MHz UP UP DOWN UP DOWN
100 MHz 500 MHz UP UP DOWN DOWN UP

Таблица 30.

Переключатель/Switch Использование переключателя
6 — CLEAR CMOS сохранение или сброс CMOS-памяти UP — сохранить в CMOS-памяти (по умолчанию) DOWN — сброс CMOS-памяти
7 — PSWRD UP — возможен ввод пароля (по умолчанию) DOWN — сброс пароля
8 — KEYB power on UP — включение питания с помощью клавиатуры невозможно DOWN — включение питания с помощью клавиатуры возможно (по умолчанию)
9 —BOX DEFINITION UP — выбор модели мини-тауэр (по умолчанию) DOWN — выбор модели «настольный вариант»
10 — BIOS recovery mode UP — выбор нормального варианта (по умолчанию) DOWN — выбор режима восстановления (BIOS)

Здесь UP = OFF и DOWN=ON

Таблица 31. Технические характеристики жестких дисков

Обозначение Емкость Интерфейс Среднее Время Скорость Скорость Скорость Объем Число Особенности
(Мб) время перехода передачи передачи вращения кэш- дисков/
доступа, с дорожки внутренняя, интерфейса, двигателя, памяти, головок
тс на дорожку, тс Mb/s Mb/s об./мин. Kb
1 2 3 4 5 6 7 8 9 10 11


Возможности утилиты «Нортон Систем Доктор»/ Norton System Doctor (NSD)



Возможности утилиты «Нортон Систем Доктор»/ Norton System Doctor (NSD)

Для восстановления тома жесткого диска Norton Disk Doctor должен получить исключительный (эксклюзивный) доступ к тому, известному, как блокирующий том.Существует ряд причин, по которым Norton. Disk Doctor окажется не в состоянии заблокировать том:

• программа запущена из этого тома,

• Explorer (или другой менеджер файлов) открыт в окне этого тома,

• с этим томом контактирует сетевой пользователь,

• страничный файл Windows NT существует на этом томе,

• Windows NT использует этот том как системный драй­вер (т. е. системные файлы перемещены на этот том).

Если Norton Disk Doctor не сможет захватить том диска для эффективного востановления, он покажет вам опцию (вариант) плана для диагностической проверки и восстанов­ления тома в последующий момент времени после старта си­стемы.

Когда NDD обнаружит ошибку в таблице разделов, он предложит создать UNDO-disk (старую копию диска, к ко­торой можно было бы вернуться в случае неудачи) перед процедурой восстановления.

Если вы будете неудовлетворены результатами восстанов­ления, вы сможете вернуться к прежнему UNDO-диску, т. е. прежней таблице разделов, которая существовала до процедуры восстановления.

Запуск NDD из командной строки для такой процедуры: NDD32.EXE /undo

Отказы в сети

Для первых версий сетевых операционных систем, какой является Windows 3.11 для рабочих групп достаточно часто проявляется ситуация, когда рабочие станции Windows for Workgroups 3.11, подсоединенные к различным сегментам сети Novell NetWare, не видят друг друга.

Чтобы решить эту проблемудостаточно установить IPX/ SPX with NetBIOS по умолчанию. Для этого нужно запус­тить программу «Установка сети» из группы «Сеть», перей­ти в раздел «Драйверы», выбрать указанный протокол из списка и нажать кнопку «Установить как протокол по умол­чанию».

Для инсталляции разделяемой копии Windows в сети нуж­но запустить процедуру Setup с параметром /n: setup/n. Сле­дует отметить, что не все сети поддерживают работу Windows в стандартном или расширенном режиме.



VRAM — video RAM — память которая



VRAM — video RAM — память, которая «отвечает-»за рисование на экране дисплея, ускоряет процесс рисования, увеличивает степень разрешения или число цветовых опций. Память типа VRAM (Video RAM) повышает скорость работы графического контрол­лера, поскольку использует специальные двухпор­товые (двувходовые) микросхемы. Обычные мик­росхемы DRAM в каждый конкретный момент вре­мени могут выполнять либо запись, либо чтение информации. А микросхемы VRAM благодаря сво­ей двухпортовой структуре позволяют выполнять чтение и запись одновременно. Микросхемы VRAM дороже микросхем DRAM примерно в 1,5-2 раза.





Время поиска дорожки или время подхода к дорожке (Seek Time)



Время поиска дорожки или время подхода к дорожке (Seek Time)

Это время показывает, в среднем, насколько быстро пе­ремещаются головки считывания/записи (read/write head) вашего жесткого диска от одной дорожки к другой. Этот параметр обозначается как Track to Track Seek Time. Время поиска как параметр является единственным фак­тором, определяющим общее итоговое время доступа к данным на жестком диске.

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

Этот параметр определяет скорость, с какой передаются

данные на ваш жесткий диск.

На этот фактор оказывают влияние:

Interleave (чередование). Если величина чередова­ния установлена неправильно, вы можете потерять в скорости передачи более чем в 10 раз (это каса­ется жестких дисков, переформатирование которых допускается. В последнее время стали применять­ся диски типа EIDE, SCSI, которые не допускают переформатирования в обычных условиях).

• Кэш диска (Disk Cache). Добавление дискового кэша ... существенно улучшит характеристики вашего дис­ка с точки зрения увеличения скорости передачи данных. Перед началом тестирования любого жесткого диска (включая пункт «общее быстродействие», который также тестирует диски), программа запросит, какой из жестких дисков нужно использовать.

Обратите внимание, что этот запрос относится к физи­ческим, а не к логическим дискам, которые вы можете со­здать. Просто выберите «Жесткий диск 1» (обычно диск С:) или «Жесткий диск 2» (обозначаемый, как правило, иден­тификатором диска выше чем С:).

Тестовые характеристики системного блока (Main System Benchmark)

Измерение скорости работы процессора (CPU Speed).

Измерение характеристик видеоадаптера (Video Speed).

Эти измерения показывают, насколько высока разре­шающая способность адаптерной платы вашего компь­ютера, в каких текстовых процессорах она будет рабо­тать нормально, а в каких — нет.

Проверка системной платы (Test System Board).



Время жизни объектов


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



VRM — Voltage Regulator Module



VRM — Voltage Regulator Module — модуль регуля­тора напряжения. Служит для формирования нуж­ных напряжений питания процессора. Разработан для того, чтобы существующие системные платы могли поддерживать новые типы процессоров, которые появятся в будущем. На системных платах, предус­матривающих наличие VRM, для него есть специ­альный разъем.





Если перед вами встала задача



ВВЕДЕНИЕ

Если перед вами встала задача устранить неполадки, зави­сания или отказы, препятствующие нормальной работе ком­пьютера, попробуйте сначала САМИ решить эту проблему.
Прочитайте рекомендации, изложенные авторами в этой книге, а в случае успеха примите наши поздравления.
Если проблема выходит за рамки содержания справочни­ка, обратитесь в сервис-мастерскую.



Этот учебник - попытка объяснить, что такое объектно-ориентированное программирование (ООП), почему оно полезно и как его можно использовать во Flash 5, попытка объяснить ООП, как новую систему, не связанную с "нормальным" процедурным стилем программирования. Предполагается, что вы приемлемо знакомы с ActionScript или JavaScript. Этот учебник скорее всего наиболее полезен для тех, кто не имеют почти никакого опыта программирования или тех, кто продвинут в понимании ООП методов, но в других языках.
Проблема в изучении ООП не в его сложности, а том, что вам требуется изменить способ мышления относительно знакомых вам вещей. Это трудно, требуется такое же переосмысление, которое происходит, когда вы впервые лично встречаете "друга из интернета". Особенно, если вы ошиблись в своих представлениях о его половой принадлежности. Ничто не изменилось, это тот же самый человек, но в то же время это новый человек с лицом и голосом (и возможно с неимоверными грудями или бородой...). Сначала вы просто отвергаете это, мысленно воспринимаете "он-лайн" и "реального" человека, как двух различных людей, хотя и понимаете, что между ними имеется очень много общего, вы путаетесь в процессе общения и даже начинаете сомневаться кого из них раньше знали - его/ее/их. Возможно в этот момент вы оглядываетесь назад, пробуя приспособить старые факты к новой информации, перечитываете некоторые ваши старые электронные письма, улыбаетесь и возможно краснеете. Постепенно все медленно изменяется, становятся понятны некоторые моменты, которые были неясны прежде. Время идет и в конце концов вы привыкаете к новому, уже не понимая, как могло быть иначе. Все встало на свои места и вы стали объектно-ориентированным программистом.
Итак, что такое ООП?
Лучше всего начать его изучение со скромного понятия Объект.
<<    ООП во Flash 5    >>

WAVfiles — файлы хранящие данные



WAV-files — файлы, хранящие данные оцифрован­ного звукового процесса в соответствующем

(wav) формате.



WRAM — Windows RAM — двунаправленная память, позволяющая одновременный ввод/вывод на/с гра­фического контроллера. Применяется в графичес­ких акселераторах.



Western Digital 3 5 дюйма Caviar



Western Digital - 3,5 дюйма Caviar
АС2850 853 Enhanced IDE 10-12,5 4 11,1 PIO Mode3 13,3 DMA 4500 64 2/4 Smart
AC 11200 1282 Enhanced IDE 11 16,7 5200 256 1/2 Smart
АС21000 1083 Enhanced IDE 11-13,0 16,7 PIO Mode3 13,3 DMA 5200 128 2/4 Smart
AC 11600 1625 Enhanced IDE 12 16,7 5200 128 2/4 Smart
AC22000 2000 Enhanced IDE 11 16,7 5200 256 2/3 Smart
AC22100 2112 Enhanced IDE 12 16,7 5200 128 3/5 Smart
AC32500 2560 Enhanced IDE 11 16,7 5200 256 3/6 Smart
AC22500 2560 Enhanced IDE 12 16,7 5200 128 3/6 Smart
AC33100 3167 Enhanced IDE 12 16,7 5200 256 3/5 Smart
AC33200 3249 Enhanced IDE 11 16,7 5200 128 3/6 Smart
AC34000 4001 Enhanced IDE 12 16,7 5200 256 3/6 Smart
AC34300 4304 Ultra ATA 11 16,9 33,3 5400 256 MR/PRML Smart
AC3510O 5163 Ultra ATA 11 16,9 33,3 5400 256 MR/PRML Smart

Продолжение табл. 31

1 2 3 4 5 6 7 8 9 10 11
Seagate — 3,5 дюйма Medalist ХЕ и Cabo
ST3541A Cabo 541 Fast ATA-2 14 3 5,12 16,7 PIO Mode4, DMAMode2 3600 64 1/2 PRML SMART
ST36230A Medalist 631 Fast ATA 14 5 4,87 11,1 PIO Mode3 13,3 DMA 3811 120 2/4 SMART
ST3636A Cabo 635 Fast ATA-2 12,5 3 6,37 16,7 PIO Mode4, DMA Mode2 4500 64 1/2 SMART
ST3850A Medalist 850 Fast ATA 14 5 6,00 16,7 PIO Mode3 13,3 DMA 3811 120 2/4 SMART
ST3851A Cabo 850 Fast ATA-2 14 3 4,37 16,7 PIO Mode4, DMA Mode2 3600 64 2/4 SMART
Seagate — 3,5 дюйма Cabo
ST31081A 1082 Fast ATA-2 14 3 5,12 16,7 PIO Mode4, DMAMode2 3600 64 2/4 PRMIVSMART Multimedi ready
ST31276A 1275 Fast ATA-2 12,5 3 6,37 16,7 PIO Mode4, DMAMode2 4500 64 2/4 SMART Multimedi ready
ST31276A 1275 Fast ATA-2 14 3 5,12 16,7 PIO Mode4, DMAMode2 3600 64 3/6 PRMIVSMART Multimedi ready

Продолжение табл.

1 2 3 4 5 6 7 8 9 10 11
АС35400 6448 Ultra ATA 9,5 16,4 33,3 5400 256 MR/PRML Smart
Western Digita — 3,5 дюйма Enterprise
WDE2170-0003 2170 Ultra SCSI 8/18 1 10,1-17,5 20 7200
WDE2170-0007 2170 Wide Ultra SCSI 1 10,1-17,5 40 7200 512 (1024) 2/4 PRMLVSMART
WDE2170-0008 2170 Wide Ultra SCSI SCA-2 1 10,1-17,5 40 7200 512 (1024) 2/4 PRML/SMART
WDE2170-0023 2170 Wide Ultra SCSI diff 1 10,1-17,5 40 7200 512 (1024) 2/4 PRML/SMART
WDE4360-0003 4360 Ultra SCSI 8/18 1 10,1-17,5 20 7200 4/8
WDE4360-0007 4360 Wide Ultra SCSI 8/18 1 10,1-17,5 40 7200 512 (1024) 4/8 PRMIVSMART
WDE4360-0008 4360 Wide Ultra SCSI SCA-2 8/18 1 10,1-17,5 40 7200 512 (1024) 4/8 PRM1VSMART
WDE4360-0023 4360 Wide Ultra SCSI diff 8/18 1 10,1-17,5 40 7200 512

(1024)

4/8 PRML/SMART
Western Digital — 3,5 дюйма Portfolio
PhD 1000 1,083 Enhanced IDE (PCMID) 14 4,0-7,9 16,7 (PIO4) 4536 128 2/4 Smart высота 10,5 мм
PhD 1400 1,441 Enhanced IDE (PCMID) 14 4,5-8,8 16,7 (PIO4) 4536 128 2/4 Smart высота 10,5 мм
PhD2100 2,167 Enhanced IDE (PCMID) 14 16,7 (PIO4) 4000 256 2/4 Mr/Smart/parol высота 10,5 мм

Продолжение табл. 3

1 2 3 4 5 6 7 8 9 10 11
Seagate — 3,5 дюйма Hawk 2XL
ST31051N ST31055N 1050 Fast SCSI-2 Ultra SCSI 9-10,5 1 5,0-8,75 10

20

5411 256 512 2/4 SCAM PRML
ST31051W ST31051WC 1050 Fast Wide SCSI-2, SCA 9-10,5 1 5,0-8,75 20 5411 512 2/4 SCAM PRML
ST31055W ST31055WC 1050 16-бит Ultra SCSI, SCA 9-10,5 1 5,0-8,75 40 5411 512 2/4 SCAM PRML
ST32151N ST32155N 2149 Fast SCSI-2 Ultra SCA 9-10,5 1 5,0-8,75 10 20 5411 256 512 4/8 SCAM PRML
ST32151W ST32151WC 2149 Fast Wide SCSI-2, SCA 9-10,5 1 5,0-8,75 20 5411 512 4/8 SCAM PRML
ST32155W ST32155WC 2149 16-бит Ultra SCSI, SCA 9-10,5 1 5,0-8,75 40 5411 512 4/8 SCAM PRML
Seagate — 3,5 дюйма Cozumel 4LP
ST34217N 4294 Ultra SCSI 8,5-9,0 1,8 8,75-13,75 20 7200 512 5/10 PRML
ST34217W ST34217WC ST34217WD 4294 16-бит Ultra SCSI, SCA diff 8,5-9,0 1,8 8,75-13,75 40 7200 512 5/10 PRML
Seagate — 3,5 дюйма Barracuda 2LP
ST31250N ST31250N 1021 Fast SCSI-2 different 8,0-9,0 0,6-0,9 6,17-9,00 10 7200 512 3/5
ST31250W ST31250WD ST31250WC 1021 FastWide SCSI-2 different SCA 8,0-9,0 0,6-0,9 6,17-9,00 20 7200 512 3/5
ST32550N ST32550ND 2147 Fast SCSI-2 different 8,0-9,0 0,6-0,9 6,17-9,00 10 7200 512 6/11

Продолжение табл. 31

1 2 3 4 5 6 7 8 9 10 11
Seagate — 3,5 дюйма Medalist SL
ST51080A 1083 Fast АТА-2 10,5 2 8,37 16,7 PIOMode4, DMAMode2 5400 128 2/4 Multimedi ready SMART
ST51080N 1080 Fast SCSI-2 12,5 3,5 8,12 10 5400 128 2/4 Multimedi ready SMART
ST51270A 1282 Fast АТА-2 10,5 2 8,87 16,7 PIOMode4, DMAMode2 5400 128 2/4 Multimedi ready SMART
Seagate — 3,5 дюйма Medalist
ST32140A 2113 Fast АТА-2 10 2 8,37 16,7 PIOMode4, DMAMode2 5400 128 4/8 Multimedi ready SMART
ST32530A 2550 Fast АТА-2 10,5 2 10,87 16,7 PIOMode4, DMAMode2 5400 128 3/6 MRPRML Multimedi ready SMART
ST33440A 3400 Fast АТА-2 10,5 2 10,87 16,7 PIOMode4, DMAMode2 5400 128 4/8 MR PRML Multimedi ready SMART
ST34250A 4250 Fast АТА-2 10,5 2 10,87 16,7 PIOMode4, DMAMode2 5400 128 5/10 MR PRML Multimedi ready SMART

Продолжение табл. .

1 2 3 4 5 6 7 8 9 10 11
ST94350AG 1350 Fast АТА-2 14 4,0 7,6 16,7 PIOMode4, DMAMode2 4500 107 3/6 Smart высота 12,7 мм
Seagate — 2,5 дюйма Marathon
ST9816AG 810 Fast АТА-2 16 6,0 5,5 16,7 PIOMode4, DMAMode2 4500 120 4/8 Smart высота 19,1 мм
ST91685AG 1680 Fast АТА-2 14 4,0 7,6 16,7 PIOMode4, DMAMode2 4500 107 4/8 Smart высота 19,1 ми*
ST92255AG 2250 Fast АТА-2 14 4,0 7,6 16,7 PIOMode4, DMAMode2 4500 107 5/10 Smart высота 19,1 mv
Fujitsu — 3,5 дюйма Picobird 7
M16O3SA 544 Fast SCSI-2 10-12 3 4,34-7,84 10 5400 512 2/3
M1606SA 1091 Fast SCSI-2 10-12 3 4,34-7,84 10 5400 512 3/6
Fujitsu — 3,5 дюйма Picobird 8
М1612Т 545 Fast SCSI-2 10-12 3 4,37-7,97 16,7 PIOMode4, DMA Mode2 4500 64 1/2 Smart Low Noise
М1614Т 1091 Fast SCSI-2 10-12 3 4,37-7,97 16,7 PIOMode4, DMAMode2 4500 64 2/4 Smart Low Noise

Продолжение табл. 3

1 2 3 4 5 6 7 8 9 10 11
ST32550W ST32550WD ST32550WC ST32550DC 2147 FastWide SCSI-2 different SCA 8,0-9,0 0,6-0,9 6,17-9,00 20 7200 512 3/5
Seagate -— 3,5 дюйма Barracuda 4LP
ST32171N 2150 Ultra SCSI 8,0-9,0 0,8-0,9 9,37-15,00 20 7200 512 3/6 PRML Multimedi ready
ST32171W ST32171WD ST32171WC ST32171DC 2150 16-бит Ultra SCSI, SCA different 8,0-9,0 0,8-0,9 9,37-15,00 40 7200 512 3/6
ST32171FC 2150 FibreChannel Dual Port 8,0-9,0 0,8-0,9 9,37-15,00 100 7200 512 3/6
ST34371N 4350 Ultra SCSI 8,0-9,0 0,8-0,9 9,37-15,00 20 7200 512 5/10
ST34371W ST34371WD ST34371WC ST34371DC 4350 16-бит Ultra SCSI, SCA different 8,0-9,0 0,8-0,9 9,37-15,00 40 7200 512 5/10
Seagate — 2,5 дюйма Marathon SL
ST9420A 420 Fast ATA-2 16 6,0 5,5 16,7 PIOMode4, DMAMode2 4500 120 2/4 Smart высота 12,7 мм
ST9840A 840 Fast ATA-2 14 4,0 7,6 16,7 PIOMode4,

DMAMode2

4500 107 2/4 Smart высота 12,7 мм

Продолжение табл. 3

1 2 3 4 5 6 7 8 9 10 11
M2934SAM М2934НАМ 4350 Fast SCSI-2 different 10,3-11,9 1,0-2,2 6,6-11,3 10 7200 510 10/18 MR PRML
M2934QAM M2934RAM М2934САМ 4350 FastWide SCSI-2 different SCA-1 10,3-11,9 1,0-2,2 8,6-11,3 20 7200 510 10/18 MR PRML
Fujitsu — 3,5 дюйма Allegro 3
M2952SAU M2952SYU 2420 Fast SCSI-2 Ultra SCSI 8-9 0,8-1,0 9,9-14,0 10 20 7200 7200 512 3/5 MR PRML AV
M2952QAU M2952RAUM 2952EAU 2420 FastWide SCSI-2 different SCA-2 8-9 0,8-1,0 9,9-14,0 20 7200 512 3/5 MR PRML AV
M2954SAU M2954SYU 4350 Fast SCSI-2 Ultra SCSI-2 8-9 0,8-1,0 9,9-14,0 10 20 7200 7200 512

512

3/5 MR PRML AV
M2954QAU M2954RAU M2954EAU 4350 FastWide SCSI-2 different SCA-2 8-9 0,8-1,0 9,9-14,0 20 7200 512 5/9 MR PRML AV
M2949SAM 9100 Fast SCSI-2 10-11,5 1,0-2,2 9,9-14,0 10 7200 512 10/18 MR PRML AV
M2949QAU M2949RAU M2949EAU 9100 FastWide SCSI-2 different SCA-2 10-11,5 1,0-2,2 9,9-14,0 20 7200 512 10/18 MR PRML AV

Продолжение табл.

1 2 3 4 5 6 7 8 9 10 | 11
Fujitsu — 3,5 дюйма Picobird 9
М1636Т 1284 Fast АТА-2 10-12 3 7,7-13,8 16,7 PIOMode4, DMAMode2 5400 128 1/2 MR PRML ID-less format Smart
М1623Т 1700 Fast АТА-2 10-12 3 7,7-13,8 16,7 PIOMode4, DMAMode2- 5400 128 2/3 MR PRML ID-less format Smart
М1637Т 1926 Fast АТА-2 10-12 3 7,7-13,8 16,7 PIOMode4, DMAMode2 5400 128 2/3 MR PRML ID-less format Smart
М1624Т 2110 Fast АТА-2 10-12 3 7,7-11,8 16,7 PIOMode4, DMAMode2 5400 128 2/4 MR PRML ID-less format Smart
М1638Т 2568 Fast АТА-2 10-12 3 7,7-13,8 16,7 PIOMode4, DMAMode2 5400 128 2/4 MR PRML ID-less format Smart
М1639Т 3400 Fast АТА-2 10-12 3 7,7-13,8 16,7 PIOMode4, DMAMode2 5400 128 3/6 MR PRML ID-less format Smart
Fujitsu — 3,5 дюйма Allegro 2
M2932SAM М2932НАМ 2170 Fast SCSI-2 different 10,3-11,9 1,0-2,2 8,6-11,3 10 7200 510 5/9 MR PRML
M2932QAM M2932RAM М2932САМ 2170 FastWide SCSI-2 different SCA-1 10,3-11,9 1,0-2,2 8,6-11,3 20 7200 510 5/9 MR PRML

Продолжение табл. 3

1 2 3 4 5 6 7 ' 8 9 10 11
DK-212A-81 810 АТА-2 12 3,0-5,1 11,1 РЮ Mode3 4464 64 4/8 высота 19 мм
DK-223A-81 810 Fast АТА-2 12 3,7-6,1 16,7 РЮ Mode4, DMA Mode2 4464 128 3/6 высота 12,6 мм
DK-223A-U 1080 АТА-2 12 4,5-7,7 16,7 PIO4 4464 128 3/6 высота 12,7 мм
DK-212A-10 1080 АТА-2 12 3,6-6,1 11,1 РЮ Mode3 4464 64 4/8 высота 19 мм
DK-213A-13 1350 Fast АТА-2 12 3,7-6,1 16,7 РЮ Mode4, DMAMode2 4464 128 5/10 высота 19 мм
DK-213A-11 1350 Fast АТА-2 12 3,7-6,1 16,7 РЮ Mode4, DMAMode2 4464 128 5/10 высота 19 мм
DK-224A-14 1440 АТА-2 12 4,5-7,0 16,7 РЮ4 4464 128 3/6 PRML

высота 12,7 мм

DK-225A-14 1440 АТА-3 12 5,7-9,0 16,7 PIO4 4464 128 3/6 PRML/ Smart parol высота 12,7 мм
DK-226A-32 3240 АТА-3 12 6,0-9,1 16,7 PIO4 4000 128 3/6 PRML/ Smart parol высота 12,7 мм

Продолжение табл. .

] 2 3 4 5 6 7 8 9 10 11
Fujitsu — 2,5 дюйма Hornet 6
М2713Т 810 Fast АТА-2 12 3 3,42-6,77 16,7 PIO Mode4, DMAMode2 3634 128 2/3 MR PRML высота 12,5 мм
М2714Т 1088 Fast АТА-2 12 3 3,42-6,77 16,7 PIOMode4, DMAMode2 3634 128 2/4 MR PRML высота 12,5 мм
Samsung — 3,5 дюйма Plus/Stargate
PLS-30854A 850 Enhanced IDE 11 4 11,1 PIOMode3 4500 256 2/4 Smart
PLS-31084A 1080 Enhanced IDE 11 4 11,1 PIOMode3 4500 256 2/4 Smart
STG-31271A STG-31601A 1270 1600 Enhanced IDE 12 12 3 3 9,4 9,4 16,7 PIOMode4, DMA mode 2 4500 4500 128 128 2/4 3/5 PRML PRML
Samsung — - 3,5 дюйма Winner
WNR-1601A 1610 Enhanced IDE <11 <3 5,37-10,6 16,7 PIOMode4, DMA mode 2 5400 128 2/4 PRML
WNR-2101A 1610 Enhanced IDE <11 <3 5,37-10,6 16,7 PIOMode4, DMA mode 2 5400 128 2/4 PRML
Hitachi — 2,5 дюйма
DK-222A-54 540 ATA-2 12 3,6-6,1 11,1 PIO Mode3 4464 64 2/4 высота 12,6 мм

Окончание табл.

1 2 3 4 5 6 7 8 9 10 11
Hitachi — 3,5 дюйма
DK-328A-43 4370 Wide Ultra SCSI Wide Ultra SCSI SCA 9 9,4-15,6 40 7200 512 5/10 MP/PRMUAV Ready
DK-318A-91 9100 Wide Ultra SCSI Wide Ultra SCSI SCA 9 9,4-15,6 40 7200 512 10/20 MP/PRMUAV Ready

Глоссарий — справочник компьютерных сокращений и терминов



Здесь мы подведём итог по


Скачайте объектно-ориентированную систему
Здесь мы подведём итог по использованию объектно-ориентированной системы в ActionScript, не рассматривая подробно то, как это всё работает. Вообще всё просто. Сначала начнём с рекомендаций по использованию, а потом разберёмся с тем, что обязательно, а что опционально. Вот структура типичного класса:
 

Защита Изменения свойств прототипов


Мы имеем доступ к свойствам в прототипе, как если бы они находились в экземпляре. Любое свойство в экземпляре имеет приоритет перед свойством в прототипе его класса, если имена этих свойств совпадают. Однако, вы наверняка уже догадались, что если у нас есть доступ к свойствам в прототипе, словно бы они принадлежали экземпляру, то мы имеем возможность изменять их, верно? Давайте создадим койота (Coyote), он настолько туп (кстати, как вы думаете, насколько именно?), что уже отгрыз себе три лапы, но не ту которую следовало бы и всё ещё находится в капкане. Раз за разом он лишался одной из лап, так что наш пример будет выглядеть так: Coyote = function( ){} Coyote.prototype.legs = 4; ralph = new Coyote( ); ralph.legs--; ralph.legs--; ralph.legs--;

Но возникает проблема. Догадываетесь, какая? Правильно, койот всё равно не может убежать. Свойство legs находится в Coyote.prototype, а не в экземпляре ralph. Когда мы пишем ralph.legs--, то ожидаем, что свойство legs в Coyote.prototype будет иметь меньшее значение. Так возникает очень большая проблема для всех койотов, потому что они все получают свои legs из того же Coyote.prototype которое теперь имеет значение 3 вместо 4. Одна капля дёгтя портит весь мёд в бочке. Может вообще не помещать элементы в прототип? Шутка! Вообще-то, есть одно прекрасное решение проблемы ("автоматический" значит "прекрасный") и мы уже говорили об этом, когда бы экземпляр ни изменял свойство прототипа (legs--), это свойство сначала копируется в экземпляр и только после этого даёт себя изменить. Таким образом, это избавляет нас от ненужных хлопот со свойствами, идущими из прототипа. Вам даже не нужно задумываться о том, откуда пришло то или иное свойство. Если вы изменяете свойство в экземпляре, то на самом деле вы говорите следующее: "это свойство в этом экземпляре теперь другое". Наконец-то стало понятно, почему такие изменения происходят в экземплярах, если даже свойства пришли откуда-то из других мест. Однако, при обращении к свойству, нет никакой необходимости вызывать информацию, хранящуюся в экземпляре, если это свойство принадлежит всему классу.

Подумайте над разницей между предложениями "У Джона есть большие уши" и "У Джона есть уши". В первом случае уши Джона имеют особую "величину", которая отличает их от обычных ушей, так что подсознательно это свойство ассоциируется у нас с Джоном (или с его ушами). Если же просто сказать "У Джона есть уши", то это значит, что уши у Джона такие же, как и у всех остальных, так что мы подсознательно ассоциируем "уши" с "людьми", а не с Джоном. Если мы соединим эти два предложения в одно: "У Джона есть уши, и они очень большие", то наш супермозг просто свихнётся. Подсознательно мы берём у людей свойство "уши", делаем копию для Джона и изменяем их величину. Да простят меня большеухие! Если бы вашими мозгами управлял ActionScript, то данная трансмутация выглядела бы примерно так: Human= function( ){} Human.prototype.ears = 4; // у всех людей нормальные уши // Должно быть, это свойство задаётся где-то в начале жизни john = new Human( ); john.ears++; // уши копируются в экземпляр 'john' и затем увеличиваются // Это случается спустя несколько мнгновений после появления Джона

В данном случае свойство ears появилось в прототипе и было скопировано в экземпляр (одновременно сохраняясь неизменным в прототипе). Ваш мозг никогда не вообразит, что у всех людей вырастут большие уши после встречи с Джоном, так как информация об ушах Джона хранится в его (Джона) экземпляре. ActionScript автоматически делает то же самое. Ну а что если мы случайно удалим объект в прототипе, а не в экземпляре? Ничего страшного не произойдёт. ActionScript не позволит удалить объект в прототипе, если только не обращаться напрямую к Human.prototype.ears вместо того, чтобы работать с john.ears или с this.ears, как обычно бывает в таких случаях. В прототипе элементы находятся в безопасности, экземпляр не может изменить такое свойство, если только не дать ему на то специальных полномочий, позволяя делать всё, что угодно даже с самим собой. Кстати, Джон недавно отгрыз себе оба уха и не может завести подружку...

<<    ООП во Flash 5    >>