IT

Windows 10, dos-programmer

20. oktober 2016 af hesch (Slettet) - Niveau: A-niveau

Jeg har googlet, søgt og har spurgt fagfolk, men har ikke kunnet få et klart svar på:

Kan Windows 10 afvikle dos-programmer ( *.exe ) som fx Windows 98 kan, uden at dette skal foregå i en "Dos-box" eller lignende emulerende miljø ?


Brugbart svar (1)

Svar #1
21. oktober 2016 af peter lind

exe filer er ikke nødvendigvis DOS programmer. Det kan godt være windows programmer. Jeg kører faktisk et exe program som er et windows program i øjeblikket. Hvis du mener DOS programmer, så er du i dagens versioner af windows nød til køre DOS-box eller lignende


Svar #2
21. oktober 2016 af hesch (Slettet)

Tak Peter.

Jeg har selv googlet lidt videre og kan godt se det og må så installere Windows 98.

Jeg er i gang med at undersøge magnetfelters adfærd, og en korrekt visning af magnetfeltlinier indenfor rimelig tid, kræver en voldsom computerkraft. Jeg er i besiddelse af Borland Pascal og en Turbo Assembler, der begge kører dos-programmer. Tasm kender de gode gamle .386 og .486 processorer hvis instruktiossæt jeg kan overskue, mens de nye e7 processorer har et instruktionssæt, der er komplet uoverskueligt: nærmest tusindvis af instruktioner. Komplet uoverskueligt ( i min alder ). Så derfor søger jeg tilbage i de gamle velkendte og trygge miljøer med et begrænset instruktionssæt.

Jeg tænker tit på, at hvis IBM havde valgt en Motorola 68000 processor i deres første PC i stedet for en Intel 8086, havde verden set anderledes ud i dag. Microsoft ville have haft et andet ståsted.

Vedhæftet fil:tst45.png

Brugbart svar (0)

Svar #3
30. oktober 2016 af Eksperimentalfysikeren

Jeg tror, du skal lave en prøvekørsel i "Dos-box". Jeg ved ikke, hvordan den er indrettet, men man kan lave emuleringer, der "går meget tæt på computeren". Maskinkoden analyseres og opdeles i "sikre" sekvenser, hvor der ikke er instruktioner, der kan kompromitere sikkerheden. De "usikre" dele af koden tager emulatoren sig selv af, mens de "sikre" dele udføres direkte på CPU'en. Derved fås en afviklingshastighed, der i mange tilfælde er tæt på, hvad man kan opnå ved at køre  det hele direkte på CPUen. Jeg ved ikke, hvordan Windows er indrettet på dette punkt, men jeg vil tro, det er forsøget værd, især fordi de nye processorer er så meget hurtigere end de gamle.


Svar #4
31. oktober 2016 af hesch (Slettet)

#3:  Jeg har allerede en DosBox, og bruger den. Men eksekveringshastigheden varierer voldsomt under et ellers ensartet beregningsforløb, med gennemløb af de samme løkker ( i timevis ). Faktisk svinger eksekveringshastigheden i takt med lyden af køleblæseren, hvilket kan forklares med at coprocessoren er beskæftiget mere eller mindre ( bliver mere eller mindre varm ).

DosBox'en er ikke robust, og fejler ofte under eksekvering. Den dør.

Derfor overvejer jeg at skaffe en ny og hurtigere PC ( med Windows 98 ), men med til at de nye processorer er hurtigere er at disse er multicore processorer. Clockfrekvensen på de nye processorer er ikke væsentlig højere, men der er så fx 4 cores i dem, der kan eksekvere programmer parallelt. En IT-tekniker har så forsøgt at overbevise mig om, at en 4 core processor kan regne ca. 4 gange hurtigere end en 1 core processor, fordi den kan dele regneopgaverne ud på 4 cores !  Men den hopper jeg godt nok ikke på:

Lad mig tage regneudtrykket:  ( 1 + 2 ) * 3 :  Man kan da ikke med fordel uddelegere opgaven på to cores:

A: ( 1 + 2 ) = 3
B:  3 * 3 = 9

. . . for A skal jo være færdig førend B kan komme til. Det går ikke hurtigere.

Jeg har så googlet mig til, at programmer der med fordel kan afvikles på en multicore processor, skal være opdelt i "tråde", der uden gensidige forstyrrelser kan eksekveres parallelt. Sekventielle programmer kan kun afvikles på een core.

Microsoft.NET  skulle have en compiler, der kan generere trådopdelte eksekveringsfiler. Jeg skal så sætte mig ind i C# og skal sætte mig ind i et utal af direktiver, til indsættelse i C#-koden, for nu at hjælpe compileren gennem opgaven på betryggende vis med trådopdeling ( formoder jeg ).

Det orker jeg ikke:  Jeg har en hobby og ikke et velvoksent softwareudviklingsfirma.  Jeg kender udmærket problemstillingerne fra programmering af FPGA-kredse ( Field Programmable Gate Arrays ), hvor det drejer sig om parallelt eksekverende hardware.

Nogle processorfabrikanter ( fx Motorola og ARM ) har et hæfte med assembler-instruktioner ( skulle man have brug for det ), mens Intels udgave fylder et par telefonbøger ( Se #2 ). Nogle af assembler-instruktionerne har en ordlængde svarende til netop "softwareudviklingsfirma".


Brugbart svar (0)

Svar #5
31. oktober 2016 af Eksperimentalfysikeren

Hvis du kan få Windows 98 til at køre på en moderne hardware, vil jeg tro, det vil være det aller hurtigste. Så får du muligvis 3 kerner, du ikke bruger, men hva.

Jeg vil give dig helt ret i, at det var et meget uheldigt valg IBM gjorde. Det var kort efter jeg havde lave eksamensprojekt i Z8000 og MC68000. Desværre var MC68000 ikke kommet til landet, så ud over en sammenligning af de to processorer blev mit projekt stort set koncentreret om Z8000. 8086 lærte jeg først at kende senere.


Skriv et svar til: Windows 10, dos-programmer

Du skal være logget ind, for at skrive et svar til dette spørgsmål. Klik her for at logge ind.
Har du ikke en bruger på Studieportalen.dk? Klik her for at oprette en bruger.