Linux 下如何运行 32 位程序的 64 位版本 (linux 64位运行32位程序)

Linux 在服务器系统中的使用越来越普遍,CPU 类型的不断升级也导致 32 位程序无法兼容 64 位版本。但是,在很多情况下,我们需要运行 32 位程序的 64 位版本。本文将介绍在 。

# 什么是 32 位程序和 64 位程序

在讨论如何运行 32 位程序的 64 位版本之前,我们需要了解一下什么是 32 位程序和 64 位程序。在计算机中,位数代表 CPU 寄存器中的数据字长。32 位 CPU 每次能够处理 32 位的数据,而 64 位 CPU 每次能够处理 64 位的数据。因此,在同样的工作条件下,64 位 CPU 比 32 位 CPU 处理数据的速度更快。

同样地,32 位程序计算机能够处理 32 位的数据,而 64 位程序计算机能够处理 64 位的数据。在 CPU 类型的不断升级中,64 位 CPU 逐渐取代了 32 位 CPU,因为 64 位 CPU 的计算速度更快。在集成开发中,通常情况下 64 位程序是要优于 32 位程序的。然而,在某些情况下,我们需要在 64 位程序下运行旧的 32 位程序。

# 兼容 32 位程序的方法

我们可以使用以下三种基本方法,以在 64 位计算机系统中运行 32 位程序:

1. 安装 32 位库文件

2. 安装虚拟机运行 32 位操作系统

3. 在命令行中使用 Linux 的多功能命令前缀

## 安装 32 位库文件

该方法适用于那些已经编译出一个 32 位程序,但希望在 64 位系统上运行这个程序的情况。在 32 位系统上能够运行的程序,其运行时库文件在 32 位系统上都已存在,而在 64 位系统上则不存在。

因此,我们需要将缺少的库文件复制到 64 位系统所在的目录。这可以通过以下指令实现:

“`

$ sudo apt-get install ia32-libs

“`

通过这个命令,我们将会安装一些必要的 32 位库,其中包括像 `libc.so.6` 这样的重要库,在许多 32 位程序中都需要。安装成功之后,我们就可以运行我们的 32 位程序了。

## 虚拟机技术

虚拟化技术可以是另一种在 64 位系统中运行 32 位程序的可能方法。该方法基于虚拟化使用虚拟机,该虚拟机在其中运行 32 位系统之后在其中运行 32 位程序。

例如,安装 VMWare 虚拟机之后,我们就可以虚拟一个 32 位操作系统作为客户机,使其运行旧的 32 位程序。

但是,虚拟化需要独立的操作系统、独立的虚拟机和独立的内存等多种资源。而且还会存在虚拟机的性能问题,因此在某些情况下,虚拟化可能并不是更好的选择。

## 使用多功能命令前缀

Linux 下有一些多功能命令,它们可以在适当的条件下强制 64 位系统运行 32 位程序。这可以通过在命令行中添加前缀 `linux32` 来实现。

例如,在 x86_64 GNU/Linux 系统上,要运行 32 位程序,则执行:

“`

$ linux32 ./your_application

“`

在上面的命令中,`linux32` 是一个前缀,`./your_application` 是要运行的程序。`linux32` 将告诉 Linux 使用 32 位系统调用和 32 位运行库来运行这个程序。

#

当我们在 64 位 Linux 系统上运行 32 位程序时,需要考虑以下因素:

1. 32 位程序需要的库文件

2. 用虚拟机技术运行 32 位系统

3. 在命令行中使用 Linux 的多功能命令前缀

通过这些方法,我们可以确保我们可以在最新的 64 位 Linux 系统上运行我们的旧 32 位程序。为了找到处理 32 位程序的 64 位版本的更佳解决方案,我们需要确定特定情况下最合适的解决方案。

相关问题拓展阅读:

linux运行命令时出现wrong ELF class: ELFCLASS32错误提示

linux运行命令时出现wrong ELF class: ELFCLASS32错误提示是设置错误造成的:

1、在Linux安装Screen,使用yum -y install screen安装。

