专栏首页程序员互动联盟Linux系统是由什么语言编写,安卓为什么是由Linux开发?

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

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

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

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

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

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

本文分享自微信公众号 - 程序员互动联盟(coder_online),作者:大学生编程指南

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-11-30

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 学习Linux,不停的敲命令真的能起到很好的作用吗?

    学习任何编程知识都是循序渐进的过程,只靠单方面的练习很难系统的掌握,学习编程是一个体系工程,剑走偏锋的做法不一定是最佳的,自学编程的人一般能坚持完前三个月后边就...

    程序员互动联盟
  • 同样的内核,为什么linux干净稳定,而android臃肿又乌烟瘴气?

    有幸在linux以及安卓框架上研究过几年,现在就这个问题发表点个人意见,安卓底层操作系统算是定制版的linux内核,但有个非常明显的区别,安卓只是用到了linu...

    程序员互动联盟
  • 更新完miui11是不是有可能有些游戏就不能流畅的玩了

    一直是小米手机的忠实粉丝,小米已经不是早期的巅峰状态了,已经慢慢进入了积累期,这是任何企业都需要经历的过程,毕竟从开始的高速发展,需要一段时间在技术上进行积累,...

    程序员互动联盟
  • PK公有云,私有云存活至今的几大理由

    思科云全球使用情况指数调查显示,到2020年底,68%的企业工作负载将会搬到公有云上,其他的将在私有云中完成,云计算使用总量将达到92%。既然公有云如此受欢迎,...

    静一
  • 科普:什么是公有云、私有云和混合云?

    在上一篇《什么是云计算》发表之后,很多小伙伴表示终于知道到底什么是云计算了,能够帮到大家真的很开心。

    Java3y
  • 公有云或将遭遇败退 这到底是真是假?

    大家在沉浸于新技术带来的便利时,有没有思考过与云计算服务相关的以下几个问题? ? 以规模化方式开发云应用会带来非常高昂的运营成本,但这部分成本到底会不会超出内部...

    静一
  • 性能项目到底要不要调优?

    昨天写了《性能分析到底是不是性能测试工程师的能力?》之后,又引发了我微信群里的新一轮讨论。总结如下:

    高楼Zee
  • 7DGroup 简介

    高楼Zee
  • Maven详解(七)------ 创建Web工程以及插件原理

    1、什么是 Maven 插件?   上一篇博客我们讲了 Maven 的生命周期,我们知道 Maven 的核心是生命周期,生命周期指定了 Maven 命令执行的流...

    IT可乐
  • 性能调优攻略

    关于性能优化这是一个比较大的话题,在《由12306.cn谈谈网站性能技术》中我从业务和设计上说过一些可用的技术以及那些技术的优缺点,今天,想从一些技术细节上谈...

    小小科

扫码关注云+社区

领取腾讯云代金券