64-bit technology is another direction in modern software

    Intel's blog says a lot about multi-core processors as an obvious step in the development of computer systems. It really is. But in addition to multi-core machines, 64-bit technologies are another important area of ​​development. What is it, what are the advantages, what are the problems - the view of the user and the view of the programmer.

    What are 64-bit technologies (hardware and software)?


    Under 64-bit technologies understand both hardware and software.

    Hardware includes 64-bit processors (Intel 64, Intel Itanium). “Household” processors are divided into x86-compatible (Intel 64, AMD64) and Intel Itanium processors incompatible with them. Naturally, for 64-bit processors there must be appropriate motherboards, but, as a rule, they are not allocated to a separate class.

    Software includes 64-bit operating systems, 64-bit drivers, as well as applications - both 64-bit and just running on 64-bit operating systems. Well, let's not forget about tools for developers of 64-bit applications (compilers, debuggers, libraries).

    Is it already or is it still necessary to wait?


    As for the hardware component of 64-bit technologies, it has long been ready, implemented, and moreover, it is probably located on your desktop. I bet most readers will have a 64-bit processor (see ark.intel.com )?

    With the software component, the situation is more complicated. 64-bit operating systems both in the Unix-world and in the Windows-world have long existed. But their prevalence is not yet great. The reason for this is a small number of programs that do not have problems in a 64-bit environment. It even got to the point that Microsoft in Windows 7 built a virtual machine into the operating system to solve the problems of old programs.

    The reason for the insufficient number of 64-bit programs lies in a vicious circle, which, we hope, will nevertheless break through with time. Software developers do not want to invest in 64-bit software, because a small number of users have a 64-bit operating system, and users do not install 64-bit operating systems, since there are few 64-bit programs. Someone else can break this circle. For example, Microsoft released Windows Server 2008 R2 only in a 64-bit version.

    So, on the one hand, everything seems to be ready for a massive transition to 64 bits, but on the other, this transition is just beginning.

    User point of view


    For the user, 64-bit technology is an opportunity to get more than two gigabytes of RAM for applications. Where is it needed? In "heavy" tasks (video, sound, graphics, archiving), in games and even in browsers (when several dozen tabs are open). It seems to be attractive, but users are in no hurry to switch to 64 bits, as there are problems of interaction between 64-bit and 32-bit software. These problems are solved, but apparently not as fast as users would like.

    But 64-bit technologies are relevant not only for “heavy” tasks. Even if the program uses a little RAM (about a gigabyte), then with the proliferation of multi-core processors, 64-bit technologies will be in demand. Indeed, in a 32-bit operating system, no more than 4 GB (2 ^ 32) is available, although in practice it is even less. What if several applications are running on a machine with four cores? Yes, and each of them needs a gigabyte of RAM ... So, nowhere without 64-bit systems.

    The point of view of programmers


    As mentioned above, programmers are not in a hurry to make 64-bit versions of their applications. Although all the tools for this already exist - there are compilers of 64-bit applications for most programming languages ​​(both from Intel and Microsoft ), there are third-party tools (such as the PVS-Studio code analyzer , designed to detect errors specific to 64-bit and parallel applications).

    The main reason why programmers are in no hurry is the need to support two versions of the program - 32-bit and 64-bit. In theory, it is simple enough to compile a 32-bit application for a 64-bit system, but in practice there are numerous nuances. Because of this, two versions have to be supported. And while only one can be dispensed with (for example, for 32-bit games), they try to get by with one version of the application.

    Prospects


    Obviously, the 64-bit world will come to us. How fast it will be depends on programmers as well as on users. But it’s already clear that those software companies that release 64-bit versions of their applications faster will be able to get ahead in the competition. And users who will switch to 64-bit technologies faster will be able to evaluate these advantages a little earlier.

    What is on a 64-bit network?


    1. Intel company forum " Development of 64-bit applications " in Russian.
    2. The article " 20 traps of porting C ++ code to a 64-bit platform ."
    3. Resources for developers of 64-bit and parallel programs in Russian.
    4. PVS-Studio tool - search for problems in 64-bit and parallel programs.

    Also popular now: