Permalänk
Medlem

64 till 32 bitar...

Tjenare! Det finns ett program som heter "pocketmine" till windows som är på 64bitar. Jag har en server dator på 32bitar går det på något sätt få dom att kunna samarbeta jag vill helst inte ominstallera datorn om det går

EDIT: Detta är löst.

Permalänk
Datavetare
Skrivet av albin900:

Tjenare! Det finns ett program som heter "pocketmine" till windows som är på 64bitar. Jag har en server dator på 32bitar går det på något sätt få dom att kunna samarbeta jag vill helst inte ominstallera datorn om det går

Det går fint att köra 32-bitars program på 64-bitars Windows (gäller även OSX och Linux).

Det omvända fungerar dock inte, eller faktiskt inte helt sant. OSX 10.6 körde normalt sett i princip hela kärnan 32-bit fast det gick ändå att köra 64-bitars program, var dock mer ett "ful-hack" (var dåligt med drivrutiner för 64-bitars kärna) än något annat och Win/Lx har aldrig haft något motsvarande.

Så det är tyvärr ominstallation som gäller...

Visa signatur

Care About Your Craft: Why spend your life developing software unless you care about doing it well? - The Pragmatic Programmer

Permalänk
Medlem
Skrivet av albin900:

Tjenare! Det finns ett program som heter "pocketmine" till windows som är på 64bitar. Jag har en server dator på 32bitar går det på något sätt få dom att kunna samarbeta jag vill helst inte ominstallera datorn om det går

Finns det ingen 32-bits version?
32-bit kan inte köra 64-bits program men 64-bit kan köra 32-bitars (oftast).

Edit: 32-bits versionen kan även heta x86.

Visa signatur

Citera för svar!

Permalänk
Medlem
Skrivet av simon253:

Finns det ingen 32-bits version?
32-bit kan inte köra 64-bits program men 64-bit kan köra 32-bitars (oftast).

Edit: 32-bits versionen kan även heta x86.

Har sökt på om det finns 32bitar men det finns nog inte det. Detta program är ganska nytt så det kanske kommer i framtiden.

Permalänk
Medlem

Har du testat? Man vet aldrig

Visa signatur

Citera för svar

Permalänk
Medlem
Skrivet av jakkes:

Har du testat? Man vet aldrig

Vad menar du med det?

Permalänk
Medlem
Skrivet av albin900:

Vad menar du med det?

Jag tror han menar om du testat installera 64bit programmen även fast du bara har 32bit.

Visa signatur

| Fractal Design R4 White | Intel I5 6600k@4Ghz| Asus Z170-A | MSI GTX 970 @1425Mhz | Corsair 16GB DDR4 2133mhz | Samsung 840 250GB | Corsair 650Watt nätagg |

https://soundcloud.com/symbolofficial

Permalänk
Medlem
Skrivet av jakkes:

Har du testat? Man vet aldrig

Skrivet av vikham:

Jag tror han menar om du testat installera 64bit programmen även fast du bara har 32bit.

Jodå

Permalänk
Medlem
Skrivet av albin900:

Tjenare! Det finns ett program som heter "pocketmine" till windows som är på 64bitar. Jag har en server dator på 32bitar går det på något sätt få dom att kunna samarbeta jag vill helst inte ominstallera datorn om det går

Server som inte är 64 bitars? Välkommen till 2000-talet

Visa signatur

CPU: Intel Core i7 6700K Kylare: MSI Core Frozr L Moderkort: MSI Z170A Gaming M5 Grafikkort: MSI GeForce GTX 1080TI Minne: Corsair Vengeance 32GB (4x8GB) OS disk: Samsung 960 Pro M.2 512GB SSD Chassi: NZXT H440W Silent Ultra Nätdel: EVGA Supernova G2 750w Lagringsdisk: Western Digital Black 2TB Ljud: Sound Blaster Z OS: Windows 10 Pro

Permalänk
Rekordmedlem