2、创建Screen会话:使用screen -S test创建一个名为test的会话,然后在伍闹会话中命令命令df -h。

3、使用ctr+a+d退念槐出screen会话,模拟任务中断的情况。

4、重新连接会话,screen -ls查看所有的screen会话。

5、screen -ls命令运行之后,逗号之前的数据为pid,仔橘友即会话进程号,逗号后边为会话名。

1、64位linux系统可以运行32位和64位程序,32位系统只能运槐册行32位程序

2、file topas可以检查这个文件是32位还是64位

3、ldd topas可以检查这个铅衫宏文件需要哪些依赖库文件,可能依赖的库文塌迹件libG4processes.so是32位不满足需求

操作系统分64位和32位的吗?

64位cpu兼容则橘棚32位的操作系统,装xp死机有可能是安装盘的问题,换孙则一个安装盘试试.不会是cpu的伍悔问题.(如果cpu不是硬件质量的话)

认识64位操作系统

现在,Windows XP 64 Professional x64 Edition(以下简称Windows XP 64)已经正式推出,和32位的Windows XP相比,它有哪些显著的变化呢?它能顺利支持32位应用吗?普通用户现在可以升级到Windows XP 64吗?

跨入64位之路

“位”,简单地理解就是CPU的寻址空间。在计算机技术的发展史上,位的演变起到了举足轻重的作用。从1971年的4位计算到如今已来临的64位计算时代,经历了漫长的演变过程。

年:16位大行其道

1978年,Intel推出了首颗16位CPU–8086。在此期间,操作系统走过了16位的PC-DOS、MS-DOS、CP/M-86、UCSD Pascal P-System,MS-DOS开始成为个人计算机操作系统的霸主,直到今天,DOS在Windows系统维护中仍然扮演着重要的角色。值得我们怀念的是,那时国人的电脑上几乎没有不安装WPS For DOS(早期的文字处理软件,相当于现在的 Word)的,为计算机在我国办公领域的应用打下了坚实的基础,同时,国人也成功地开发出了中文DOS系统,如CCDOS等。

1985年,微软推出了Windows 1.0,之后又陆续推出了Windows 2.0、Windows 286、Windows 386,伍基但由于性能平平而没有得到人们的注意。直到1990年5月,微软推出了Windows 3.0,加入了许多有用的功能,并首次加入了多媒体功能,被舆论称为“多媒体的DOS”。Windows 3.0一经面世,就取得惊人的成功,一举奠定了微软在操作系统上的垄断地位。

1995年至今:从16位到32位的飞跃

1985年Intel推出了首颗32位处理器80386。在此期间,1995年8月,微软推出了Windows 95,称为操作系统发展史上一个里程碑腔迅谨。从Windows 95到Windows 98/ME,都是混合16/32位计算的操作系统,并不是纯32位操作系统,稳定性和性能方面虽比过去得到了较大的提升,但仍不能满足人们对计算机应用的需要。

2023年,微软推出了Windows 2023,开辟了个人桌面32位计算与应用的新时代。2023年发布的Windows XP成为目前使用率更高的操作系统。

32位计算时代最成功的应用就是多媒体和Internet,32位的Windows平台上涌现了很多之前只能运行在SGI等大型图形工作站的应用程序,如3DMax、Photoshop等,人们不再为这些多媒体创作而购买极其昂贵的图形工作站,日益成熟的32位计算开辟了PC担任多媒体应用工具的新纪元。

2023年:64位即将君临天下

今天,64位计算平民化的时代即将来临。和以前8位向16位跃进、16位向32位跃进耗费十几年的情况不同, 64位CPU推出没几年,就出现了64位的Windows XP和64位的Windows Server 2023。微软称,64位的Longhorn也将于2023年发布。

除此之外,与个人桌面系统同步的还有服务器系统,如Windows NT/Server 2023/Server 2023等,就在微软发布64位Windows XP的同时,也发布了64位Windows Server 2023。至今,还可从微软网站注册并下载64位的有120天限制的Windows Server 2023。

为什么需要升级到64位

