六安沧州西安三亚宝鸡菏泽
投稿投诉
菏泽德阳
山西湖州
宝鸡上海
茂名内江
三亚信阳
长春北海
西安安徽
黄石烟台
沧州湛江
肇庆鹤壁
六安韶关
成都钦州

如何开发一个全新的操作系统手机操作系统

  为什么80的码农都做不了架构师?amp;gt;amp;gt;amp;gt;
  首先个人文笔有限,并不是专业写文章的人,同时知识面也比较局限,以下只是个人对这个问题,在日常闲余时间去对这个问题进行的一些探索总结,如有疏漏不足望客官海涵。这是系列文章,后续我会持续记录。好现在来聊聊这个问题。
  如何开发一个全新的操作系统呢?这个是很大的问题,很多人在很多时候都会想到这个问题。
  前段时间我又想到这个问题,同时在网络上进行初步查找资料,以期望来得到这个问题的答案。在查找过程中,首先找到的不是如何开发的具体思路与方法,而是为什么做一款操作系统那么难?这个文章在开源中国也有,有兴趣的朋友可以看看。我对这个文章的总结理解就是做一款操作系统非常耗钱,如果不能商业化,就算做出来也是活不来的。就文章里的观点我就不评论了,有没有必要再去开发一个全新系统也不讨论了,当然做系统难肯定是难的,而一直以来能让我们可以做选择的,无非就是做与不做的选择。如果我们选择就为了个人乐趣做一个操作系统呢,可行吗?在我看来没有答案,只有做了才知道。当然很多人会说一个人是做不了这个事,需要团队,这一点我也不否认。
  好回到主题,那么如果要开发一个操作系统要如何做呢,首先我整理了一下现有成熟操作系统派系,Windows、Unix,其他或许还有但是大多数人估计听都没听过,就不特意去深入叙述了。WindowsPC机的王者、Unix派系的系统就五花八门了,比如苹果的MacOSX、iOS啊,知名的Linux啊,以及基于Linux衍生各类系统,移动端知名的就是安卓系统。这个话题衍生下去内容也很多,这也不是我们要关注的点。因此只是有个大概的了解就可以了。这些系统都是如何开发的呢,或者简单点问是用什么语言开发的,在网络找到最多的答案是C语言汇编语言。我们姑且相信这是真实的答案。那么有了这个答案后,后面就有新的问题,有了语言用什么工具呢,有了工具如何调试呢?带这这个问题我开始新的探索之路。
  C语言是一门通用计算机编程语言,广泛应用于底层开发。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。这个是百度百科里的介绍,同时下面有给我们整理了对应的编译器、集成开发环境。
  编译器
  GCC,GNU组织开发的开源免费的编译器
  MinGW,Windows操作系统下的GCC
  Clang,开源的BSD协议的基于LLVM的编译器
  VisualC::cl。exe,MicrosoftVC自带的编译器
  集成开发环境
  CodeBlocks,开源免费的CCIDE
  CodeLite,开源、跨平台的CC集成开发环境
  OrwellDevC,可移植的CCIDE
  CFree
  LightTable
  VisualStudio系列
  那么有这些,我们是不是先要学会C语言跟这些工具呢,然后就可以开始开发系统了?当然不是,首先我们要理解什么叫操作系统。这方面的资料又是海量的,需要大量的时间去了解,但是我在这里归结两个点,第一个点操作系统是一个集合体,是有很多子程序组合而成的。第二点目前的操作系统都是可以兼容很多不同的硬件环境。为什么只提这两个点呢,因为通过这两个点可以帮助我们判断很多事情。第一件最重要的事,我们要开发一个怎么样的操作系统,是大而全,还是小而美的系统,大而全自然工程量会几何性的增长。第二件事就是既然操作系统是集合体,我们能不能先开始搭建最重要的子程序,先搭建一个框架的问题。目前手机成为了生活息息相关的必须品,未来还有各种智能设备会出现在人们的生活中,目前这些设备都基于Linux系统去开发的居多,比如:OpenWrt项目。题外话:同时我也搜索到另外一篇文章叫为什么谷歌会从零开始构建一个全新的操作系统?,同时我也搜索了下国产操作系统发展,得到大多就是以Linux为基础二次开发的操作系统。同时得到一个有趣的现象就是公司倒闭了,所有的努力过的东西就这样随风而去,没有留下可以让其他人可以追寻的脚印,让更多的国人对如何开发一个操作系统更多只停留在想象上,无从入手。
  基于上面两个总结,以及自身的能力做出判断是,想朝开发操作系统踏出第一步,需要先想好做一个怎么样的操作系统。未来最火热的是什么,手机?好就手机,当然我们做的系统最好也能在这些小设备上、比如路由器啊、智能音响、家庭投影啊等上面运行,未来物联网是趋势,终极目标是可以在手机上运行。好现在目标有了,我们来分解下难度,首先就目前安卓手机配置五花八门,连安卓也是需要厂商自行适配调整,而它的对手苹果就纯粹得多,只支持自家定制的配置。而回到我们自己这里,那么我们不可能一开始就制作一个兼容性很高的操作系统,我们要先尝试做一个就支持固定配置,然后预留拓展功能的系统。方向目标都有了,那就到了如何去实现上了。
  上面我们去了解了操作系统的原理啊,发展史啊等等信息,归结到底在与硬件与语言的配合,这里就有个新问题,我们也使用C语言和汇编语言吗?这两种语言已经很古老的语言,但是目前底层还是使用这两种语言开发,同时我们如果使用C语言跟汇编语言,这是站在巨人的肩膀上啊,毕竟这两种语言是经历过岁月沧桑论证的,用不用呢,我的选择不用,因为我们本身就是来尝试一个新事物的。能改变的就去试试改变,或许改着改着就有新的变化呢。
  那么如果创造一门语言呢,这又是一个大话题,网络上有句玩笑就是编程语言很多时候就是某个无聊的牛人在某个圣诞节的半夜闲得无聊折腾出来的,因此我继续我的探索之旅,看看编程语言相关知识,编程语言分为大致是命令式语言、函数式语言、逻辑语言和面向对象的语言(实际上还有很多不同的划分版本),那么C语言属于什么呢,就我看来C语言属于命令式语言也可以称为过程式语言,通俗点理解就是,比如把大象放进冰箱分几步,这个过程的实现在C语言上面体现就按照步骤一个步骤一条多条语句来实现一整件事,按顺序来写,而汇编语言呢?汇编语言属于符号语言,什么是符号语言呢,这个要先说起计算机基础知识,机器语言,机器语言是谁能理解的呢,CPU,简单点说就是我们给CPU下个指令。这个指令是一串二进制码类似这样1000100111011000机器指令而这些二进制码是谁定义的呢,CPU生产商吗,是也不是,因为CPU又分阵营也有理念冲突,也有需求冲突的,因为这些冲突大致分成两个派系CISC(复杂指令集)、RISC(精简指令集计算机)具体的知识点就不展开细说了,我们只关心我们自己的,我们的目标需要用到的是RISC(精简指令集计算机),因为市面上的手机大多数都是用这个指令集的CPU,而汇编语言就是例如movax,bx等汇编指令,通过汇编的翻译器会转换成一条条的机器指令然后让CPU来执行,首先我不知道现在那些开发系统的牛人们还在使用汇编语言不,还是已经把汇编语言整合进新的开发语言里进去了,这个不得而知,反正我就知道汇编就干了这个活就好了。
  好两种基础语言了解完了,我们来了解下跟我们有关系的东西,那就是CPU指令集,既然要做当然要做支持最新的指令集是最好的,因为本身我们没有实力去生产CPU,这个是我们个人力量无法去改变的东西,好我们里来看看我们的手机,苹果手机CPU,哇塞自己设计让人代工生产,好吧我们搞不了,里面指令集怎么样的我们更无所得知,这路走不通了,那我们来看看安卓手机,小米、OPPO、VIVO、华为比较常见,一看手机CPU,两种居多,高通、联科发。再来看看这两家公司最新CPU上用的是什么最新指令集呢,一家牛逼的公司映入眼前:英国Acorn有限公司简称ARM,然后到官网找找最新指令集ARMV8指令集,还分ARMV8A、ARMV8R、ARMV8M,后面的先不管,我们就认准了ARMV8A指令集。好了他们的CPU就认这个指令集里的指令。等于我们首先要去学习这个指令集,否则后面啥也做不了。
  好些的问题出现了,如果学习ARMV8指令集呢,光靠看书肯定不行,需要实践调试,那么如何调试呢。这个就涉及到新的领域,ARM开发板的知识面,那么第一个想法是能不能把身边的手机啊、路由器拿来调试呢,答案是可以,但是先别高兴,前提是你有对应的设备的一些资料,没有对应的硬件资料,还是行不通的。于其去研究这些设备硬件,不如想找找有没有提供这些资料的开发板类似的东西卖。那要买个怎么样的开发板才适合我们目前的状态使用呢,这个又要先了解下这些硬件是怎么样植入系统的,或者说刷入系统的,就我目前找到资料显示,一般性的手机也好,其他小设备也好,本身在没有系统的时候,内部先有一个bootloader,类似PC机子上的BIOS,是最底层的引导软件,一般都是由硬件生产商写入的,简单的说,bootloader就是在操作系统内核运行前就运行的一段小程序。这段小程序可以初始化必要的硬件设备,将系统的软硬件环境带到一个合适的状态,并从外部存储器或通过网络等通信方式加载内核,创建内核需要的一些信息并将这些信息通过相关机制传递
  给内核,最终调用操作系统内核。因此我们需要买一个开源bootloader的,支持最新ARMV8A指令集、相关其他资料也公开的开发板。市面上有没有,我正在找,同时也在找这方面行业的朋友。如果你是从事这行业的可以评论留言给我。谢谢
  目前探索到这一步,同时附带购买了一些书籍来补充对应一些点上的知识,比如汇编语言是如何设计的等等为后续做准备,后面有新的进展,再来文记录。
  2018年11月02日中国义乌随笔