Vad är det för "pocketmine" du menar ? Har du en länk?
https://github.com/PocketMine/PocketMine-MP/releases/Alpha_1....
funkar iallafall att installera på 32bit win

Visa signatur

R5 5600G, Asus ROG STRIX X470-F Gaming, WD SN850X 2TB, Seasonic Focus+ Gold 650W, Aerocool Graphite v3, Tittar på en Acer ET430Kbmiippx 43" 4K. Lyssnar på Behringer DCX2496, Truth B3031A, Truth B2092A. Har också oscilloskop, mätmikrofon och colorimeter.

Permalänk
Medlem
Skrivet av Deejay_Alive:

Server som inte är 64 bitars? Välkommen till 2000-talet

Nu ska vi inte vara såna, Windows Server 2003 funkar bra fortfarande

Visa signatur

11600K@5.1 GHz + 32GB Corsair Vengeance RGB PRO 3200@3400 MHz + MSI RTX 2080 Super Gaming X Trio +
WDC Blue SN550 1TB + Black OEM SN730 500GB + Kingston A1000 480GB + A2000 500GB + NV2 1TB + 2TB R10 + RGB most of THE THINGS! + Corsair 4000D Airflow + 2*ZyXEL NSA326 2*3TB @ R1 + Netgear RN2100 4*3TB @ R10 + RN204 4*4TB @ R5 + Synology DS216j 2*4TB @ SHR R1 + DS418 4*8TB @ SHR R6
| tmp: R5 3600@4.2 GHz + 32GB 2666@3066MHz + 2070 8GB + 1 TB NV2 & 512GB SN730

Permalänk
Medlem
Skrivet av ZaInT:

Nu ska vi inte vara såna, Windows Server 2003 funkar bra fortfarande

Om "bra" är en definitionsfråga, så nja, inte ens då..

Win 2012 R2 står för dörren.
Sluta köpa utdaterad mjukvara.
Servern klarar mer än 32bitars, annars är det ingen server.

Visa signatur

CPU: Intel Core i7 6700K Kylare: MSI Core Frozr L Moderkort: MSI Z170A Gaming M5 Grafikkort: MSI GeForce GTX 1080TI Minne: Corsair Vengeance 32GB (4x8GB) OS disk: Samsung 960 Pro M.2 512GB SSD Chassi: NZXT H440W Silent Ultra Nätdel: EVGA Supernova G2 750w Lagringsdisk: Western Digital Black 2TB Ljud: Sound Blaster Z OS: Windows 10 Pro

Permalänk
Medlem

PocketMine är 32-bitars. Eller rättare sagt det använder PHP. Det går tom att köra på Raspberry Pi och Android.

@virtual void: Det går att göra det samma på andra operativsystem, bara inte inbyggd i kerneln. Alltså att köra en virtuell maskin i 64-bitar på en 32-bit host om du har VT-x/AMD-V. Problemet är ju bara att Windows minneshantering inte är gjord för mer än 3-4Gig. Medan det fungerar betydligt bättre i OS X. Hade det verkligen varit ett 64-bitars program som man måste köra på en 32-bit host (OS) hade man alltså kunnat installera en virtuell linux-maskin om processorn har stöd för hårdvaru-accelererad virtualisering.

Permalänk
Medlem
Skrivet av Deejay_Alive:

Om "bra" är en definitionsfråga, så nja, inte ens då..

Win 2012 R2 står för dörren.
Sluta köpa utdaterad mjukvara.
Servern klarar mer än 32bitars, annars är det ingen server.

Vem sa något om att köpa nu? Om man redan kör 2003 och det fungerar bra finns det ingen anledning att byta just nu, kanske om något extremt säkerhetshål dyker upp men annars nej.
Jag vet inte vad du gör fel men 2003 fungerar bra för mig och har gjort i 10 år. Inte för att jag skulle installera det på någonting idag, men "if it ain't broke don't fix it" gäller som alltid.
Att en server tvunget ska klara x64 är ju rent skitsnack. Säg det till bankerna som kör AS/400 (48-bitar) så kan du ju få höra vad någon som driver en RIKTIG server har att säga om saken.

