Linux系统是由什么语言编写,安卓为什么是由Linux开发?

C写的


linux用C语言和少量汇编语言写的,至于为什么要基于linux,可能开发者希望让安卓更快速的建立生态系统,毕竟原代码开放,又有谷歌当金主


Linux系统是基于unix发展而来的,底层是由C语言编写的


你也可以从win基础上开发一个好用不好用别人我用不用就另说了,,


c语言


Linux是由c语言编写的,安卓操作系统分为安卓系统和Linux内核两部分,安卓系统上有java虚拟机,用户软件运行在java虚拟机上。


linux由c开发,安卓底层内核其实就是linux内核


先回答你第一个问题。Linux包括内核和组件系统。主体内核大部分是用C语言编写的,还有部分是用汇编语言写的,因为对于硬件上,汇编有更好的性能和速度。Linux的一些组件系统和附加应用程序是用C、C++、Python、perl等语言写的。

第二个问题。任何系统都需要内核。Android本质上是一个基于Linux内核上面运行的java虚拟机。LINUX小巧,开源,成熟,安全是被安卓采用的原因。


汇编语言和c语言编写的

Linux是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。它主要用于基于Intelx86系列CPU的计算机上。这个系统是由全世界各地的成千上万的程序员设计和实现的。其目的是建立不受任何商品化软件的版权制约的、全世界都能自由使用的Unix兼容产品。

安卓为什么用Linux开发

因为是个系统就需要内核。Android本质上是一个基于Linux内核上面运行的java虚拟机。

手机上WM系统内核是WinCE,Symbian系统里面Symbian就是内核,Nokia的S60系统这个S60就是界面+功能函数库。索尼爱立信之前的几款手机也有Symbian的内核,但用户界面是UIQ。

Android不过就是借助了Linux内核作为系统的基础,配合自己的Andriod基础二进制函数库和一些开源软件作为基础功能支持,跑上自己的Dalvik虚拟机,实际看到的Android界面,其实是Dalvik虚拟机里面运行的java程序。

Android=Linux内核+功能函数库+Dalvik虚拟机+java程序

从系统的开发分层和难度来说,既然有了开源的Linux,为什么还要自己去开发内核?就好象大家玩的一些游戏,有Windows系统可以直接跑,没有几个厂家会去重新开发底层系统。就连游戏机,其实他的操作系统和功能库也都是现成的,游戏开发者只需要根据系统的功能写程序就可以了。

这样很好的减少了开发难度和成本。


从事软件开发多年,而且大多数情况都是在linux完成代码的编写,自从第一次接触linux之后就再也离不开了,目前linux系统主要用在服务器端以及开发者使用,针对消费者的大众这块还是非常稀少,linux内核的代码主要是C语言和汇编两种编程语言完成,C语言本身语法没有那么复杂,但灵活性极强非常适合性能要求极高,所以很多性能要求的系统都喜欢用C语言来完成。

linux社区已经是开源社区里面祖师爷级别了,很多开源项目也都是基于linux开发的,linux衍生的产品线在全球范围内还是非常众多,国内很多系统国产化其实很多都是开源的linux来完成的,linux在服务器端占比已经占据绝对性的优势了,而且在客户端的占比也不低,安卓系统本身就是嫁接在linux上一套移动操作系统,对于linux内核做了一定程度的定制,使之能和安卓系统无缝对接,准确来讲安卓不是由linux开发,安卓本身编程语言是C++,java,C语言多种开发语言完成的,C语言主要实现和操作系统对接的部分,C++主要作为安卓的早期代码,java不但参与到框架编写中还会参与到安卓的应用开发过程中。

安卓代码早期java参与到框架设计中的比例非常高,后期为了性能安卓已经慢慢向着C++迈进,毕竟用户对安卓性能的要求越来越高,早期的安卓系统经常性的出现假死状态,谷歌在这方面下了很大的力气一直在持续的优化过程中,加上本身硬件一直在提升,加上手机厂家也在持续不断的努力,华为三星高端的手机的体验上已经不弱于苹果手机。前阵子华为因为美国的实体清单已经变相的把安卓系统一些优劣宣传了一下,同时华为推出的方舟编译器也是针对java系统解释性语言进行优化,也是推动安卓性能提升一个重要措施。

安卓属于宏内核架构,所有的部件都集中在一起调配,随着手机功能提升不断提升,外围的部件越来越多宏内核架构已经显示出来不足的之处,苹果的手机之所以在性能上好于安卓系统,很大一部分原因是采用的微内核和宏内核互相结合的方式,从架构上区别于安卓系统,最新的华为鸿蒙系统也是采用微内核的架构,对于操作系统来讲编程语言只是工具而已。

不懂的外行觉得懂很多编程语言就是高手的体现,实际情况并不是如此,编程思想和编程框架才是软件框架的关键,编程语言的差异在于语法,像操作系统这种大的工程已经远远超过编程语言的限制了,安卓系统是在正确的时间点推广出来的,开始推广之初性能不是最好的,但一直在加强维护升级,逐渐在性能上距离苹果系统近了,但由于本身集成的功能越来越多,在未来性能也是很大的一方面,对一个初级的程序员来讲,首先从基础的编程语言开始入手解决问题,也是无可厚非的事情,希望能帮到你。


原始地址:/zhishi/565.html