linux 构架?linux常用软件官网
今天给各位分享linux 构架的知识,其中也会对linux常用软件官网进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
请问运行于不同CPU构架的linux,它们的软件可以通用吗
以上回答中jiangtao9999的比较靠谱儿。
是这样:
1、Linux下的软件几乎都是c语言的;
2、如果你学过C语言,找找书应该有这样一个概念:ANSI C,这个是一个C语言的标准,比如printf这个函数就属于标准库(也就是符合ANSI标准的)函数
3、假如你编写了一个软件,代码中仅仅包含ANSI的库函数,那么没有问题,只要是支持C语言的平台,都能正常运行,即:编写了一个简简单单的helloworld到哪里编译运行都没有问题。
【前提是:】编译再运行,不编译就运行是不可以的,比如printf函数在各种架构上的实现方式是不可能相同的,所以需要在arm的编译器上再编译一遍才可以。否则运行不了。
有的软件平台可以不用编译,直接运行,比如jiangtao9999说的java、Python什么的,Java可以实现“一次编译,满哪运行”什么的,而Python则是有了.py源代码就可以无敌了,使用的时候不用你去执行编译命令,直接执行即可。arm上实现这两种语言都是很容易的——下载源代码、编译、安装即可。
4、不同架构的Linux平台都要实现一个编译器,这是很重要的,有了编译器,才可以从源代码安装软件。
5、使用非ANSI库中的函数需要该Linux包含这个函数的实现,否则,编译后的连接将不通过,比如一个软件使用了GTK来实现图形用户界面,那么就需要系统中包含了gtk的库函数,这就叫依赖,安装软件,首先要解决依赖,依赖有时候解决起来很麻烦,所以软件开发过程中尽量减少依赖,这样方便安装。
6、tar.gz这种格式的软件包有可能是源代码,有可能是可执行文件(这是因为那只是一个压缩包,内容是什么不一定),这两者不同。很多软件以tar.gz格式发布源代码,而qq的Linux版本属于可执行文件,在几乎所有Linux平台下面直接双击或者通过命令就可以使用。
7、如果你使用的是rpm包或者deb包或者是tar.gz文件包中可执行文件形式的软件包,而不是tar.gz这种形式的源代码,你需要使用相应的软件包管理器安装就行,
但这不意味着arm版本的deb和x86版本的deb文件是通用的,你能这样用是因为所有的使用x86机器的软件经过编译或者交叉编译(在arm平台上编译x86平台上的软件就叫交叉编译)以后,运行于几乎完全一样的统一的平台上,实现软件和系统的无缝对接,方便了用户——一方面可以不用浪费编译的时间,主要还是方便了那些不会编译软件的人。
8、我也正在学习Linux,所以很多地方不太对,这只是我现在的一些理解。jiangtao9999说的主要是和汇编有关,如果代码的实现主要是在c语言水平,那么就会由编译器屏蔽掉指令集和寄存器什么的。
9、要是在百度回答的答案能改改就好了,这样错误就会少一点。
10、重新罗嗦一遍:
1在不重新编译源代码的情况下,x86下linux的软件不可以运行于arm构架的Linux,即使运行也会奇卡。
2和在编译是否时为X86的CPU构架优化了编译无关。(把我问迷糊了,估计是无关)
3软件在编译时是否为X86的CPU构架而优化主要看作者了,资料可以参看
4和不同的安装包格式有一定关系
5tar.gz格式的软件包不能保证在不同架构的Linux都能运行
6在arm的linux安装时解决依赖以后,乳沟编译通过基本是没什么问题的
7不是所有源代码在arm和x86下编译一下就可以了,还需要做一些努力
8有源代码可以对遇到的不通过的问题逐一解决,理论上可以实现所有软件都能运行
9重新编译过程中如果遇到依赖问题需要逐一解决
Linux系统应用在哪些领域
与Windows操作系统软件一样,Linux也是一个操作系统软件。但与Windows不同的是,Linux是一套开放源代码程序的,并可以自由传播的类Unix操作系统软件,随着信息技术的更新变化,Linux应用领域已趋于广泛。
1、IT服务器Linux系统应用领域
如今的IT服务器领域是Linux、Unix、Windows三分天下,Linux系统可谓是后起之秀,尤其是近几年,服务器端Linux操作系统不断地扩大着市场份额,每年增长势头迅猛,并对Windows及Unix服务器市场的地位构成严重的威胁。
Linux作为企业级服务器的应用十分广泛,利用Linux系统可以为企业构架www服务器、数据库服务器、负载均衡服务器、邮件服务器、DNS服务器、代理服务器、路由器等,不但使企业降低了运营成本,同时还获得了Linux系统带来的高稳定性和高可靠性。
随着Linux在服务器领域的广泛应用,从近几年的发展来看,该系统已经渗透到了电信、金融、政府、教育、银行、石油等各个行业,同时各大硬件厂商也相继支持Linux操作系统。这一切都在表明,Linux在服务器市场的前景是光明的。同时,大型、超大型互联网企业都在使用Linux系统作为其服务器端的程序运行平台,全球及国内排名前十的网站使用的几乎都是Linux系统,Linux已经逐步渗透到各个领域的企业里。
2、嵌入式Linux系统应用领域
由于Linux系统开放源代码,功能强大、可靠、稳定性强、灵活,而且具有极大的伸缩性,再加上它广泛支持大量的微处理器体系结构、硬件设备、图形支持和通信协议,因此,在嵌入式应用的领域里,从因特网设备到专用的控制系统,Linux操作系统都有很广阔的应用市场。特别是经过这几年的发展,它已经成功地跻身于主流嵌入式开发平台。例如,在智能手机领域,Android
Linux已经在智能手机开发平台牢牢地占据了一席之地。
3、个人桌面Linux应用领域
所谓个人桌面系统,其实就是我们在办公室使用的个人计算机系统,例如:Windows XP、Windows
7、MAC等。Linux系统在这方面的支持也已经非常好了,完全可以满足日常的办公及家用需求,例如:
浏览器上网浏览。
办公室软件处理数据。
收发电子邮件。
实时通信。
文字编辑。
多媒体应用。
虽然Linux个人桌面系统的支持已经很广泛了,但是在当前的桌面市场份额还远远无法与Windows系统竞争,这其中的障碍可能不在于Linux桌面系统产品本身,而在于用户的使用观念、操作习惯和应用技能,以及曾经在Windows上开发的软件的移植问题。
b/s和c/s两种构架分别指的是什么
B/S结构是Browser/Server的简称,指浏览器/服务器模式。这种模式只要客户机上安装一个浏览器,如Internet Explorer,服务器安装Oracle、MYSQL等数据库。浏览器通过Web Server同数据库进行数据交互。
C/S结构是Client/Server的简称,指客户/服务器模式。它是软件系统体系结构,通过它可以充分利用两端硬件环境的优势,将任务合理分配到Client端和Server端来实现,降低了系统的通讯开销。目前大多数应用软件系统都是Client/Server形式的两层结构。
扩展资料:
C/S与B/S区别:
1、硬件环境不同
C/S一般建立在专用的网络上,小范围里的网络环境,局域网之间再通过专门服务器提供连接和数据交换服务。
B/S建立在广域网之上的,不必是专门的网络硬件环境,例如电话上网,租用设备。信息自己管理。有比C/S更强的适应范围,一般只要有操作系统和浏览器就行。
2、对安全要求不同
C/S对服务端、客户端都安全都要考虑。B/S因没有客户端,所以只注重服务端安全即可。
3、对程序架构不同
C/S程序可以更加注重流程,可以对权限多层次校验,对系统运行速度可以较少考虑。
B/S对安全以及访问速度的多重的考虑,建立在需要更加优化的基础之上。
4、软件重用不同
C/S程序可以不可避免的整体性考虑,构件的重用性不如在B/S要求下的构件的重用性好。
B/S对的多重结构,要求构件相对独立的功能,能够相对较好的重用。
5、系统维护不同
C/S程序由于整体性,必须整体考察,处理出现的问题以及系统升级难等问题。可能是再做一个全新的系统。
B/S构件组成,方面构件个别的更换,实现系统的无缝升级。系统维护开销减到最小。用户从网上自己下载安装就可以实现升级。
6、处理问题不同
C/S程序可以处理用户面固定,并且在相同区域,安全要求高需求,与操作系统相关。应该都是相同的系统
B/S建立在广域网上,面向不同的用户群,分散地域,这是C/S无法作到的。与操作系统平台关系最小。
参考资料来源:百度百科-C/S结构
参考资料来源:百度百科-b/s结构