Visa signatur

11600K@5.1 GHz + 32GB Corsair Vengeance RGB PRO 3200@3400 MHz + MSI RTX 2080 Super Gaming X Trio +
WDC Blue SN550 1TB + Black OEM SN730 500GB + Kingston A1000 480GB + A2000 500GB + NV2 1TB + 2TB R10 + RGB most of THE THINGS! + Corsair 4000D Airflow + 2*ZyXEL NSA326 2*3TB @ R1 + Netgear RN2100 4*3TB @ R10 + RN204 4*4TB @ R5 + Synology DS216j 2*4TB @ SHR R1 + DS418 4*8TB @ SHR R6
| tmp: R5 3600@4.2 GHz + 32GB 2666@3066MHz + 2070 8GB + 1 TB NV2 & 512GB SN730

Permalänk
Medlem

Nja, jag kanske ska ändra min felstavning till "köra" istället för "köpa".
Och OM något hål dyker upp?
Jösses, hoppas du inte kör den stackaren mot internet.
Vi kanske ska börja köra Windows ME allihop och säga att det funkar "bra" också, sålänge inget händer?

Och jo, jag står fast vid att har man en server så klarar den 64-bitars, annars är det ingen server, utan en gammal stackars arbetsstation långt över pensionsålder.

Visa signatur

CPU: Intel Core i7 6700K Kylare: MSI Core Frozr L Moderkort: MSI Z170A Gaming M5 Grafikkort: MSI GeForce GTX 1080TI Minne: Corsair Vengeance 32GB (4x8GB) OS disk: Samsung 960 Pro M.2 512GB SSD Chassi: NZXT H440W Silent Ultra Nätdel: EVGA Supernova G2 750w Lagringsdisk: Western Digital Black 2TB Ljud: Sound Blaster Z OS: Windows 10 Pro

Permalänk
Medlem
Skrivet av Deejay_Alive:

Nja, jag kanske ska ändra min felstavning till "köra" istället för "köpa".
Och OM något hål dyker upp?
Jösses, hoppas du inte kör den stackaren mot internet.
Vi kanske ska börja köra Windows ME allihop och säga att det funkar "bra" också, sålänge inget händer?

Och jo, jag står fast vid att har man en server så klarar den 64-bitars, annars är det ingen server, utan en gammal stackars arbetsstation långt över pensionsålder.

Jo då, och har gjort länge utan ett enda intrång, mer eller mindre non-stop i dessa 10 år.
Att du drar in ME visar ju att du bara trollar så jag låter dig vara nu, men både du och jag vet att du har fel och det är huvudsaken.

Visa signatur

11600K@5.1 GHz + 32GB Corsair Vengeance RGB PRO 3200@3400 MHz + MSI RTX 2080 Super Gaming X Trio +
WDC Blue SN550 1TB + Black OEM SN730 500GB + Kingston A1000 480GB + A2000 500GB + NV2 1TB + 2TB R10 + RGB most of THE THINGS! + Corsair 4000D Airflow + 2*ZyXEL NSA326 2*3TB @ R1 + Netgear RN2100 4*3TB @ R10 + RN204 4*4TB @ R5 + Synology DS216j 2*4TB @ SHR R1 + DS418 4*8TB @ SHR R6
| tmp: R5 3600@4.2 GHz + 32GB 2666@3066MHz + 2070 8GB + 1 TB NV2 & 512GB SN730

Permalänk
Avstängd
Skrivet av Deejay_Alive:

Nja, jag kanske ska ändra min felstavning till "köra" istället för "köpa".
Och OM något hål dyker upp?
Jösses, hoppas du inte kör den stackaren mot internet.
Vi kanske ska börja köra Windows ME allihop och säga att det funkar "bra" också, sålänge inget händer?

Och jo, jag står fast vid att har man en server så klarar den 64-bitars, annars är det ingen server, utan en gammal stackars arbetsstation långt över pensionsålder.

Beror ju helt på vad du ska vara server till. Är det för privat bruk spelar det knappt någon roll.

Visa signatur
Permalänk
Medlem

Jo, vi kanske kan köra Sweclockers på NT4 också?
Nej, inte ens för privat bruk är det ok.
En dator äldre än 6-7 år skall uppdateras eller slängas!

Visa signatur

CPU: Intel Core i7 6700K Kylare: MSI Core Frozr L Moderkort: MSI Z170A Gaming M5 Grafikkort: MSI GeForce GTX 1080TI Minne: Corsair Vengeance 32GB (4x8GB) OS disk: Samsung 960 Pro M.2 512GB SSD Chassi: NZXT H440W Silent Ultra Nätdel: EVGA Supernova G2 750w Lagringsdisk: Western Digital Black 2TB Ljud: Sound Blaster Z OS: Windows 10 Pro

Permalänk
Avstängd

Som nån nämnde ovan:
Om du har rätt cpu, så kan du köra 64 bitars OS på en 32 bitars cpu. Det görs genom virtualisering, t.ex. Virtualbox. Där installerar du ditt 64 bits OS, och kan då köra 64 bitar, trotts att du har en 32 bits dator.

Permalänk
Medlem
Skrivet av Deejay_Alive:

Jo, vi kanske kan köra Sweclockers på NT4 också?
Nej, inte ens för privat bruk är det ok.
En dator äldre än 6-7 år skall uppdateras eller slängas!

Vad är det för larv? En maskin i server/router-syssla i hemmet som är 6-7 år gammal är bra mycket starkare än t ex en Raspberry Pi (eller professionell nätverkshårdvara som inte kostar flera hundra tusen, eller ny hårdvara för hemmabruk tänk NAS/NAT-Router) särskilt om det handlar om riktig serverhårdvara. Är den äldre en detta kommer den inte riktigt kunna köra modern mjukvara heller, men väl mjukvara som fortfarande har support. För hemmabruk är det totalt onödigt att köpa ny low-end-hårdvara och spendera tiden att sätta upp en ny miljö istället för att hålla mjukvaran säker på sin gamla.

AS/400 eller som det heter idag (efter det bytte namn från i5/OS) IBM i körs på 64-bitars Power-system. Samt har kört Power sedan 1995. Koden rullar däremot fortfarande! Det är helt ABI-kompatibla system så de har inte ens behövt kompilera om. IBM i exponerar inte processorn utan allt körs i en virtuell maskin vanligtvis. Men det är standard inom high-end segmentet. Det är vanlig med lång kompatibilitet bakåt. Cobol rullar för övrigt på affärssystem på Windows också. Cobol har använts till webservices i mer än ett årtionde för den delen. Det är ingen som kör förlegade system. Tänk på att allt är avskrivet efter 3 år i företagsvärlden. Vilket är varför vi kan få tag i kul grejer om vi letar. Det är ju bara om det inte finns något lämpligt att ersätta systemen med som gamla bara rullar på. De som t ex investera i Windows/SQLServer på Itanium har gått vidare till x86/POWER/SPARC.

Sen måste "gammal" mjukvara stanna kvar på gamla verktyg hos företag, men nog fan vidareutvecklas de flesta. Att införa ny teknik eller återimplementera det i en annan miljö är inte lyckat om det inte finns någon vits med det. Och t ex företages egna mjukvaror utvecklade i VS2005 rullar fint i Server 2012 R2.

Sweclockers kör t ex på forum-mjukvara som är baserad på en mycket gammal version av vBulletin, men underhåller och vidareutvecklar dem det själva så ja det har hållit väldigt bra trotts att det i princip är samma grund som när nya Sweclockers öppnades 2001. Att hålla på och ändra utan att veta vad man gör eller att hålla på och konvertera mellan flera ganska olika system är betydligt värre.

