{eval=Array;=+count(Array);}

问答专栏Q & A COLUMN

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

fasssfasss 回答0 收藏1
收藏问题

9条回答

hedge_hog

hedge_hog

回答于2022-06-27 17:00

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

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

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

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

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

评论0 赞同0
  •  加载中...
_ipo

_ipo

回答于2022-06-27 17:00

汇编语言和c语言编写的

Linux是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。它主要用于基于Intel x86系列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 系统可以直接跑,没有几个厂家会去重新开发底层系统。就连游戏机,其实他的操作系统和功能库也都是现成的,游戏开发者只需要根据系统的功能写程序就可以了。

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

评论0 赞同0
  •  加载中...
894974231

894974231

回答于2022-06-27 17:00

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

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


评论0 赞同0
  •  加载中...
沈建明

沈建明

回答于2022-06-27 17:00

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

评论0 赞同0
  •  加载中...
陈伟

陈伟

回答于2022-06-27 17:00

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

评论0 赞同0
  •  加载中...
zxhaaa

zxhaaa

回答于2022-06-27 17:00

c语言

评论0 赞同0
  •  加载中...
Andrman

Andrman

回答于2022-06-27 17:00

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

评论0 赞同0
  •  加载中...
Reducto

Reducto

回答于2022-06-27 17:00

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

评论0 赞同0
  •  加载中...
asoren

asoren

回答于2022-06-27 17:00

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

评论0 赞同0
  •  加载中...

最新活动

您已邀请0人回答 查看邀请

我的邀请列表

  • 擅长该话题
  • 回答过该话题
  • 我关注的人
向帮助了您的网友说句感谢的话吧!
付费偷看金额在0.1-10元之间
<