乒乓与我我在很久以前就喜欢乒乓,但因为家里没有乒乓球和球板,所以一直没机会打乒乓球。但在年初的时候,我向妈妈提出了要求,妈妈给我买了乒乓球和板。我总算有了一个机会。但是我并不会打……衢州文博会征文这是一代又一代人的坚守历史的潮水一浪接过一浪,无论是一张张单薄的纸张,还是一件件精美绝纶的工艺品,都体现了文化的传承。穿梭于文博会一个个主题之间,我深深感受到了衢州传统文……真心谢谢你世界上有一种最美丽的声音,那便是母亲的呼唤。母亲的爱是伟大的、无私的、忘我的、不计回报的。记得我有一次吃坏了肚子,半夜吐了。我把枕头上、被子上、自己的头发、衣服上吐得全是……爬天目山这个假期爸爸带上我一起去爬天目山。我们一家人和爸爸的朋友一家结伴而行。初入天目山的大门,映入眼帘的是一座寺庙禅源寺。这也是一座古老的寺庙,已有几百年的历史,只是在抗日战争……激动人心的时刻我抓住了,我抓住了那是一个激动人心的时刻。每当我给弟弟玩这个愤怒的小鸟型的玩偶时,我就会想起那个在我脑的,我海中久久不能忘去的事那是一个碧空万里的早晨,我怀着兴奋的心情,……未熄掉的灯现今,我们这代孩子承受着不符合我们年龄的压力。想到爷爷奶奶口中讲述的那撒欢儿的欢快童年,着实望尘莫及。一天天做着两点一线的工作学校、家,学校、家。更有那永无止境的课外班,使我们……丰收的喜悦秋姑娘悄悄地来到了人间,她带来了丰收的喜悦。这天秋高气爽,妈妈决定带我到外公家去挖番薯。我们来到了外公家,我拿好锄头、镰刀等工具迫不及待地来到了番薯地里。开始挖番薯啦!外……可爱的仓鼠我最喜欢舅舅家的两只小仓鼠,它们非常可爱。小仓鼠浑身长满了棕色的毛。它有两只尖尖的耳朵,耳朵下面有一双小小的眼睛,就像小豆子;鼻子下面有一个动个不停的小嘴巴,好像吃个没完……我最喜欢的玩具今天教室里成了玩具商场,同学纷纷带来了自己最喜欢的玩具,有毛绒绒的娃娃、炫酷的枪、还有有趣的音乐盒我带的是音乐盒,它的外形象一头鱼尾狮,是铁皮做的。它长着一双乌黑的眼睛炯……二十年后回家乡二十年后的家乡是什么样的?那时的家乡一定进入了高科技时代。我正从我自己组建的宇宙保卫基地回来。因为我们刚刚与宇宙毁灭者进行了一场决斗,并消灭了他们。我的心情十分愉悦,决定……情与理陕西一考生现实世界申,理智往往容易被情感淹没,那么,怎样才能驾驭住自己的情感呢?题记理智,是一朵花,盛开于智慧的春风申;情感,是一阵雨,常常将这一朵花摧残。情……男生表白的歌曲有哪些我想大声告诉你樊凡夜深了我还为你不能睡黎明前的心情最深的灰左右为难的你不知怎样去面对我能做的只剩沉默体会爱情是让人沉溺的海洋孤单的时候想要去……
考试成绩出来后一天,听说数学考试成绩要出来了,我有一些恐惧了,因为害怕考试的成绩会特别差,但是我还是壮着胆量勇于挑战的了,可还是有些恐惧。早晨,我刚到学校的时候,同学们纷纷地把我围起来……带给我温暖的你温暖?什么叫温暖?一句话的温暖,一束花的温暖,一杯茶的温暖。不!是你带来的温暖马俊杰!学校一年一度的冬季运动会来啦!天气虽寒冷,但大家的心是温暖的。前面几个班比赛结果都蛮……小小动物园我的家是一个小小的动物园,里面居住着许多动物,且听我一一道来。我的妈妈是一只阳光鸡,每天早上都会用打雷般的鸣叫声叫醒我。在我算口算题的时候,她总是边炒菜,边对我高歌:写慢……小学生爱心义卖口号4。赠人玫瑰,手留余香。5。只要人人都献出一份爱,世界将变成美好的人间。6。种下一棵树,收获一片绿阴;献出一份爱心,托起一份希望。7。众人捐善款,爱心洒满城。……男生谈恋爱技巧男生在恋爱中的技巧aclasstaghrefwiki10455IHtPFf325。html男生a谈恋爱技巧男生在恋爱中的技巧1。hr女朋友问你为什么喜欢她的时候就说她因为她是xxx……秋季海鲜味美小心副溶血性弧菌来添乱秋季海鲜品种丰富,肥美新鲜,海鲜爱好者们又可以一饱口福了。不过,大快朵颐之际,需要当心海产品中常见的一种细菌副溶血性弧菌!一旦中招,喷射性水样便的滋味可不好受!副溶血性弧……老人后仰洗头易中风河北医科大学附属哈励逊国际和平医院神经内科主任医师朱建国教授称,大部分老人都有颈椎退行性病变,脑供血自然不足,后仰洗头时,会过度扭曲颈椎,引发椎动脉痉挛,从而引发动脉出血,导致……儿童感冒对待小儿感冒注意别犯五个错误感冒对于孩子来说是非常常见的,就是成人一年中也免不了得几次感冒。根据观察显示,一个孩子在一年内往往会反复发生多次感冒,尤其是婴幼儿和学龄前儿童容易感冒。有些父母在对待小儿感冒及……易胖体质总是很难瘦怎么办你是不是总觉得自己连喝水都胖,而别人任凭怎么胡吃海喝却还不见长肉?这个其实跟体质有关,难道你天生就是易胖体质吗?其实不然,下面就跟小编一起来看看易瘦体质养成法吧!下面我们……煤气中毒需要注射什么药物一般的煤气中毒急救措施,只是针对于没有专业医护人员在场的情况下,一般人所能采取的一系列抢救患者的行为。而对于专业的医护人员来讲,他们又将会对病患做出哪些相应的治疗措施呢?请您与……厨房会有黄曲霉毒素吗曲霉毒素是曲霉属霉菌产生的复合毒素,特别喜欢污染那些储存不妥的坚果、谷物、餐点及某些其他食物,主要污染粮油食品、动植物食品等,如花生、玉米、大米、小麦、豆类、坚果类、肉类、乳及……老年人心脏病的预防方法随着年龄的增加,身体素质会越来越差。老年人组织器官的衰老会患上很多疾病,心脏病就是其中一种。心脏是人体比较重要的器官,主宰者机体的运转。要是心脏出现问题,老年人的身体健康就会有……
友情链接:易事利快生活快传网聚热点七猫云快好知快百科中准网快好找文好找中准网快软网