En hemma-NAS eller hemma-router som det går att installera egna program på är 32-bit ARM, 32-bit PowerPC eller 32-bit Mips. Så länge det fyller sitt syfte så kommer folk köpa och använda en stor blandning av olika system även om du anser att de är omoderna.

Permalänk
Medlem
Skrivet av Petterk:

PocketMine är 32-bitars. Eller rättare sagt det använder PHP. Det går tom att köra på Raspberry Pi och Android.

@virtual void: Det går att göra det samma på andra operativsystem, bara inte inbyggd i kerneln. Alltså att köra en virtuell maskin i 64-bitar på en 32-bit host om du har VT-x/AMD-V. Problemet är ju bara att Windows minneshantering inte är gjord för mer än 3-4Gig. Medan det fungerar betydligt bättre i OS X. Hade det verkligen varit ett 64-bitars program som man måste köra på en 32-bit host (OS) hade man alltså kunnat installera en virtuell linux-maskin om processorn har stöd för hårdvaru-accelererad virtualisering.

Jo det vet jag men när jag försöker köra installern får jag detta felet:

E:\PE friendmine\bin\php\php.exe is not a valid win32 application.

Skulle det gå att installera php på datorn och sedan köra programet?

Permalänk
Medlem
Skrivet av Petterk:

Vad är det för larv? En maskin i server/router-syssla i hemmet som är 6-7 år gammal är bra mycket starkare än t ex en Raspberry Pi (eller professionell nätverkshårdvara som inte kostar flera hundra tusen, eller ny hårdvara för hemmabruk tänk NAS/NAT-Router) särskilt om det handlar om riktig serverhårdvara. Är den äldre en detta kommer den inte riktigt kunna köra modern mjukvara heller, men väl mjukvara som fortfarande har support. För hemmabruk är det totalt onödigt att köpa ny low-end-hårdvara och spendera tiden att sätta upp en ny miljö istället för att hålla mjukvaran säker på sin gamla.

AS/400 eller som det heter idag (efter det bytte namn från i5/OS) IBM i körs på 64-bitars Power-system. Samt har kört Power sedan 1995. Koden rullar däremot fortfarande! Det är helt ABI-kompatibla system så de har inte ens behövt kompilera om. IBM i exponerar inte processorn utan allt körs i en virtuell maskin vanligtvis. Men det är standard inom high-end segmentet. Det är vanlig med lång kompatibilitet bakåt. Cobol rullar för övrigt på affärssystem på Windows också. Cobol har använts till webservices i mer än ett årtionde för den delen. Det är ingen som kör förlegade system. Tänk på att allt är avskrivet efter 3 år i företagsvärlden. Vilket är varför vi kan få tag i kul grejer om vi letar. Det är ju bara om det inte finns något lämpligt att ersätta systemen med som gamla bara rullar på. De som t ex investera i Windows/SQLServer på Itanium har gått vidare till x86/POWER/SPARC.

Sen måste "gammal" mjukvara stanna kvar på gamla verktyg hos företag, men nog fan vidareutvecklas de flesta. Att införa ny teknik eller återimplementera det i en annan miljö är inte lyckat om det inte finns någon vits med det. Och t ex företages egna mjukvaror utvecklade i VS2005 rullar fint i Server 2012 R2.

Sweclockers kör t ex på forum-mjukvara som är baserad på en mycket gammal version av vBulletin, men underhåller och vidareutvecklar dem det själva så ja det har hållit väldigt bra trotts att det i princip är samma grund som när nya Sweclockers öppnades 2001. Att hålla på och ändra utan att veta vad man gör eller att hålla på och konvertera mellan flera ganska olika system är betydligt värre.

En hemma-NAS eller hemma-router som det går att installera egna program på är 32-bit ARM, 32-bit PowerPC eller 32-bit Mips. Så länge det fyller sitt syfte så kommer folk köpa och använda en stor blandning av olika system även om du anser att de är omoderna.