如前所述,随着多媒体功能的渗入和硬件价格的日趋平民化,越来越多的人加入到PC应用的行列,造就了一大批进行家庭多媒体创作等应用的非专业人士,很多人不再满足于用电脑打字、作表格、上网聊天等简单应用。随着人们对电脑要求越来越高,32位系统已力不从心,于是64位CPU和64位操作系统先后出炉。在操作系统方昌嫌面,经过充分的准备(包括前段时间微软推出的免费下载试用),微软终于在今年4月25日推出了具有重要意义的64位Windows XP和64位Windows Server 2023。

按微软官方的说法,Windows XP Professional x64 Edition的设计初衷是满足机械设计和分析、三维动画、视频编辑和创作以及科学计算和高性能计算应用程序等领域中需要大量内存和浮点性能的客户的需求–这些应用都需要高性能和大内存的支持。

64位与32位Windows XP相比的一大特色就是能提供大内存的支持。当前,32位Windows能支持最多4GB的系统内存,每个处理器可最多使用2GB专用内存。而Windows XP Professional x64 Edition当前支持多达128GB内存,随着硬件功能的增强和内存大小的增加,有可能支持多达16TB(1TB=1000GB)的虚拟内存。其它数据请见下表:

再从个人桌面系统用户的角度来看,内存容量的限制只是体现64位计算技术优势的一个方面,大量数据处理才是64位计算真正发挥功效的地方。PC已经不仅仅是用户计算的工具,它更是“多媒体”中心,很多这方面应用是32位计算根本无法满足的。如在家用领域,32位无法实现高保真的声像,甚至无法完成20分钟视频的播放和编辑;在建筑、游戏设计领域,32位计算无法完成大量的数据计算和处理;在互联网上,32位计算无法实现大量的各种类型的数据搜索–这些应用都需要64位计算来实现。

64位Windows XP的安装

要说明的是,64位Windows XP只能在64位平台上安装,因为安装程序在安装之前会对系统进行检测,如果检测不到64位CPU,操作系统将中断安装过程

现行的64位Windows XP还只有英文版,加之对新系统的不熟悉和新系统的兼容问题,目前国内32位系统依然占据主流。可能很多读者首先想到的是多系统,保留原32位Windows XP,用光盘启动,将64位Windows XP安装到另一分区或原系统分区的另一目录下,不过这种做法存在严重的兼容性问题。兼顾以上种种理由,笔者推荐大家采用独立多系统法。

步骤1:用DOS版的分区软件在硬盘上划分出两个主分区,扩展分区任意。主分区可以有多个,但只能有一个处于活动状态,另一主分区将自动处于隐藏状态。为方便后面的叙述,现设两主分区的卷标分别是Win32和Win64。

步骤2:用分区魔术师使Win32分区处于活动状态,正常安装32位Windows XP。安装时一定要让另一主分区处于隐藏状态。

步骤3:用分区魔术师使Win64分区处于活动状态,同时隐藏Win32分区,在Win64分区下安装64位Windows XP,安装方法与简体中版的32位Windows XP没什么两样。

注意:在一个主分区下安装系统时,一定要让另一主分区处于隐藏状态,独立多系统成败的关键全系于此。以上安装法只是一种思路,也可通过调整原系统分区大小将其分割一块出来,再将分割出来的部分建成主分区以安装64位Windows XP。

步骤4:多系统的切

在任一系统下安装完全版的分区魔术师8.0,在其安装目录下找到以下两个文件:pqbw.exe和pqbw.rtc,再将其拷贝到任一扩展分区的一个新建目录下

提示:在64位Windows XP下,分区魔术师的安装目录默认是“C:Program Files (x86)PowerQuestPartitionMagic 8.0”,在32位Windows XP下是“C:Program Files PowerQuestPartitionMagic 8.0”。如果不是完全版的,可能找不到以上两文件。

