Avatar billede trp79 Nybegynder
24. februar 2003 - 00:34 Der er 10 kommentarer og
2 løsninger

Starte en proces i en tråd.

Hejsa, jeg ved ikke helt om det er den rigtige kategori jeg stiller spørgsmålet i. Men her kommer mit problem.
Jeg har et gammelt dos program (WEDA)fra 1985 som styrer et fodringsanlæg. Mit problem ligger i at xp og 2000 ikke er særlige gode til at afvikle dette program. Det skal forståes på den måde at når WEDA startes bliver xp/2000 meget langsomt. Man er faktisk nød til at lukke weda ned hvis man vil lave andet end at styre fodringsanlægget.
Jeg har prøvet at starte det somom det var et win98 programet men det hjælper ikke. Programmet kørte fint på win98, men det vil jeg ikke installere igen.
Men så var det jeg tænkte om det på nogen måde er muligt at starte dette program i en tråd, altså således at der ikke bliver en proces, som "sløver" xp/2000. Eller vil det altid være sådan at man bare vil starte en anden proces?
Og ville det overhovedet hjælpe hvis man kunne have en proces kørende inde i en tråd?
Avatar billede trp79 Nybegynder
24. februar 2003 - 00:47 #1
Er der ellers nogle som har et foreslag til hvordan man kan komme ud over problemet uden at skifte styresytem? eller uden at invistere i et nyt program ala WEDA?
Avatar billede jpvj Nybegynder
24. februar 2003 - 01:04 #2
Hej!

Dit problem ligger i den måde gamle DOS programmer fungerer på: Når der skal ventes, laves "busy wait", dvs. programmet knokler derudaf med at lave absolut intet fornuftigt (ud over at "spilde" tiden på at bruge CPU instruktioner).

Det eneste du kan gøre, at at starte programmet og så give det en meget lav prioritet: Højreklik på din taskbar, vælg jobliste, vælg fanebladet processer. Højreklik på procesnavnet for WEDA (weda.exe ?), vælg sæt prioritet, vælg lav.

Hvis det ikke er godt nok, må du have en gammel PC med DOS til at styre programmet. Et alternativ kunne selvfølgelig være vmware, der er et program til at installere under Windows eller Linux. vmware laver en virtuel computer i software, hvor man så kan installere DOS, Windows eller hvad man nu har brug for. Man får altså en eller flere virtuelle computere kørende. Dette kunne du måske bruge til DOS+WEDA. vmware vil køre som et Windows program, og dermed ikke være så generende som et gammelt DOS program.

Håber det er svar nok.

JP
Avatar billede viht Nybegynder
24. februar 2003 - 01:07 #3
Selvom du starter dit DOS program fra en tråd i Java, skal du jo bruge Runtime. Idet du gør det er det ikke i JVM du starter processen, men i styresystemet så det vil give det samme.

I øvrigt er der ikke den store forskel på tråde og processer.
Avatar billede arne_v Ekspert
24. februar 2003 - 07:31 #4
Nej - spørgsmålet har ikke rigtigt noget med Java at gøre.

Man kan ikke køre et gammelt real mode program i en tråd.

En mulige løsninger er at købe en gammel komputer for nogle få
hundrede kroner og køre DOS på den.
Avatar billede arne_v Ekspert
24. februar 2003 - 07:31 #5
jpjv>

Jeg tror ikke at det er en CPU intensiv løkke der driller - den
ville også genere på Windows 98.
Avatar billede arne_v Ekspert
24. februar 2003 - 07:33 #6
viht>

Jeg formoder, at du mener, at der ikke er den store forskel
på tråde og processer med hensyn til CPU intensive løkker. Fordi
der er ret store forskelle generelt.
Avatar billede jpvj Nybegynder
24. februar 2003 - 11:56 #7
arne v> Jeg er 100% enig i, at problemet også vil være der under W98 - af samme årsag. Hvad mener du så problemet er?

DOS programmer frigiver ikke tid til andre processer når der "ikke er noget at lave", da de ikke er eventstyrede - derfor kører de så "dårligt" under Windows. Eneste mulighed er, at nedprioritere dem, så de får mindst mulig CPU tid. Men det kommer aldrig til at køre godt.

Jeg vil nu også holde mig til at der skal sættes en gl. maskine op :-)
Avatar billede arne_v Ekspert
24. februar 2003 - 12:06 #8
Han sagde jo at det kørte godt på 98 men skidt på 2000/XP.

Jeg har slet ikke nogle bud på hvad der kan foråsage det fænomen.
Avatar billede jpvj Nybegynder
24. februar 2003 - 16:03 #9
arne_v> OK - den missede jeg.
Det er lidt uklart, om det er programmet eller XP, der kører langsomt. Med "...  bliver xp/2000 meget langsomt ..." troede jeg at det var operativsystemet. Det giver mening, hvis det er programmet, da det bliver afviklet af i prodessen ntvdm, og ikke kan få lov til at bruge den CPU tid det vil. Hvis det er tilfældet, kan du prøve at give programmet høj prioritet (pas på med realtime).

JP
Avatar billede trp79 Nybegynder
24. februar 2003 - 19:32 #10
Nej det er som jeg skrev xp der bliver meget langsom og ikke WEDA. Grunden til vi gerne vil have WEDA til at køre på en XP maskine er for det første at det er XP vi har købt, at det kører så stabilt og at vi benytter fjernstyringsfunktionen meget. Det er det eneste fjernstyringprogram vi har haft held med. Vi har også prøve med VNC men den kan ikke styre dos programmer eller i hvert fald ikke afvikle de kommandoer som WEDA kræver. Det er fx "=". Ligmed (=) svare i WEDA til enter og er derfor ret væsentlig.

Er det stadigvæk en mulighed at installerer VMWARE og installere win98 i den?
Tak for de mange svar, mvh
Torben
Avatar billede trp79 Nybegynder
24. februar 2003 - 19:34 #11
Nej WEDA er ikke som WP 5.1 et program, der busy waiter...
Avatar billede trp79 Nybegynder
13. marts 2003 - 09:56 #12
Jeg fik desværre ikke løst problemet, men fik da svar på spørgsmålet (kan en proces startes i en tråd). Jeg har ikke prøvet at installere vmware endnu, men det vil jeg lige prøve når jeg engang kommer hjem og besøger de gamle i jylland igen.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester