To get a trial key
fill out the form below
Team License (a basic version)
Enterprise License (an extended version)
* By clicking this button you agree to our Privacy Policy statement

Request our prices
New License
License Renewal
--Select currency--
USD
EUR
RUB
* By clicking this button you agree to our Privacy Policy statement

Free PVS-Studio license for Microsoft MVP specialists
* By clicking this button you agree to our Privacy Policy statement

To get the licence for your open-source project, please fill out this form
* By clicking this button you agree to our Privacy Policy statement

I am interested to try it on the platforms:
* By clicking this button you agree to our Privacy Policy statement

Message submitted.

Your message has been sent. We will email you at


If you haven't received our response, please do the following:
check your Spam/Junk folder and click the "Not Spam" button for our message.
This way, you won't miss messages from our team in the future.

>
>
64-bit technologies - one more trend in…

64-bit technologies - one more trend in the modern software

Jan 29 2010
Author:

In the blogs and forums, there is much discussion of multi-core processors as an evident step of computer system development. And it is so. But there is another important development line besides multi-core machines - 64-bit technologies. What is it? What are the advantages? What are the problems involved? Here are the viewpoints of users and programmers.

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

By 64-bit technologies we understand both hardware and software means.

To the hardware means 64-bit processors are referred (Intel 64, Intel Itanium). "Domestic" processors are divided into x86-compatible (Intel 64, AMD64) and non-compatible with x86 Intel Itanium processors. Of course there must be the corresponding system boards for 64-bit processors but usually they are not singled out into a separate class.

To the software means 64-bit operating systems, 64-bit drivers and also applications (both 64-bit and just those able to work on 64-bit operating systems) are referred. And of course do not forget about the tools for 64-bit software developers (compilers, debuggers, libraries).

Does it all exist already or we need to wait?

What the hardware part of 64-bit technologies is concerned, it has existed for a long time; it is being used and most likely is present on your desktop.

Yet it is not so well with the software part. 64-bit operating systems have also existed both in the Unix world and Windows world for a long time. But they are not so widely spread yet. The reason for that is that there are very few programs which do not involve issues in the 64-bit environment. It came so far that Microsoft Windows 7 integrated a virtual machine into the operating system in order to solve the issues of obsolete programs.

Lack of 64-bit programs is determined by the vicious circle that we hope will break in the future. Software developers do not want to invest into 64-bit software because very few users have 64-bit operating systems and users, in their turn, do not install 64-bit operating systems because there are very few 64-bit programs. Only some third force can break this circle. Thus, for example, Microsoft released Windows Server 2008 R2 only in the 64-bit version.

So, on the one hand, it seems that we are ready for the mass move to 64 bits but on the other hand, this move is only beginning.

Users' viewpoint

For users, 64-bit technologies are the opportunity to get more than two Gbytes of memory for their applications. Where is it needed? In "heavy" tasks (video, sound, graphics, archiving), games and even in browsers (when many dozens of tabs are open). Seems to be attractive but users take their time in moving to 64 bits because there are problems of 64-bit and 32-bit software interaction. These problems are being solved but perhaps not so quickly as users would like to.

But 64-bit technologies are relevant not only to "heavy" tasks. Even if a program uses little memory (about one Gbyte), 64-bit technologies will become needed with multi-core processors getting popular. For it is not more than only 4 Gbytes (2^32) available in a 32-bit operating system and even less in practice. And what if there are several applications running simultaneously on a computer with four cores? And each needs a gigabyte of memory... You see, you cannot go without 64-bit systems.

Programmers' viewpoint

As said above, programmers take their time and do not make 64-bit versions of their applications, although there are all the necessary tools for that - compilers of 64-bit applications for most programming languages (both by Intel and by Microsoft), third-party tools (for example, PVS-Studio code analyzer intended for detecting errors characteristic of 64-bit and parallel applications).

The main reason why programmers take their time is the necessity to maintain two versions of a program - the 32-bit version and the 64-bit one. Theoretically, you can simply compile a 32-bit application for a 64-bit system but in practice it is not so easy and there are many issues. And that is why you have to provide maintenance for the both versions. And as long as they may do only with one version (as, for example, in case of 32-bit games), they try to do it.

Perspectives

Sure, the 64-bit world will come. How fast this will be depends both on programmers and users. But it is clear that those software vendors that will release the 64-bit versions of their applications first, will have advantages in the competitive activity. And those users who will move to 64-bit technologies first, will be able to enjoy these advantages earlier than all the rest.

What do we have in the Internet on 64 bits?

Popular related articles
MacOS 10.15 no longer supports 32-bit apps. What can you do?

Date: Oct 15 2019

Author: Sergey Khrenov

On October 7, 2019, Apple released a new version of its Mac operating system, macOS Catalina. Version 10.15 contains many changes and improvements. One of the significant is the complete phasing out …
If the coding bug is banal, it doesn't mean it's not crucial

Date: Apr 19 2017

Author: Andrey Karpov

Spreading the word about PVS-Studio static analyzer, we usually write articles for programmers. However, some things are seen by programmers quite one-sided. That is why there are project managers wh…
Detecting Overflows of 32-Bit Variables in Long Loops in 64-Bit Programs

Date: Mar 22 2016

Author: Andrey Karpov

One of the problems that 64-bit software developers have to face is overflows of 32-bit variables in very long loops. PVS-Studio code analyzer is very good at catching issues of this type (see the Vi…
Is it possible to run 64-bit applications in a 32-bit OS?

Date: Dec 08 2015

Author: Andrey Karpov

Nowadays 64-bit operating systems are very widespread. But 32-bit OS are still present on the market, in quite obvious quantities. A lot of modern program tools are developed to be run only in 64-bit…
How to Port a 9 Million Code Line Project to 64 bits?

Date: Aug 03 2015

Author: Evgeniy Ryzhkov, Ilya Ivanov

Our team has recently finished porting one pretty large project (9 million code lines, 300 Mbytes of source files) to the 64-bit platform. It took us one year and a half. Although we are not permitte…

Comments (0)

Next comments
This website uses cookies and other technology to provide you a more personalized experience. By continuing the view of our web-pages you accept the terms of using these files. If you don't want your personal data to be processed, please, leave this site.
Learn More →
Accept