双击pqbw.exe,显然,两个主分区都已被软件识别出来了。从“Status:”下可看出,Win32分区处于活动(Active)状态,该分区下的操作系统处于运行状态,如果此时单击选中另一分区即Win64,同时选中“Restart Now(马上重启)”,再单击OK,当前系统会立即关闭并重新启动到64位Windows XP下。由于这两个文件已拷贝到扩展分区,所以无论启动到哪一系统下都能找到并运行它。

由于只能有一个主分区处于活动状态,另一分区默认地处于隐藏状态,不管启动到哪一系统下,都只能有一个主分区的盘符被分配为C盘,后面的扩展分区在磁盘管理器下显示为D盘、E盘等,可共享扩展分区下的数据。如果为维护方便,手动将两分区都设置为非隐藏状态,也只能启动到活动主分区上的操作系统,另一主分区的盘符将排到扩展分区之后。

IT.COM.CN

掀开64位的底牌

1992年2月,COMPAQ公司在业界首推名为Alpha的64位中央处理器,主频创记录地达到了200MHz。而SUN公司的UltraSparcIII、IBM公司的Power 5以及Apple公司的G5等面向64位计算的处理器也纷纷出台,Intel也早在2023年就与HP合作开发了基于IA-64架构的Itanium处理器。如同一种产品在市场上获得普及而非由少数用户拥有的时候,我们才能真正将其列归主流一样,只有当64位技术为个人用户广泛应用的时候,我们才能够认为64位时代真正来临。随着AMD在全球抢先投放其面向个人用户的64位处理器开始,Intel在一年之后也以自己的64位处理器回应,从而真正拉开了64位计算时代的大幕。

X86平台64位处理器大事记:

★2023年4月22日,AMD发布了基于AMD64技术的Opteron处理器。该处理器即是AMD一直以代号“大锤”进行研发的项目产物,可以同时兼容64位和32位应用。

★2023年2月的IDF 2023上Intel正式展示了其代号为Nocona的64位至强处理器,同年8月4日,面向个人电脑的64位处理器Pentium 4 F推出。

★2023年10月5日举行的微处理器论坛,威盛电子公布了其代号为Isaiah的64位处理器,该处理器将于2023年上半年投产。

64位时代的5道门槛

随着Intel全面发布了自己的64位中央处理器,我们已经可以感受到64位时代的呼吸了。但是现在就开始欢呼雀跃似乎为时尚早,系统平台的过渡通常并非坦途。远的按下不表,单说16位向32位的过渡,也是在兼容16位应用的前提下经过了多年的发展才逐渐确立了32位应用的主流地位,并一直演化出32位一统天下二十年的大好江山。如今64位想重复32位的老路,颠覆32位的统治地位,无疑将面临很多阻挠。我们就来看看在向64位时代迈进的道路上,需要跨过哪些门槛。

门槛1:硬件驱动问题

现在AMD和Intel已经开始在市场上大量投放64位处理器,而其他一些个人级处理器厂商也在积极动作。但是一台计算机并非只有一个处理器就能运行,它还需要大量周边设施的辅助。由于目前进行过的所有测试都表明在64位操作系统中运行64位应用程序比运行32位应用程序要更加高效,所以用户也应该尽可能在自己的操作系统中安装64位的驱动程序。而且根据从微软获得的信息,32位的驱动程序是无法在64位Windows操作系统中使用的。

现在硬件产品多如繁星,不可能所有的产品都具备64位驱动程序供用户使用。目前单就主板来说,市场上就有成百个品牌在供应产品,而能够生产其他配件的厂商更是数不胜数。相对较大规模的厂商具有比较良好的技术研发能力,而一些依靠降低成本价格进行竞争的小厂商就很难保证附属程序的研发了。在这种情况下,相对实力较弱的厂商通常会使用元件附带的公版驱动,甚至根本不提供经过验证的与产品匹配的驱动。所以在使用64位硬件平台的用户,应该特别注意自己现在购买的硬件是否带有针对64位平台的驱动程序。并且在可能的情况下,尽量选择大厂的产品,以免无法充分发挥硬件设备的性能。

在新购设备这一方面问题还不是特别严重,对于我们之前购买的设备来说问题可就没那么轻松了。毕竟很多用户只通过更换主板和处理器进行升级,而非购买整套配件进行升级或者购买整机。一般相对核心的部件对于这个问题受到的影响较轻,而外设型的设备所受波及就更加严重,例如打印机、扫描仪等。现在有大量的用户仍在使用几年前购买的打印机,甚至某些产品的型号已经投产了超过5年的时间,有成百万的用户。在这种情况下,硬件厂商的责任不仅仅在于为新产品搭配64位驱动程序,而且还要考虑为所有仍在使用的旧有机型开发64位驱动程序。

在很多情况下,我们只能更多的寄希望于所使用的64位操作系统包含了正在使用设备的驱动程序。不过相信会有相当多的用户要为此烦恼。全球的硬件厂商都应该加快脚步,为他们的产品提供各种平台的64位驱动支持,这也是64位硬件大范围普及的一个重要前提。目前已经有一些厂商走在了前面,例如罗技已经表示在今年6月份推出其产品的64位驱动程序,尽管其大部分设备不使用驱动也可以很好的在64位操作系统下使用。

门槛2:缺乏应用程序

除了硬件方面的问题之外,应用程序方面的情况也不是特别乐观。虽然现在很多32位的应用程序都可以使用兼容模式运行在64位模式下,但是总体来说,64位应用程序仍处于严重缺乏的境地。我们就目前已经确认的信息,来概览一下重要软件的64位版本情况。

Office办公套件

占有市场统治地位的微软Office套件正在筹划64位版本,在32位版本的Office 12推出后将很快推出64位版本的Office 12。但是据目前的情况看来,Office 12的推出时间很可能会是2023年的年中或者年末。届时微软不但面临着Office套件64位化的问题,还需要进一步将Office与其它的微软系统整合以及推出更多新功能,因为Office 2023版本相对前面版本的Office改进太少已经为不少激进的用户所诟病。

开放源代码的Open Office套件虽然没有明确推出64位的版本,但是在64位Linux操作系统上确实可以正常的运行该办公套件。我们认为开源的套件对于64位的支持应该相对比较简单,因为我们可以很容易的自己进行编译和部署套件的工作。

服务器软件

Web服务器方面,除了Windows服务器系统自带的IIS之外,另一个主要的Web服务器软件Apache也提供了自己的64位版本,但是目前还没有看到Apache在Windows平台上有64位版本发布。就运行速度而言,64位的Apache在同等级别的硬件平台上相对于32位的Apache有一定的提升。而且我们相信64位技术会给Apache的性能带来更大的收益,毕竟Web服务器软件对内存的要求是相当高的。

数据库服务器方面,微软的SQL Server已经提供了64位支持。在2023年的5月,微软发布了SQL Server的SP4补丁包,使用该补丁包用户将能够在64位平台上运行基于SQL Server的应用程序。支持64位X86硬件平台的64位商业数据库还包括IBM的DB2和Oracle。而MySQL,这个更流行的开源数据库系统,更是早在2023年初就已推出了基于HP-UX和Itanium 2处理器的64位版本,其对64位平台的支持还是相当全面的。相对来说,数据库服务器对64位技术的支持是相对较好的,毕竟数据库应用需要海量的存储空间。

工具软件

目前工具软件厂商还很少推出专门针对64位平台的版本,但是在微软64位操作系统上,影音播放、图片浏览、文件下载等常用的32位工具软件都能够较好的运行,而对于Linux等将应用程序打包发布的操作系统,各种工具软件也能够正常工作。

以上只是描述了很小一部分软件的64位版本应用情况。综合来看,大部分软件厂商还没有推出针对64位平台的产品版本,所以说目前可供用户使用的纯64位应用还非常稀缺。大家可以查询所需使用软件的官方网站,进一步了解64位版本的发布情况。

门槛3:兼容性问题

从32位到64位,如何能够平稳的完成又一次计算平台的巨大变迁?回首历史,X86架构经历了8位到16位、16位到32位等数次变革。离我们最近的一次也是影响最深远的一次就是从16位到32位的平台转换。在这次影响久远的过渡之中,我们的主流中央处理器由286演变为极具变革意义的386,PC开始成为信息时代舞台上的主角。

因为在当时16位应用居于统治地位,硬碰硬式的革命即使成功也会损失惨重。所以X86架构处理器的生产商极为明智的选择了一条兼容16位处理器,逐步推广32位处理器的发展路线。当兼容16位应用的32位处理器上市之后,用户惊喜地发现这种处理器同样能够非常顺利地运行16位应用程序,而且其运行速度大大超过当时的16位处理器。在这种情况下,购买新机的用户当然对性能更好而且还能够在未来运行32位应用的32位处理器情有独钟,并且带动了大量准备升级计算机的用户投向32位阵营。

正确的策略赋予了32位变革足够的初始动能,当雪球越滚越大之后,终于使32位接替16位成为必然。在此期间,信息产业中的各个行业获得了充分的时间使自己向32位技术进行过渡,这一方面保证了过渡的平稳,另一方面也为32位技术打下了扎实的根基。值得一提的是,在这个迁移过程的同时,还出现了一种被称为RISC的架构。

平心而论,RISC架构从技术层面要比X86架构更加优秀。但是由于与占据了极大市场份额的X86架构不兼容,所以无法被大众所接受,越来越被挤向高端市场,最终成了一种曲高和寡的技术。从这段历史我们不难看出,在发生深层次技术平台迁移的时候,往往由于涉及面过广,而无法迅速的完成转变。只有很好的顾及旧有系统的价值,以自然的方式平稳地引发需求,才能获得更大限度的成功。

历史总是惊人相似,我们相信32位技术向64位技术的转化也是如此。AMD也是选择了在64位技术的基础上兼容32位技术的战略,从这一年多的市场反应来看可以充分说明AMD的睿智。微软也顺应时势的在64位Windows XP中集成了WOW(Windows-32-on-Windows-64)子系统,用于提供32位应用与64位应用的兼容。现在剩下的问题就是,目前这些主力厂商所提供的兼容性,是否能够满足应用的要求呢?我们在个人用户最常用的Windows平台下针对兼容性问题进行了一系列的实验,大家可以根据实验的结果得出自己的答案。

在我们的测试中,下列程序可以正常的在64位Windows系统中工作,没有发现任何问题:

文档处理 Microsoft Office 2023/2023、Adobe Acrobat 7.0、UltraEdit 11

图像处理 Adobe Photoshop CS、Paintshop Pro 9、CorelDRAW 12;Firework MX 2023

三维制作 3D Studio Max 6、Maya 6.5

光盘处理 Ahead Nero 6、Ultra ISO 7、MagicISO

网页制作 Dreamweaver MX 2023、Flash MX 2023

网页浏览 Firefox 1.2、Opera 8

媒体播放 Media Player Classic、Power DVD 6、Quicktime 6.5

系统工具 Partition Magic 8、WinAce v2.6、JRE 1.5;VMWare 5

即时通讯 MSN Messenger 7.0、ICQ 5

文件下载 eMule 4.6a

游戏软件 魔兽争霸3;星际争霸

第二个部分是能够完成基本的工作但是存在一些问题的软件。

WinRAR 3.5和Winzip 9.0都可以正常工作,但是问题在于右键菜单中的快捷选项无法正确加载。我们估计原因在于这些加载项只能工作在32位的Explorer环境中,估计其它利用该技术修改右键菜单的软件也会受到影响。另外,一些老版本的Acrobat程序需要使用32位的驱动程序,所以不能使用打印PDF文档的功能。另外我们还发现,在安装Office 2023 SP1的时候会显示一组错误消息,但是对使用不造成任何影响。

无法工作的应用软件:

所有使用32位底层驱动的软件无法顺利的在64位操作系统中。大部分32位防病毒软件都应用Windows底层驱动进行病毒监控,所以都无法正常工作。个人防火墙软件也是如此,例如Zonealarm和Sygate的防火墙软件就无法在64位系统下工作。而我们能够找到的所有虚拟光驱软件都无法执行。

一个让我们比较意外的情况是微软的Virtual PC 2023虚拟机软件也无法在64位Windows上运行,要知道他的主要竞争对手VMWare可是能够运行的,可能是Virtual PC对Windows的底层进行了一些调用。还有很多微软的套件无法在64位Windows下运行,希望微软尽快推出64位版本吧。

门槛4:开发工具问题

64位应用软件的缺乏,同样需要开发工具厂商的投入。只有64位开发环境达到了足够的成熟度,程序员才会有学习64位环境软件开发的热情。64位处理器的字长从32位提升到64位,使内存地址范围大量扩充,内存的容量、处理速度和精度等指标随之大幅提升。在32位系统下,一旦数据处理量及会话连接突破一定界限之后,就非常容易出现系统崩溃。所以在高端应用领域,一直是64位系统的天下。

Intel虽然在高端推出了安腾处理器,但是由于所能运行的应用软件相对较少,一直没有能够有效地占据市场。如今X86架构的处理器开始投放市场,所有立足于X86架构的厂商当然希望用户可以继续有丰富的软件可用。想要在64位平台上开发软件,首先要有完善的编译器软件。因为目前绝大多数主流的高级编程语言都是编译式的,如果没有高质量的编译器,就很难开发出性能优异的软件程序。

以C语言编译器来说,除了可以从Intel这样的处理器厂商处获取之外,还可以使用GCC提供的开放源代码的64位版本编译器。

凡事总有例外,并不是所有的主流开发平台都是基于编译技术的,例如Java。Java也会将源代码编译为可在虚拟机中执行的字节码,但是由于Java并不针对处理器指令集编译生成平台本地化的代码,所以在严格意义上不应将其划归为编译性语言。在使用虚拟机技术的编程平台中撰写的源代码,是不受平台限制的。以Java为例,在32位平台下生成的字节码是可以直接运行在64位平台上的,只要运行的环境中安装了版本匹配的Java运行时环境(JRE)。

另外,Java开发平台为了实现在不同字长环境中运行Java程序,对数据类型也做了相应的处理,程序员并不会为这些问题花费太多的心思。谈到开发我们无法忽略微软的存在,毕竟全球大部分计算机都在运行微软的操作系统。由于微软现在主推的.NET计算平台使用了和Java类似的技术,所以严格来说从32为转换到64位对.NET程序也没有什么影响。我们需要关注的只是微软的操作系统是否足够完善以及他们什么时候才会发布完整的开发库支持。

现在微软已经发布了Visual Studio .NET 2023的Beta版本,据称这款微软最新的开发工具中提供了64位开发的更多支持。这两个开发平台所具有的这种特性对程序员具有相当的吸引力,因为这意味着程序员可以使用同样的知识基础同时为不同的系统平台开发程序。而且这对企业移植应用程序带来了巨大的便利,如果企业选择的开发环境是Java或者.NET的话。这从侧面说明了为什么Java和.NET是企业级开发市场的主宰力量,选择了投入这两个阵营的企业现在一定会满意自己的决策。

门槛5:实施成本问题

IT行业一个常用的衡量尺度是TCO,即总体拥有成本。这个衡量方式的主要原则在于我们在实施IT设施的时候不但要考虑显性成本,同时也要重视隐性成本。以32位向64位迁移来说,隐性的成本包括了对原有设备的影响、用户知识结构的变化、不同平台的整合以及程序移植等等。应该说目前X86架构的64位系统从一定程度上解决了这些问题。

AMD从最开始就选择了兼容32位应用的策略推广其64位处理器,而Intel在百般权衡之后,也尾随AMD的脚步走上了同样的道路。在这种情况下,32位和64位的平台过渡工作将省却很多麻烦。但是尽管有这些有利条件,平台过渡仍是一个非常巨大的工程,会涉及到组织的方方面面。这就需要所有参与其中的人与过渡工作紧密配合,如果没有积极的态度和严谨的心态,会带给IT设施的运作造成无可估量的损失。