Lyssna på den här mannen han har fullkomligt rätt och vi måste ha respekt för de äldre som registrerade sig 2001.

Visa signatur

i7 3770K @4.5 Ghz | MSI Z77-S01 | Radeon HD 6850 | Sandisk 120GB SSD | 8GB 1866Mhz Corsair Vengeance

Permalänk
Medlem
Skrivet av albin900:

Jo det vet jag men när jag försöker köra installern får jag detta felet:

E:\PE friendmine\bin\php\php.exe is not a valid win32 application.

Skulle det gå att installera php på datorn och sedan köra programet?

Du kan ju testa att dra ner x86-versionen av PHP och ersätta filerna i sökvägen du nämnde, med lite tur kanske det går att exekvera då

Visa signatur

11600K@5.1 GHz + 32GB Corsair Vengeance RGB PRO 3200@3400 MHz + MSI RTX 2080 Super Gaming X Trio +
WDC Blue SN550 1TB + Black OEM SN730 500GB + Kingston A1000 480GB + A2000 500GB + NV2 1TB + 2TB R10 + RGB most of THE THINGS! + Corsair 4000D Airflow + 2*ZyXEL NSA326 2*3TB @ R1 + Netgear RN2100 4*3TB @ R10 + RN204 4*4TB @ R5 + Synology DS216j 2*4TB @ SHR R1 + DS418 4*8TB @ SHR R6
| tmp: R5 3600@4.2 GHz + 32GB 2666@3066MHz + 2070 8GB + 1 TB NV2 & 512GB SN730

Permalänk
Medlem

Installera med den gamla installern och uppdatera manuellt, det är den rekommenderade vägen från utvecklarna. Sen kan du givetvis ersätta PHP med en egen också. Inte för att jag förstår varför den inte skulle vara 32-bit.

Se https://github.com/Intyre/PocketMine-Plugins/wiki/Updating-th...

Så ser du att det egentligen bara handlar om att packa upp källkoden från ZIP-filen.

https://github.com/Intyre/PocketMine-Plugins/wiki/Setting-up-... refererar dit.

Permalänk
Datavetare
Skrivet av Petterk:

PocketMine är 32-bitars. Eller rättare sagt det använder PHP. Det går tom att köra på Raspberry Pi och Android.

@virtual void: Det går att göra det samma på andra operativsystem, bara inte inbyggd i kerneln. Alltså att köra en virtuell maskin i 64-bitar på en 32-bit host om du har VT-x/AMD-V. Problemet är ju bara att Windows minneshantering inte är gjord för mer än 3-4Gig. Medan det fungerar betydligt bättre i OS X. Hade det verkligen varit ett 64-bitars program som man måste köra på en 32-bit host (OS) hade man alltså kunnat installera en virtuell linux-maskin om processorn har stöd för hårdvaru-accelererad virtualisering.

Ska man kunna köra AMD64/Intel64 måste kärnan köra i alla fall en liten del (den som tar hand om systemanrop) i vad som kallas "long mode". Vad OSX 10.6 gör är att köra en minimal del av kärnan i 64-bitars läge, men den delen som hanterar drivrutiner och liknande kör i 32-bitars läge.

Det är omöjligt att köra 64-bitars program på en ren 32-bitars kernel då AMD64/Intel64 helt enkelt inte stödjer ett sådant läge. Men när man väl befinner sig i ring 0 (högsta priviligeringsnivån på x86, det OSet kör i) så man man hoppa mellan olika lägen genom att hoppa mellan segment (cs registret pekar på en beskrivning av kodsegmentet, där står bl.a. om man ska tolka instruktioner som 16-bitar, 32-bitars eller 64-bitars varianter), en applikation som kör i ring >0 får bara byta till en lägre bit-bredd men kan bara byta till en högre som ett resultat av att hoppa tillbaka till en punkt där man redan varit.

Visa signatur

