DOS програма + XP -> CPU 100% ?
Здравейте, имам следния проблем: ползвам стара досовска програма на компютър с инсталиран ХР. След пускането й натовареността на процесора отива на 100% и остава така докъто работя с нея. Това ми създава проблем с достъпа до РС-то през мрежата - на него има стартиран SQL, който се ползва от други машини. Намерих "решение" с прекомпилиране на сорса на програмата, но за жалост човека който я е писал вече не го пази...така че отпада. Идеи какво да се направи?
DOS програма + XP -> CPU 100% ?
Мога да предложа 2 решения:
1. DOS сесията да е с low приоритет. пускаш програмата със start /low ....
Така пак ще е 100% но поне няма да бави толкова много.
2. Инсталираш програмата TAME, с която често CPU load-a пада на 50-70%, съвместмиа е с повечето програми и не създава проблеми.
DOS програма + XP -> CPU 100% ?
Ами единия вариант е да минеш на windows 98, другия е да смениш програмата на която работиш с някоя алтернативна.Така както си описал това е в някаква фирма сигурно. Не може ли да отделите някой стар компютър да работи само с тази досовска програма
DOS програма + XP -> CPU 100% ?
pentagod, приоритета е на low, но това не помага много, да не кажа хич. За тази програма ТАМЕ не съм чувал - ще я потърся за да пробвам. Благодаря.
saint056a, да за фирма става дума. И за ХР и за спомената програма вече е платено, така че се търси решение при тази ситуация. За друг стар компютър - ситуацията ще ее аналогична със софтуера. Но мерси за предложението.
DOS програма + XP -> CPU 100% ?
YG, Може да ползваш безплатен DOS, на друго РС както те съветва saint056a, мисля че DRDOS беше такъв.
DOS програма + XP -> CPU 100% ?
Даммм DRDOS е безплатен.А и MS-DOS да сложиш едва ли ще ти направят проблем проверяващите
DOS програма + XP -> CPU 100% ?
Уточнение - програмата, с която YG има проблеми, е писана на Clipper. Няма сорсове, нито .OBJ-файлове, т. е. не възможна нито прекомпилация, нито линкване с евентуално обновени библиотеки.
При това положение са възможни три варианта:
1. Ако е толкова наложително да се работи на точно определен компютър и ако на този компютър е задължително да има XP - смяна на програмата, както предлага saint056.
2. Работа с програмата на компютър под управление на MS-DOS (това, което вече предложиха saint056 и breiii) - или на текущия компютър, или на друг. Емулацията на XP не върши работа.
3. Направих няколко експеримента с подобна програма (писана на Clipper). Наистина натоварването на процесора достига 100% - не непрекъснато, но за относително дълги периоди - 1-2 min. Установих, че това се случва, когато програмата очаква интеракция с потребителя - менюта или екрани за диалог. Когато се извършват обработки, натоварването на процесора пада до 15-20%. Предложение за решаване на проблема намерих в help-а [;)] на XP:
<blockquote id="quote"><font size="1" id="quote"><b id="quote">quote:</b id="quote"></font id="quote"><table border="0" id="quote"><tr id="quote"><td class="quote" id="quote"><font size="1" id="quote">To allocate system resources for an MS-DOS-based program and change its idle time
1. Open My Computer.
2. Locate the MS-DOS-based program (.exe) file, the program information file (PIF), or shortcut you want to change. Please refer to the documentation that came with the program for the actual file name.
Right-click the icon, and then click Properties.
3. In Properties, click the Misc tab.
4. Adjust the Idle sensitivity slider as follows:
<ul>[*]To give a background program more resources, move the slider toward Low.
[*]To give a background program fewer resources, move the slider toward High.
[/list]
Notes
<ul>
[*]To open My Computer, click Start, and then click My Computer.
[*]You can specify how long an MS-DOS-based program will remain idle before reducing its computer resource allocation so that other programs can use the resources.
[*]This option might not be available in some MS-DOS-based programs.
[*]Creating a program information file (PIF) for an MS-DOS-based program creates a shortcut to the program executable. All the settings saved in the PIF file are contained in the shortcut.
[/list]
</td id="quote"></tr id="quote"></table id="quote"></blockquote id="quote"><font size="2" id="quote"></font id="quote">
Ето и картинка:
http://raidmax.data.bg/tmp/DOSPrg.jpg
Ефектът от промяната на стойността в Idle Sensistivity е, че натоварването на процесора може да бъде намалено до 30-40%. Едновременно с това обаче, при работа в ДОС-програмата има едно малко неприятно закъснение в реакцията при въвеждане от клавиатурата. Дали е приемливо такова забавяне вече трябва да си прецени работещия с програмата.
DOS програма + XP -> CPU 100% ?
Огромни благодарностти за Raid !!!
Решението работи идеално и ще се черпиме задължително.
DOS програма + XP -> CPU 100% ?
Ако програмата не е компилирана със ExoSpace - т.е. dos exttender, ами с нормалния rtlink за клипер имам една програма, която пач-ва exe файла и почва да бави прмиерно 1-2%
все едно нищо не е пуснати на компа.
DOS програма + XP -> CPU 100% ?
Ами на практика това също би трабвало да свърши работа, такова нещо търсих и аз - да се пусне в/у .exе-то. Но открих само такива с които се прекомпилира кода. Ако искаш прати ми я по пощата или пък кажи името да я търся. Поздрави.
DOS програма + XP -> CPU 100% ?
абе.. изгубил съм exe-to дето пачва. чак сега разбрах... лошо.
То ползва този скрипт за да пачне. казваще се patcha.exe
; PATCHA script for CLIPPER 5.x
;
; Issue date 02/03/95
;
; This patch file is to stop Clipper programs that poll the keyboard
; on OS/2 (WinView) or Windows NT (WinFrame) from unduly slowing down
; the system.
; The patch works by inserting an INT 2F function 1680 call into the
; Clipper keyboard polling loop.
;
; Insert the name of your Clipper program below, change PROGRAM.EXE to
; your program's name.
load PROGRAM0.EXE
&scan_progress = 1
&start = 0
&count = 0
:loop
find &start &eof 8b d3 f7 d8 3d 0a 00 77 1a 48 d1 e0 d1 e0 bb
jne finish
ver &found+ 11 03 d8 8b 47 02 c7 47 02 00 00 0b d2 74 04 83 4f 02 01 33 d2 c3
jne notfound
&v = [&found+f].w
echo .
echo Search pattern found at &found
&count = &count + 1
&target = &found
:notfound
&start = &found+1
jmp loop
:finish
if &count != 1 jmp quit
set &target 33 d2 f7 d0 3d 09 00 77 1b 0b db 9c 50 b8 80 16
set &target + 10 cd 2f 5b c1 e3 02 81 c3 (&v+2).w 8b c2 87 07 9d 74
set &target + 20 03 80 0f 01 c3
end 0
:quit
if &count == 0 jmp checkprev
echo .
echo Search pattern found more than once - cannot install patch
:badexit
end ffff
:checkprev
echo .
echo Search pattern not found - checking for previously installed patch
&start = 0
&count = 0
:loop2
find &start &eof 33 d2 f7 d0 3d 09 00 77 1b 0b db 9c 50 b8 80 16 cd 2f 5b c1 e3 02 81 c3
jne finish2
ver &found + 1a 8b c2 87 07 9d 74 03 80 0f 01 c3
jne notfound2
echo .
echo Previously installed patch found at &found
&count = &count+1
:notfound2
&start = &found+1
jmp loop2
:finish2
if &count == 0 jmp badexit
end 1
;
DOS програма + XP -> CPU 100% ?
Оказа се, че имам и exe-то 30k е. къде да сенд
DOS програма + XP -> CPU 100% ?
DOS програма + XP -> CPU 100% ?
100% натоварване в ДОС-сесия се получава от непрекъснатото сканиране на клавиатурата, когато програмата е в режим на изчакване, както е забелязал Raid. За съжаление, решението с намаляването на приоритета не е особено удачно когато се провят тежки обработки с бази данни - времето на обработка драстично се увеличава.
Досега не ми се беше налагало да търся решение на този въпрос, но възникна необходимост да имам ДОС на лаптопа (за тестове). Предполагам се сещате какво става - всички вентилатори тръгват на МАХ...
@pentagod
Можеш ли да пратиш това ЕХЕ на geo_bg@abv.bg ?
Geo
DOS програма + XP -> CPU 100% ?
Здравейте. Аз имам същия проблем.
Моля изпратете ми тази програма и на мен ако е възможно
assiko@yahoo.com