另外,我们在注重TCO的同时,也不能忽略系统的扩展能力。就是说,我们不但要注重短期的效益,还要估算长期的利益。只将目光集中于眼下的成本节省,代价很可能是在将来付出更大的成本。特别是在相对大型的计算环境中,一定要制订好详细的迁移计划,评估各种应用的重要性等级和对64位系统平台的需求,开展足够的培训和教育工作,这样才有可能成功的完成32位平台向64位平台的过渡。

64位硬件的安全轴心

64位技术的普及化,除了能够带给个人用户性能方面更好的体验之外,还提供了更多创新的空间。我们现在就来看看对于个人安全防护来说最重要的防病毒和防火墙功能,64位硬件平台给了我们怎样的答案。

64位处理器的防毒功能

在传统的防病毒领域,我们大多使用防病毒软件处理计算机病毒问题。AMD推出的64位处理器都提供防病毒功能,而Intel不只在64位处理器中集成了这样的功能,其很多32位处理器也可以提供防毒功能。两者内置的防病毒技术都是使用被称为NX bit的一种防止内存溢出的机制来实现的。

我们知道,目前的大部分恶意攻击都是利用某种方式使目标机器执行攻击者想要执行的代码,而这通常是由内存缓冲区溢出的形式来完成的。以近年来大肆传播的网络蠕虫病毒来说,其主要的感染行为就要依赖这种技术。所以在理论上,如果我们能够防止发生内存溢出,就能大大降低系统的安全威胁。NX bit就是针对这类问题所推出的解决方案。

抛开技术实现的细节不表,NX bit是通过怎样的机制完成工作的呢?非法的内存溢出通常在数据中植入了可执行的代码,这些恶意代码在溢出时会被推入执行队列。NX bit在映射内存的物理地址和逻辑地址的管理机制中添加NX位,当CPU提取指令的过程中,一个生效的NX位被执行的话操作系统将会收到报错。利用这个机制操作系统可以将不应执行的内存区域标记为NX,这样就可以阻止很多恶意程序的破坏行为。

目前AMD和Intel的CPU防毒技术都是针对Windows XP SP2所提供的DEP(Date Execution Prevention)进行设计的。在该操作系统中,我们可以针对单个程序设置其是否受到这种机制的保护。需要注意是,基于NX bit的防范措施只能避免部分恶意行为的侵扰,而不能解决所有的安全问题。

攻击者仍然可能猜出可以执行代码的位置,只是难度要有所增加而已,而没有正确编写的应用程序和系统软件,仍旧会留下安全隐患。毕竟究其本质,NX bit只是在硬件层提供了一个保护机制而已。而任何安全设施没有被正确使用的话,都不会获得正确的结果。

主板集成的硬件防火墙

为了给单机用户提供更强大的安全防护能力,也为了为系统减轻负担,nVIDIA在推出其之一代64位主板控制芯片NF3 250Gb时,在其中集成了硬件防火墙功能。这项功能随后又被加入到NF2 Ultra 400 Gb中,之后推出的NF4 Ultra也包含了这项功能。以NF4 Ultra为例,其防火墙管理软件被集成于驱动程序之中。如果决定使用该防火墙,可先将当前机器上所安装的防火墙软件禁用。

有32位和64位的区别

32位的CPU只能安装32位或者16位系统

64位CPU可以安埋早装弯大雀64位,32位,16位的系统仿丛

XP系统有32位和64位之分

64位瞎判处理器不一闷蠢定非要装64位系统。因为现在64软件蚂神陪游戏都不多

有指型32位和64位的局链区别

32位的CPU只能安装32位或者16位系统

64位CPU可以安装64位,32位,16位的系唯腊猜统

linux 64位运行32位程序的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于linux 64位运行32位程序,Linux 下如何运行 32 位程序的 64 位版本,linux运行命令时出现wrong ELF class: ELFCLASS32错误提示,操作系统分64位和32位的吗?的信息别忘了在本站进行查找喔。


数据运维技术 » Linux 下如何运行 32 位程序的 64 位版本 (linux 64位运行32位程序)