Care About Your Craft: Why spend your life developing software unless you care about doing it well? - The Pragmatic Programmer

Permalänk
Medlem
Skrivet av Yoshman:

Ska man kunna köra AMD64/Intel64 måste kärnan köra i alla fall en liten del (den som tar hand om systemanrop) i vad som kallas "long mode". Vad OSX 10.6 gör är att köra en minimal del av kärnan i 64-bitars läge, men den delen som hanterar drivrutiner och liknande kör i 32-bitars läge.

Det är omöjligt att köra 64-bitars program på en ren 32-bitars kernel då AMD64/Intel64 helt enkelt inte stödjer ett sådant läge. Men när man väl befinner sig i ring 0 (högsta priviligeringsnivån på x86, det OSet kör i) så man man hoppa mellan olika lägen genom att hoppa mellan segment (cs registret pekar på en beskrivning av kodsegmentet, där står bl.a. om man ska tolka instruktioner som 16-bitar, 32-bitars eller 64-bitars varianter), en applikation som kör i ring >0 får bara byta till en lägre bit-bredd men kan bara byta till en högre som ett resultat av att hoppa tillbaka till en punkt där man redan varit.

Virtualisering med hårdvarustöd kör i Ring 0, den kan därför köra i long-mode även på en 32-bit host. Utan 64-bit EFI eller 64-bit kernel hos host. Det är hela poängen med hårdvarustödd virtualisering, att köra i Ring 0 och få så gott som all kraft utan onödig översättning osv eller behöva modifiera gästen och köra paravirtualisering. OS X har haft delvist 64-bitstöd sedan OS X 10.4 på PowerPC (G5). De sålde datorer med 8GB ram medan de fortfarande var på Panther, inte för att det var tidigt med att stödja PAE men det är ändå samma mjukvara som hemmanvändare fick. De har varit lite bättre traditionellt på att hantera mer minne än 4GB än vad Windows var och är i 32-bitars versionerna dessutom. På Windows är program generellt sett begränsade till 2GB eller 3GB virtuellt minne. Bara serverversionerna har gett dig mer än 4GB minne via PAE. Det som kom i 10.6 var att hela systemet fanns i 64-bitars versioner inuti alla feta binärer, samt att du kunde börja köra ren 64-bit kernel. Med 64-bit drivare för vissa maskiner. Du hade däremot 64-bit Cocoa i 10.5 och möjlighet att köra 64-bit konsolbaserade program i 10.4. I OS X kunde alltså kerneln köra delvist i 64-bit som sagt och därav applikationer också, de behöver ju inte själva växla läge.

Permalänk
Medlem

Trådskaparen får gärna säga hur han löste det. Säkert fler som träffar på problem med denna mjukvara.

Permalänk
Datavetare
Skrivet av Petterk:

Virtualisering med hårdvarustöd kör i Ring 0, den kan därför köra i long-mode även på en 32-bit host. Utan 64-bit EFI eller 64-bit kernel hos host. Det är hela poängen med hårdvarustödd virtualisering, att köra i Ring 0 och få så gott som all kraft utan onödig översättning osv eller behöva modifiera gästen och köra paravirtualisering. OS X har haft delvist 64-bitstöd sedan OS X 10.4 på PowerPC (G5). De sålde datorer med 8GB ram medan de fortfarande var på Panther, inte för att det var tidigt med att stödja PAE men det är ändå samma mjukvara som hemmanvändare fick. De har varit lite bättre traditionellt på att hantera mer minne än 4GB än vad Windows var och är i 32-bitars versionerna dessutom. På Windows är program generellt sett begränsade till 2GB eller 3GB virtuellt minne. Bara serverversionerna har gett dig mer än 4GB minne via PAE. Det som kom i 10.6 var att hela systemet fanns i 64-bitars versioner inuti alla feta binärer, samt att du kunde börja köra ren 64-bit kernel. Med 64-bit drivare för vissa maskiner. Du hade däremot 64-bit Cocoa i 10.5 och möjlighet att köra 64-bit konsolbaserade program i 10.4. I OS X kunde alltså kerneln köra delvist i 64-bit som sagt och därav applikationer också, de behöver ju inte själva växla läge.

