Slashdot Mirror


32-bit to 64-bit - Obsolesence Pains Again?

robotsrule asks: "Having been in the computer industry a while I distinctly remember the pain of making the 16-bit to 32-bit transition, when Windows made the change to 32-bit support. Any developer who remember the joys of thunking and other kludges that were meant to help code conversions also remembers the arcane marathon debug sessions too. I have not been keeping up with the latest Microsoft Longhorn technical news, or the plans that the Linux community has for 64-bit platform support. Does anyone out there have a reliable prediction for the amount of system shock we are facing when either Longhorn or 64-bit Linux comes out? Will I lose all my favorite 32-bit development tools again as I watch the backward compatibility support dry up as the 64-bit O/S platforms are adopted? Or are the O/S manufacturers making happy noises about long-term support for existing development languages and tools?"

15 of 184 comments (clear)

  1. 64-bit linux by croddy · · Score: 3, Informative

    well, 64-bit linux systems have been available for quite a while now. since the kernel and practically the entire application codebase are available to the public as source code, the transition has been quite painless for end-users. 32-bit emulation libraries have ensured that 32-bit binary programs work almost flawlessly.

    1. Re:64-bit linux by BJH · · Score: 2, Informative

      You missed out hppa (PA-RISC Linux), but otherwise you're absolutely correct.

  2. 64-bit linux by molo · · Score: 4, Informative

    amount of system shock we are facing when either Longhorn or 64-bit Linux comes out?

    Umm.. no offense, but where have you been? 64-bit linux has been out for a LONG time. Some platforms have been 64-bit kernelspace (sparc64, ppc64, alpha, amd64) and have had 64-bit userspace (alpha) while others have had a mixed 32-bit and 64-bit userspace (sparc, mips, ppc, amd64).

    Most open source apps are already ported. Are you really doing things at a low enough level where you have to worry about thunking?? You might have bigger problems then.

    -molo

    --
    Using your sig line to advertise for friends is lame.
  3. *WHEN* 64-bit linux comes out? by Xtifr · · Score: 3, Informative

    64-bit Linux has been around for about a decade, since the initial DEC Alpha port. There are at least four 64-bit architectures with Linux support at this point, and it's well tested and debugged.

    As for the Windows side, the lessons of the 16->32 conversion were not wasted, abstract types created for that conversion are still in use, and will certainly make the new transition much easier. There will be some bugs that will need to be shaken out, but it's unlikely to be the sort of major effort it was last time.

  4. Re:64 bit linux :-)? by Rylz · · Score: 2, Informative

    I have the same setup, but I cannot say that I'm not missing anything. Although almost everything I use is open source and can therefore be ported and, for the most part, has been ported, there are a few closed programs whose binaries haven't been ported that I miss a little bit.

    1. Macromedia Flash. I know this will be among the first ported when average people actually start using 64-bit CPUs, but at the moment it is very annoying to have to switch to my 32-bit machine once a week to see the new Strongbad email!
    2. ATI Drivers. It was probably a bad idea to get an ATI card for a Linux system, but when the drivers not only don't work, but don't exist for my architecture, I really feel like a dumbass.
    3. Sun Java. I hate Java and really dislike Sun, but applets are currently used on far too many web pages. I am patietly awaiting Apache's eventual F/OSS implementation of Java!

    There are more, but those are the basics... I hope the move of the general public to 64-bit is quick so that the few closed-source programs that I still use will be ported!

    --
    Sometimes you've gotta roll the hard six.
  5. Re:64 bit linux :-)? by croddy · · Score: 5, Informative
    1. 32-bit Flash works just fine on 64-bit gentoo. Install 32-bit Mozilla or Netscape binaries, and install the Flash plugin there. No need to switch machines, just switch browsers.
    2. ATI Drivers: I'm afraid you're on your own here.
    3. Sun Java 5 runs just fine on 64-bit gentoo, even if it is missing a browser plugin. Install blackdown-jre and your applets should run just fine.
  6. flash, java, and ATI on amd64 by Anonymous Coward · · Score: 2, Informative
    1. The 32-bit flash plugin works if you run it in a 32-bit browser program, even on a 64-bit OS. As long as one of your web browsers is 32-bit, you can run flash from within that one. A good solution is to install both mozilla and firefox and make one of them the 32-bit version and the other one 64-bit.
    2. Proprietary ATI linux drivers for AMD64 are available.
    3. Java applets are similar to flash -- the Sun java browser plugin will work if you use a 32-bit browser.
  7. Bitness != Pain by fm6 · · Score: 3, Informative
    The pain we experienced going from 16-bit to 32-bit Windows had nothing to do with bitness. Despite having the same name and a big feature overlap, these were actually two different OSs. The 16-bit OS evolved out of DOS, a nasty, buggy and incomplete OS designed by people who didn't even understand what an OS was supposed to do. The Windows layer didn't just provide GUI services, it kludged in basic OS functionality, like pre-emptive multitasking. By contrast, 32-bit Windows was written from scratch by OS geniuses who had previously worked on VMS. They did their best to provide backward compatibility, but there's a limit to what you can do about that wihout screwing up the new OS.

    Porting from 16-bit Windows applications to 32-bit Windows is sort of comparible to the problems you face running Windows applications under Linux using WINE. In both cases, you're going to a new OS, and relying on a compatibility layer.

    A 32-bit Windows application running under 64-bit Windows just won't face these issues. There will be some 64-bit features it won't be able to uses, that's all.

    1. Re:Bitness != Pain by Anonymous Coward · · Score: 1, Informative

      Win95 was 32-bit. Win95 was based on DOS, not the OS/2|NT project.

    2. Re:Bitness != Pain by Bill+Dog · · Score: 2, Informative

      Win95 was a 16/32-bit hybrid/bastardization. It ran both 16 and 32-bit apps natively (and you could thunk calls between them). The NT-based OS's were always 32-bits (or more now), and emulate a 16-bit layer when needed (the Windows on Windows, or WOW subsytem). I believe it was WinME that was the last of those bastardizations.

      --
      Attention zealots and haters: 00100 00100
  8. Re:Oh yeah, what about Java? by cratermoon · · Score: 5, Informative

    > the int is still 32 bits

    Defined that way by the language standard and will always be that way on any platform past, present, and future. That's why it's platform-neutral, because you don't have to deal with ridiculous low-level issues like the size of standard datatypes. All primitive types are fixed by the language standard. These sizes do not change from one machine architecture to another (as do in most other languages). This is one of the key features of the language that makes Java so portable.

    Need more than 2,147,483,647? Try long -- 9,223,372,036,854,775,807. Still not big enough? java.math.BigInteger is arbitrary precision.

    Although programming in Java has lost some of its charm for me, I never ever again want to have to program in a language where I don't know from one platform to the next whether or not a particular bit of arithmetic will overflow.

  9. The difference... by Ayanami+Rei · · Score: 4, Informative

    64-bit mode on AMD abandons the idea of segments.
    You don't need them to get around the 4GB limit (no need for PAE), and no operating system was using segment protection of memory anyway; relying solely on page protection flags.
    Everything in 64-bit mode ends up in a known, fixed location of memory (like on old Macs)

    --
    THIS THING CAN TURN ON A DIME, MACROSSZERO STYLE ALSO FUCK BETA, ~NYORON
  10. The difference...? by jojo+tdfb · · Score: 2, Informative

    How is that different that the current 32 bit mode? If I remember correctly (and google still serves me right ;) all Linux binaries start at 0x08048000. Windows does the same, just a different address. What exactly does the 64 bit add other than larger word sizes and a few extra registers?

    If I remember my history right, it was the 286 that added this mode. Granted the addressing was in 24 bit but it tossed out haveing to split up your memory address across 2 pointer registers ( I still curse those damn data segments, when I'm drunk enough).

    --
    Linux is really boring from an os standpoint. Now Plan 9......
  11. Re:64 bit linux :-)? by Galuvian · · Score: 2, Informative

    Blackdown is still 1.4, at least on amd64 stable

    * dev-java/blackdown-jre
    Latest version available: 1.4.2.01-r1
    Latest version installed: [ Not Installed ]
    Size of downloaded files: 28,483 kB
    Homepage: http://www.blackdown.org/
    Description: Blackdown Java Runtime Environment 1.4.2.01
    License: sun-bcla-java-vm

    * dev-java/sun-jre-bin [ Masked ]
    Latest version available: 1.5.0.03
    Latest version installed: [ Not Installed ]
    Size of downloaded files: 32,042 kB
    Homepage: http://java.sun.com/j2se/
    Description: Sun's J2SE Platform
    License: sun-bcla-java-vm

  12. Re:How hard is it, by Anonymous Coward · · Score: 4, Informative

    Planning for 128 bits of address space is insane.

    Don't let you be fooled by the fact that 16->32, and 32->64 seems similar and infer that 64->128 is the same.

    First the exponential increase in performance/memory size gives you a linear increase in bit count. Doubling the bit count is a very rare event.

    Second, hitting a limit on 64 bits would mean 4 billion times 4 billion bytes.

    Think about it. 73 millions of 250 gigabytes hard drive *per* application.

    All the movies from imdb.com, in DVD format, in memory. 4500 times.

    An DiVX of your whole life. 43 thousands times.