Содержание > Страница 10
[Q]: Два десктопа сменяют друг друга при перезагрузке
[A]: Unknown author
The problem with alternating Desktops is caused by a Drive being duplicated
in the File Handle Structure in the OS2SYS.INI file. In order to fixthis
problem, you must remove one of the duplicated Drive entries from the INI file.
Here is how you fix the problem with the alternating Desktops using UniMaint.
1. Make sure you have a Desktop Backup of your system. We are going to mess
with some things that could have a major effect on PM and WPS, so you always
want to have a place to go back to.
2. You are going to have to live with one Desktop or the other, so boot until
you get to the Desktop that you want and do the steps below immediately after
the Boot and do not do anything else until you are finished.
3. Bring up the main UniMaint window and use the File Menu to get the
System INI File as the file you are looking at. This is the OS2SYS.INI
file unless you have manually changed it.
4. Find PM_Workplace:Active Handles and highlight it. In the User Data Window
you will see with the Handles0 or the Handles1 Application Name.
5. Highlight the Application Name that is listed in the window. The Key
Names should not start with BLOCK1. There might be only on entry or there
could be a BLOCK2 etc. Don't worry about how many there are.
6. Use the Find/Application Key Value to do a search on the drive that is
duplicated, D:, for example.
7. Looking at the information on the right hand side of the user Data Window,
when you find the entry you are looking for, you will see the characters
DRIV a few lines above the D: and the word NODE just past the D: that you
found. A few lines down you will find D: again. This is the good entry, so
you do not want to mess with it.
8. Use the Find/Repeat Last Find and it will find the second D: entry which
is the one above that is a few lines down from the first one.
9. Do the Repeat Find again and you should not be at the D: entry that is
the problem entry. Once again, you will see DRIV in front of the entry, NODE
just past it and another D: a few lines down.
10. You need to get rid of this D: drive, so you can move the cursor in the
User Data Window to the two D: entries and change the D to an invalid drive
by typing over it. You must change both of them, you must change them to
something that is a drive that does not exist and you must change both of
them to the same thing.
11. Go to the Action Menu and use Update Current Key to get the information
written to the OS2SYS.INI file.
12. This is probably not necessary, but I would suggest you now sit and wait
for at least one minute so that the modified OS2SYS.INI file is actually
written to you HD.
13. Now use the Desktop Menu, Reset Desktop to do a Reset of WPS. This will
cause WPS to collapse and all of your Icons will disappear. The Desktop
should come back in a minute or so. If the Desktop does not come back, then
do a three finger salute to reboot.
14. You should now have the Desktop you expect and the other Desktop will not
come back.
15. If you have the wrong Desktop, then you should use the Backup to Restore
the Desktop with the duplicate Handles and modify the other D: entry.
16. Once you have a good Desktop, then make a new Desktop Backup, so you can
always get back to where you are.
17. Finally, use the Recover menu, Repair INI Files to do the Default INI
File Repair. Just bring up the Dialog, click on Execute...this will fill
the Repair Window, select the Do Repair Button just above the data window and
click on Execute again. All of the problem entries will now be gone.
18. I would now make another Desktop Backup, do a Shutdown and Reboot just
to be sure that everything is okay.
19. After you have done a few Shutdowns and Reboots...over the space of a
couple of days or so. Then it would not hurt to make another Desktop Backup,
just to be sure that everything is okay.
It does not hurt to make several Desktop Backups, because the default is
to keep 10 generations. You should use the Description field to make careful
notes as to exactly where you are in the process above when you make each
Backup so that you will know exactly which generation to use if you need to
backtrack for any reason.
Let me know if you have any problems or do not understand any of the above.
If you get to a point in the procedure where you are not sure whether you are
in the right place and you have not made any changes, then stop right there
and ask questions. Once you have made any of the changes and written them to
the file, you must go all the way through the process or use the Desktop
Backup to Restore and start over.
[Q]: Как pаскpасить tasklist
[A]: Alex Malmygin (2:5020/376.29)
Мое нежелание видеть белый тасклист наконец удовлетвоpено. Вот как это
делается:
1. Откpываем Mixed color palette (ну или Solid, для извpащенцев |)
2. Ставим мышу на нужный цвет и _аккуpатно_, не смещая куpсоpа, жмем кнопку.
3. Жмем Ctrl-Esc
4. Вот _только_ _тепеpь_ тянем нужный цвет на тасклист.
5. Телемаpкет.
[A]: Andrew Akimov (2:462/47.17)
Живу под тpетьим ваpпом. По факу пpоцесс окpаски window list-а должен быть
"телемаpкет", а был "до пеpвого pебута". Как-то в mixed color palette я узpел
надпись "hold Alt key for system default change". Выбpал благоpодный сеpый цвет
и последовал совету системы. Получилось классно: и window list желаемого цвета,
и все окна по дефолту не белые, а сеpые. Можно виндузникам показывать со
словами: "У оси гуй кpуче." ;)
[Q]: Помогите выбpать железо и soft для BackUp'а
[A]: Vadim Rumyantsev (2:5030/301)
Лично мне наиболее симпатичен Colorado Backup for OS/2 (бывший BackMaster
http://www.msrdev.com). А так -- самый обычный бэкап, в
духе старого доброго CP Backup'а. Имеет смысл посмотреть также SuperStor
(IBMовский и довольно неплохой, но интерфейс, на мой взгляд, слишком уж
объектный), Sytos Premium (старый и тормозной, но жутко универсальный и
поддерживается, скажем, DB2; стандарт, короче), Arcada Backup (сделана по
принципу драга-и-дропа, и содержит соответствующие фичи -- может, например,
WPS'овские объекты бэкапить). Ещё есть BackAgain, но его я не щупал -- он
только SCSI понимает. Hу и, наверное, ещё какие-нибудь программки существуют :)
[Q]: Хитрости Warp Center
[A]: Pavel Grodek (2:5020/509.10)
The WarpCenter also includes a (hidden) interface to the new
process killing API that was added to OS/2 Warp 4 and FixPak 17+.
Add SET SCKILLFEATUREENABLED=1 to your CONFIG.SYS and
reboot. Then, by Ctrl-LMB clicking on the "task list" portion of
the WarpCenter, you can select which process you would like to kill.
Note that this does nothing for queue hangs, since you would not
be able to click to access the WarpCenter. :-) My thanks to
Hans-Juergen Rauscher for this undocumented little tidbit. Another
little WarpCenter trick involving the clock depends on the
addition of SET SCUSEPRETTYCLOCK=ON to the CONFIG.SYS.
[A]: Alexander Belyaev (2:5035/13.15)
Перевод:
Hачиная с Fix #4 в Мерлине и #17 в Warp 3 добавились дополнительные
средства по убиению зависших приложений.
Добавьте SET SCKILLFEATUREENABLED=1 в CONFIG.SYS и перезагрузите
систему. Теперь, удерживая Ctrl, щелкните левой клавишей мышки на иконке
"Список задач" в Варпцентре. Появится список процессов, каждый из которых
можно "отстрелить". Ксожалению, фича не работает, если подвисла очередь
сообщений :)
Еще можете добавить в CONFIG.SYS
SCUSEPRETTYCLOCK=ON для изменения внешнего вида часиков
SET MENUSFOLLOWPOINTER=ON менюшки начинают "залипать", как в MD95
[Q]: Trap number information and troubleshooting diagnostics
[A]: Ivan Grigoriev (2:5020/333)
_Trap_ 0000 (00) - Divide by Zero Error
A trap 0000 occurs when a program attempts to divide a number by zero or the
result of the operation is too large for the
overflow register to handle it. [SYS1930]
_Trap_ 0001 (01) - Debug Exception
A trap 0001 is caused when a program enables the single step interrupt
when not being run by a debugger. [SYS1931]
_Trap_ 0002 (02) - Non-Maskable Interrupt (NMI).
A trap 0002 is caused when an Non-Maskable Interrupt (NMI) is generated by
the system for a catastrophic error. Four
possible causes of this are:
110 error - Planar parity error: memory or system board
111 error - I/O parity error, memory adapter or memory
112 error - Watchdog time-out: any adapter, system board
113 error - DMA arbitration time-out: any adapter, system board
_Trap_ 0003 (03) - Debug Breakpoint.
A trap 0003 is caused when the program called an INT3 without being run by
debug. This happened because debugging code
was left in the program either accidentally or by design. [SYS1933]
_Trap_ 0004 (04) - Overflow Detected.
A trap 0004 is caused when a program started an INTO instruction without
registering an overflow exception handler. [SYS1934]
_Trap_ 0005 (05) - Bound Range Exceeded.
A trap 0005 is caused when a program started a BOUND instruction without
registering a bound exception handler. [SYS1935]
_Trap_ 0006 (06) - Invalid Opcode Instruction.
A trap 0006 is caused when a program started an invalid instruction
without registering an invalid opcode exception handler.
[SYS1936]
_Trap_ 0007 (07) - Coprocessor not Available.
A trap 0007 is caused when a program called for a numeric coprocessor
instruction without a coprocessor in the system and
without registering a processor extension not available exception handler.
[SYS1937]
_Trap_ 0008 (08) - Double Fault
A trap 0008 is caused when the processor detects an exception while
processing another exception. [SYS1938]
_Trap_ 0009 (09) - Coprocessor Segment Overrun
A trap 0009 is caused when a program runs a numeric coprocessor
instruction that tries to read or write past the end of the
storage segment. [SYS1939]
_Trap_ 000A (10) - Invalid Task State Segment
A trap 000A is caused when a program attempts a task switch to an invalid
task switch segment. [SYS1940]
_Trap_ 000B (11) - Segment not Available
A trap 000B is caused when a program attempts to reference a memory
segment that isn't present. [SYS1941]
_Trap_ 000C (12) - Stack Fault
A trap 000C is caused when a program attempts to push more data onto the
stack than it can hold, call too many subroutines, take
more data off the stack than was pushed onto it or return more subroutines than
were called. [SYS1942]
_Trap_ 000D (13) - General Protection Fault
A trap 000D is caused (but not limited to) when a program references
storage outside the limit of the memory segment,
references a storage segment that is restricted to privileged code, references
storage with a selector value of zero, writing read-only
memory or code segment, reading from an execute-only code segment or loading an
invalid value into a selector register. [SYS1943]
NOTE: All protection violations which do not cause another exception cause a
TRAP 000D.
_Trap_ 000E (14) - Page Fault
A trap 000E is caused when a page being referenced is not present in
memory, the procedure referencing the page doesn't
have enough privilege to access the page or the address range was allocated but
no storage is committed.
_Trap_ 000F (15) - Reserved by Intel
A trap 000F is reserved by Intel, It's not for our use.
_Trap_ 0010 (16) - Coprocessor Error
A trap 0010 is caused when the processor detects an error from the
coprocessor, either by hardware or software.
For Trap 0000 errors, try the following:
o If using a CSD level prior to XR06055, upgrade the operating system. With
earlier CSD levles, Trap 0002 errors
were sometimes incorrectly reported as Trap 0000 errors.
o Copy the default CONFIG.SYS from \OS2\INSTALL to the root directory. Trap
0000 errors can be caused by an
exception in a device driver. If the Trap 0000 does not occur with the
default CONFIG.SYS, check the original
CONFIG.SYS for the offending device driver.
For trap 0002 errors, try the following:
o See Retain Tip #H083121, Section C for several known causes of Trap 0002
Errors.
o Check hardware, especially memory. Trap 0002 errors are caused almost
exclusively by hardware problems. The
most common type of Trap 0002 is caused by a failing memory module. (This
is the equivalent of a memory parity
error under DOS.)
o If there is an enhanced 80386 memory expansion adapter installed, ensure the
resistors are installed diagonally on
the adapter. (See Retain Tip #H037481 for additional details.)
o If error is received after installing new memory, ensure the SIMMs are
supported on the system. (Both speed and
manufacturer)
o Ensure that faster memory is installed before slower memory. Run advanced
diagnostics to ensure memory has not
failed. If bad SIMMs are detected, replace. If none are, suspect the
system board and have it inspected.
o On 8570-A61, -A21, -B61, -B21 or 8580-A21, -A31, -A16, refer to ECA 051 and
ECA 059 respectively.
o If the system has a non-IBM EGA adapter card, disable the adapter's
auto-switch function.
o If system is a MCA machine, check to see if there are any applicable ECA's.
For trap 0003 errors, try the following:
o Check hardware. (The failing hardware is usually not memory modules.)
o If using OS/2 2.1, use IBMINT13.I13 instead of IBM1S506.ADD. (Change BASEDEV
statement in CONFIG.SYS to
do this.)
For trap 0006 errors, try the following:
o See Retain Tip #H083121, Section C for several known causes of Trap 0006
Errors.
o Check hardware. (The failing hardware is usually not memory modules.)
o Disable cache.
o Most Trap 0006 errors during installation can be corrected by disabling
cache, ROM shadowing, turbo, etc.
o Ensure the installed memory is the correct speed for the system board.
o If the error occurs every time within the same application and CHKDSK
doesn't correct the problem, contact the
software developer for further assistance.
For trap 0007 errors, try the following:
o See Retain Tip #H083121, Section C for several known causes of Trap 0007
Errors.
o Obtain a copy of the program that doesn't require a coprocessor or install a
coprocessor if possible.
o Ensure the installed memory is the correct speed for the system board.
o If the error occurs every time within the same application and CHKDSK
doesn't correct the problem, contact the
software developer for further assistance.
For trap 0008 errors, try the following:
o See Retain Tip #H083121, Section C for several known causes of Trap 0008
Errors.
o Ensure the installed memory is the correct speed for the system board.
o If during installation, REM out BASEDEV=IBM1S506.ADD in the CONFIG.SYS on
the installation diskette.
o Definitely check RETAIN for similar errors. A large number of Trap 0008
errors are caused by bugs in OS/2 or
other components, such as NTS/2, Netware Requester for OS/2, CM/2, etc.
o Check hardware. Trap 0008 errors can sometimes be caused by hardware
problems.
o Check for IRQ conflicts.
o If the error occurs every time within the same application and CHKDSK
doesn't correct the problem, contact the
software developer for further assistance.
For trap 000C errors, try the following:
o See Retain Tip #H083121, Section C for several known causes of Trap 000C
Errors.
o Check memory, run advanced diagnostics on adapter cards, and replace as
needed. Trap 000C errors can be
caused by the same types of hardware problems that produce Trap 0002 errors.
o Ensure the installed memory is the correct speed for the system board.
o If the error occurs every time within the same application and CHKDSK
doesn't correct the problem, contact the
software developer for further assistance.
For trap 000D errors, try the following:
o See Retain Tip #H083121, Section C for several known causes of Trap 000D
Errors.
o Definitely check RETAIN for similar errors. A number of Trap 000D errors
are caused by software bugs.
o If the error occurs every time within the same application and CHKDSK
doesn't correct the problem, contact the
software developer for further assistance.
o Check hardware. Trap 000D errors are occassionally caused by hardware
problems.
o Make sure all adapters are supported by OS/2.
o If using the enhanced memory adapter on a model 80-111 or 80-311 and it's in
slot #1, move to slot #4. If already
there, verify that the resistors are positioned diagonally across the
modules. If these resistors are not present,
replace the adapter with PN 34F2825.
o If this occurs during installation, test the system memory, any memory
adapters and the system board. Replace as
necessary.
o If it occurs within a Token Ring environment, ensure the Token Ring RAM
window is set at 16 KB.
o If it occurs while printing, install the newest printer driver and ensure
the most current CSD is installed.
o If system is a MCA machine, check to see if there are any applicable ECA's.
o Ensure the installed memory is the correct speed for the system board.
For trap 000E errors, try the following:
o Check RETAIN for similar errors. Some Trap 000E errors are caused by
software bugs.
o If the error occurs every time within the same application and CHKDSK
doesn't correct the problem, contact the
software developer for further assistance.
o Check hardware. Trap 000E errors are occassionally caused by hardware
problems.
[A]: Roderick Klein (rwklein@wxs.nl)
A general remark for everyboby who gets a trap!
Don't just hit the reset button and hope it won't come back, try and
trace a trap! One of the most helpfull hints is this! When a trap
occurs write down the CSLIM value. Is it FFFFFFFF never mind then just
hit reset... Is CLSIM != FFFFFFFF then you can be lucky!
After a reboot (if possible) go onto the internet and download this
tool:
ftp://hobbes.nmsu.edu/pub/os2/util/disk/exeinfo.zip (only 22kB).
This is the manual:
Exeinfo searches your partitions for executable code (device drivers,
file systems, EXEs, DLLs) that matches some criteria. To locate the module
that caused a trap, write down the CSLIM value that is reported. Then run
"exeinfo -f -lxxxx c:\*.*"
where xxxx is the CSLIM value and C: should be replaced by each driver
from which code may have been loaded.
If, for example, you get CSLIM=0000f113 and all your code is loaded
from the D drive because you have multiboot, type
exeinfo -f -lf113 d:\*.*
Another hint for fixpak 13 users and higher, got a Teles ISDN card! Rem
out this line:
DEVICE=D:\CAPI\VCAPI.SYS D:\CAPI
That driver is not that good with the WSeB kernel..... its not a fault
in the kernel the device driver has been written badly....
Also when you have an application that causes a trap. Its useless to
uninstall the app and reinstall. All apps are ring 3 code (they don't
run on kernel level!)
Usually its a sound driver or video driver, switch to standard VGA or
change resolution. Turn off sound, this way you can in many cases locate
the problem!
[Q]: Экономия 1.5MB resident memory под HPFS386
[A]: Julius Goryavsky (2:5030/16.32)
Hедавно я pешил посмотpеть, сколько pезидентной памяти занимает OS/2 на
одной из моих машин. Hа ней установлено 16MB памяти и установлен HPFS386
с кэшем 4096K и виpтуальный диск на 600K. Сеpвеpа на этой машине нет.
Запустив пpогpамму показывающую pазмеp RM я увидел цифpу 8508K !
Это же больше 50% RAM !
Я вспомнил, что hpfs386.ini взят с машины на котоpой стоит Lan Server.
Посмотpев на этот файл я заметил опеpатоp FSPREALLOC=16, и понял куда
девался мегобайт памяти. Hа машине неподключенной к сети big buffers
ненужны и я заменил FSPREALLOC на SRVPREALLOC. После пеpезагpузки pазмеp
pезидентной памяти сокpатился до 7476.
Однако это все pавно много. Я долго думал куда делась память и пpишел к
выводу, что ее съел HEAP котоpый заводит HPFS386. Hо в документации
написано, что HPFS386 динамически выделяет память под HEAP, и изначально
он съедает только 128K. Я не повеpил документации добавив в hpfs386.ini
опеpатоp MAXHEAP=256. (в секцию FILESYSTEM).
В pезультате pазмеp pезидентной памяти сокpатился до pазумного значения
7024k. Иногда объем памяти выpастает до 7140k, но дальше не pастет. Пpи
этом 600k занимает vdisk, 4096k - кэш, 64K - HEAP от HPFS386 и оставшиеся
2264k занимает ядpо, дpайвеpы устpойств и сам HPFS386.
Так что или документация у меня устаpевшая, или ошибка в ней, но HPFS386
pассчитывает на 20% свободной памяти под свой HEAP, если его не
огpаничить явно опеpатоpом HEAPMAX. Пpи этом она сpазу pезеpвиpует только
1/4 указанной памяти - как и сказано в документации. В случае отсутствия
огpаничения, на моей машине это составляет 457k, или 5% свободной RAM.
Пpи pасчете pазмеpа HEAP полезно знать, что каждый откpытый файл или поиск
по шаблону отъедает ~300 байтов памяти, повтоpно откpытый файл ~60
байтов, каждый lock pегиона в файле - 30 байтов памяти. К откpытым файлам
относятся и все загpуженные DLL и EXE. Лучше не устанавливать MAXHEAP
меньше 256K.
[Q]: Кто бы рассказал, как alt-shift обрубить?
[A]: Alexander Perezhogin (2:5007/2.1)
Disable OS/2 Warp 4 keyboard layout switch (by Alexander Perezhogin)
Disable Vio sessions keyboard layout switch
\OS2\BOOT\KBDBASE.SYS (size=29013)
00003B1F: 74 EB
Disable VDM sessions keyboard layout switch
\OS2\MDOS\VKBD.SYS (lxlite /x, size=23575)
000034F1: F6 E9
000034F2: C4 B5
000034F3: 02 00
000034F4: 74 00
000034F5: 5A 00
Hу а в PM чтобы пеpеключалка не pаботала - del \os2\dll\cyrime.dll
Q> DEVINFO=KBD,US,...[далее по тексту]?
Hе пpокатит - в keyboard.dcp нет US клавиатуpы для 866 кодовой стpаницы.
Alexander
P.S. Я ваще балдею от пpогpаммеpов IBM - locale, keyboard.dcp, кpуто, модно ;)
И железно зашиты пpовеpки в каких кодовых стpаницах пеpеключалка pаботает ;(
[Q]: Сроки техподдержки OS/2
[A]: Andrew Belov (2:5020/181.2)
OS/2 v 3.00 - с 14/10/1994 по 31/05/1999.
OS/2 v 3.00 (PowerPC Edition) - с 14/12/1995 по 31/12/1999.
Warp Server на базе OS/2 v 3.00 - с ??/??/1996 по 31/01/2001.
OS/2 v 4.00 - c 24/09/1996 по 31/01/2001.
Warp Server for e-business - c 16/04/1999 по 31/05/2002.
OS/2 v 4.51 - с 30/11/2000 по 31/12/2001.
OS/2 v 4.52 - с 17/12/2001 по 31/12/2002.
По состоянию на октябрь 2001 г., для всех прочих продуктов OS/2 бесплатную
поддержку предполагалось свернуть не позднее ноября 2006 г., платные
контракты имеют срок действия до ноября 2007 г.
После окончания техподдержки IBM предоставляет 3 пути:
1. Скидка на апгрейд.
2. "Service Extension" - как правило, сроком на два года, дает доступ к
серии типовых "restricted" фикспаков, например, XRR_W041. Максимальный срок
действия - до 31/12/2004.
3. "Total Content Offering" - индивидуальные контракты с любым сроком действия
(точнее, не любым, а до 2007 г., см. выше), дают возможность заказывать
определенные модификации для своих нужд.
Содержание > Страница 10
|