Dold text

Den ursprungliga frågan från TS var: kan jag köra ett 64-bitars program på en 32-bitars Windows-kärna. Svaret på den frågan: nej, det går inte.

Det du säger är att man kan installera en sak i en existerande kärna (som kan vara Windows 32-bit), då denna sak nu kör på högsta priviligeringsnivå kan den göra precis allt som HW stödjer, inklusive kliva in i 64-bitars läge (long-mode).

Vad du även kan göra i detta läge är att, förutsatt att din CPU har stöd för VT-x/AMD-V, är att slå på stödet för HW-baserad VMM (Virtual Machine Monitor) vilket då möjliggör att du kör kod (som inte har något med din 32-bitars Windows kärna att göra) i en priviligeringsnivå som rent logiskt ligger ett snäpp högre än ring 0, detta läge kallas "root mode" (ibland också för ring -1). D.v.s. du har inte på något sätt gjort det möjligt att köra 64-bitars program under 32-bitars Windows, du har i stället använt en HW-finess i CPUn som slår på än priviligeringsnivå ovanför OSet och i det läget kör du en snutt kod (en hypervisor) som du själv har kontroll över.

Vad du nu kan göra är installera ett till OS (ett gäst-OS) som är 64-bitar förutsatt att din VMM (din hypervisor, det som kör i "root mode") är 64-bitars. I detta 64-bitars OS kan du nu köra 64-bitars binärer "trots" att ditt host-OS bara är 32-bit. HW stödet för VMM gör att instruktioner som inte får utföras av gäst OS kommer att landa i VMM:en, inte i host-OSet (det skulle inte kunna hantera ett anrop från en 64-bitars binär). Men det är fortfarare inte möjligt att köra en 64-bitars applikation under 32-bitars Windows, så svaret på frågan som TS ställde är fortfarande: nej, det går inte att köra 64-bitars program under 32-bitars Windows.

Du har däremot helt rätt om OSX, har kört OSX sedan 10.3 och kan inte påminna mig om att jag någonsin sett 64-bitars applikationer innan 10.6, men stödet kom tydligt i 10.4.7 (enligt Google). Men det fungerar därför att man explicit designade kärnan för att stödja detta, så även en 32-bitars kärna har en liten del som kör 64-bitars kod, bl.a. så har 64-bitars x86 fler register och dessa måste sparas/återställas av OSet annars skulle programmen krascha. OSet måste skapa kod-segment beskrivningar för 64-bitar då ett program inte har rättighet att göra sådant.

Visa signatur

Care About Your Craft: Why spend your life developing software unless you care about doing it well? - The Pragmatic Programmer

Permalänk
Medlem
Skrivet av Yoshman:

virtual void

Jag sade precis samma sak två gånger, en hypervisor kan vid hårdvaruacceleration (virtualiseringsinstruktionerna VT-x/AMD-V) köra 64-bit gäst under en 32-bit host (OS). Förstod du inte det får det stå för dig, det krävde egentligen ingen förklaring eftersom jag aldrig pratade om Windows möjlighet utan virtualiseringsmjukvarorna med hårdvaruvirtualisering dvs under hypervisorn sedan valde du att blanda in OS X i ditt svar så pass mycket att det förtjänades att vidareutvecklas, det enda som är gemensamt där är dock privilegium och x86-64 processor. Samt att du kan köra 64-bit gäst under virtualseringsmjukvarorna där med på de flesta processorerna.

Vad jag kommer ihåg som folk använde på 10.5 tiden så hade Mathematica och Maple åtminstone någon del av programmet i 64-bitarsläge. Det är inte som att det inte fanns. En del av de här programmen körde tom 64-bit processer i 10.4.10.