游戏电视苹果数码历史美丽
投稿投诉
美丽时装
彩妆资讯
历史明星
乐活安卓
数码常识
驾车健康
苹果问答
网络发型
电视车载
室内电影
游戏科学
音乐整形

我想写一个自己的操作系统,比如Unix或Linux,最起码我

  Unix和Linux属于大型操作系统,凭个人之力,根本不可能完成。以Linux系统为例,它的版权人林纳斯。托瓦兹(Linux之父)是个天才程序员,没日没夜忙了差不多半年,写出Linux的0。01版,也就是初级版本,你猜源代码有多少?大概有1万行。
  Linux0。01版发布后,林纳斯和全球成千上万黑客(和现在喜欢在网上偷鸡摸狗的黑客不同,那时的黑客都是程序员大牛,主要以改进电脑软硬件性能为乐趣)一起修改完善。从1991年0。01版发布,到1994年Linux1。0正式版发布,三年时间,参与的程序员能轻松坐满一个足球场,你猜代码有多少行?一共17万多行。
  林纳斯。托瓦兹(LinusTorvalds),Linux系统之父。你的手机、你家的电视机顶盒、你常取款的ATM上的系统,都是基于Linux系统改造而来,没有这个人,就不会有现在的开源软件。
  除非你认为自己的编程天赋和勤奋努力程度能碾压上述大牛,那么可以试试以个人之力,写一个Linux级别的操作系统。
  更重要的是,当时还是486电脑当道的时代,操作系统远没有今天复杂,那怕是iOS和安卓这样的公司化运作的操作系统项目,也并没有从0写起,而是踩在前人的肩膀上爬梯子,iOS的内核是Unix,安卓系统的内核是Linux,苹果公司和谷歌公司在原有系统上改扩建,搞成了自己的东西。
  肯汤普森(KennethThompson),C语言前身B语言的作者,Unix的发明人之一,程序员们的祖师爷。
  当然,如果不是要写Linux这样的大型操作系统,就是想写来玩玩,比如搞个mini的,还是有可操作性的:建议从最基础的玩起,先写监控程序(操作系统的原型),仅具有加载程序和运行程序的功能。监控程序玩熟练之后,可以写用于单片机的微型操作系统,包含控制程序、编译器和简单的应用程序。个人要熟练写操作系统,大致说来需要具备下列素质:熟练运用C语言编程;会汇编语言;了解基本的硬件知识;会写硬件驱动程序;会软件架构设计;不过,上面这些都精通了,随便去互联网大厂拿个七八十万年薪的offer是分分钟的事,何苦自己折腾!
  也不是泼冷水,不同的操作系统有不同的应用领域,它是一个复杂的系统工程,只靠一个人的能力是无法实现的,精力能力都有限,需要掌握硬件,软件的知识非常广,例如,工程,通信,网络,个人等等,至今为止没有一个操作系统是一个人来完成的,也许你会破例。
  不请自来。
  要写操作系统,你需要的是大量基础知识,比如操作系统原理、保护模式、计算机组成原理、处理器架构、汇编语言、链接与装载等等。
  具体怎么BOOT启动,怎么跳20号地址线,怎么切换到保护模式之类就不说了,你需要对操作系统有个全面的架构设计,中断怎么响应,进程线程怎么调度,内存怎么管理,慢慢地,你会搞出一个操作系统雏形出来了,当然这里是指内核。
  等到这差不多了,重头戏来了,你要开发一些驱动程序,没错,那些硬件厂商可不会随便为新的操作系统开发驱动的(或者适配)。什么显卡驱动,什么文件系统(当然是创新的,不是NTFS,也不是EXT4之类),什么网卡驱动又要拜托你开发了。
  好了,经过多年不懈努力,假设你终于完成驱动层了。
  系统也跑起来没蓝屏了(假设内核吐核时有蓝屏)。
  好的,重头戏又来了,你这个操作系统还没有一个应用软件。比如上面没有Photoshop,没有Chrome,没有QQ没有任何软件啊,这可怎么办呢?那些软件厂商可不会随便为新的操作系统开发软件的(或者适配),咦,这句话好熟悉的感觉。
  对了,这就是所谓的操作系统的生态系统,现在,已经不是编程能力的问题了,你面对的,是海量的生态。
  能问这个问题,就代表你就写不出来了,不是打击你,建议放弃,浪费时间,你先看懂了Linux内核早期版的源代码后(网上有下载)再谈这个话题。
  操作系统也有大有小,有简单有复杂。大的如桌面级的,小的如路由器,单片机。
  所以你应该首先知道自己的第一步目标该怎么走了吧?
  别看大部头的教科书,那只会让你心态奔溃掉。
  先给自己一个小目标:搞定一个单片机或者把你自己的路由器搞定。
  汇编会吗?C语言呢?不会的话先从基础语言学起。这个难度不是太高,比较未来你是要搞定操作系统的大神。
  那开始从单片机开始吧,自己网上买点基础的开发板,这个也不贵。找些资料,代码也不多。网上买板子,很多资料会附送。
  到这一步,你就开始撸吧。实战才是转化脑动力的唯一途径。当你感觉撸的差不多干净了,就开始进入下一阶段吧。我相信经过这场实战,你应该已经干货满满。对未来充满憧憬。少年,向更高级别奋斗吧。
  每一阶段,你的朋友圈都会刷新一次。打入更高级别的圈子,与更高级别的大神们共同战斗。
  注意爱护自己的头发,它们总有一天会离你而去,因为它们在你那越来越聪明的脑袋上,压力越来越大。
  不要在这种问答类平台上混,那只会浪费你的时间,对于未来的男人,或者女人。时间就是生命。
  对了,把英语一定要学好。毕竟很多大神和资料都是英语的。
  相信自己,从现在开始,别放弃。翻过所有的高山,你会看到最美的风景一位只混到单片机级别就放弃的失败者忠告
  其实没那么复杂,我自己就写过一款Rtos,简单实现任务调度,任务间的通信,全部大概5000行代码,操作系统现在分为微内核和巨内核,像Linux实现了用户区和内核区隔开,内存机制需要Mmu支持,就非常复杂,想鸿蒙就实现了微内核,就做操作系统而言并不像外面人认为那样门槛高,熟悉普遍的操作系统的一些机制就可
  大家好,我是十年linux程序员,我认为:操作系统,说大可大,说小可小。
  往大了说,一个操作系统并不单单是一个操作系统,而是一个生态。在这个生态的后面,包含了芯片生产产商、底层内核软件提供者、还有各大发行版软件公司。这些公司构成了一个完整的生态,在不同的层面上支持了操作系统的健康、稳定的向前发展。
  但是往小了说,操作系统也没有那么神秘,因为它就是一个具有特权模式的应用程序。linux最新的源码因为加入了太多体系兼容的代码,比较复杂,所以,不太容易看的出来。但是如果真想自己写一个操作系统,可以参考linux0。11内核或者ucosII。
  linux0。11内核是linux的创始版本,里面都是linux的核心,而没有太多的驱动架构、KVM等非核心功能。所以,更适合研究、学习和模仿;而ucosII则更加精简,只有几十K,但是却具备了一个操作系统的所有功能,ucosII的内核体系结构如下:
  结合以上来看,如果要实现一个简单的操作系统,需要:实现中断部分,中断是系统的核心,时钟的产生需要中断,而时钟实现时钟部分,时钟是操作系统的心脏和脉搏。人无心脏则怠,操作系统无时钟则运不转;实现内存管理部分,这样程序才有了运行的载体。进程调度器,这是应用程序运行的基础存储文件系统(可选)外设驱动架构,如果你的操作系统要支持各种各样的外设,那么可能要为不同类型的外设编写不同的驱动架构或者模型,这个部分非核心功能,所以是可选的。
  以上这些功能都是操作系统的必要组成部分,如果要自己写一个操作系统,则至少要实现以上这些部分。坦白来讲,这个任务一点都不简单,你需要具备的知识:汇编知识(x86汇编和arm汇编不同)处理器体系架构知识(不同处理器,对中断等的实现是不同的)精通C语言(基于效率考虑,操作系统几乎全部都是C写的)精通操作系统知识,此处细节繁多,可参考任何一本关于操作系统原理的书籍
  总之,自己写一个操作系统挑战是很大的,如果是基于学习的目的去写一个操作系统,我认为是值得鼓励的;但是如果是基于商业的考虑去自己写一个操作系统,那么我认为是没有意义的。
  欢迎关注技术简说,带你由浅入深、一步一步学习linux内核源码。
  想要写一个操作系统的人大部分都是带着兴趣玩,毕竟现在主流的操作系统windows,苹果系统,linux系统属于目前比较常见的系统,其中linux内核属于开源可以看到其全部的代码,很多研究操作系统都是以linux为参考的模型,毕竟开源的代码研究起来也方便,但是对于个人来讲要去写一个操作系统难度可想而知了,曾经有个北京的同事已经工作了十几年主要的精力就是在研究底层,是个疯狂的linux内核研究者只要是是家里没事就会呆在公司加班研究linux内核,有时候一起吃饭讨论研究linux内核的主要在哪块,他讲到其实linux内核已经不是当初设计的样子了,现在的代码的更新速度之快让人发指,在全球范围内真正对于核心内核代码具备修改能力的非常有限,而且已经被国外巨头公司收到自己的公司作为储备资源。
  说到linux内核非常的关键代码就是内存管理,这块也是linux内核非常关键的代码,每次和同事一起讲到内存管理他就会两眼放光,曾经有一次公司组织让他给大家讲下linux内核的内存管理,结果一口气讲了3个小时中间没有任何的停歇,讲的大家都快睡着了他还在激情澎湃在讲着,说到内存管理他能一口气讲3天3夜,说到linux代码的贡献者,大部分可能是对一些驱动细节或者测试用例的提交,这些本身的技术含量不是很大但是需要遵守里面的代码规范,一旦不规范连基本的机器检测都通过不了,虽然看起来是开源的社区对于代码规范要求也是极其严格的。
  说到每次研究linux内核的心得,最大的快乐在于看懂一行里面核心代码的设计意图,能够看懂linux核心代码的为什么要这么实现就已经代表水平非常不错的人了,倒不是linux内核代码有多深奥,关键需要对于内核的工作原理以及常见的知识有足量的储备,当然如果长期跟踪代码实现的规律可能研究起来就比较顺畅了,如果短时间内想彻底的看明白还是存在非常大的难度的,所以想要研究一个linux内核的代码,建议现在linux内核社区浸泡一段时间,然后了解周围的基本知识,当然首先要具备一定程度的编程能力。
  对于操作系统来讲本质还是一个软件产品,但是又有其特殊性属于给别的软件产品提供开发的环境,所以对于硬件资源支配以及用户的行为最贴近的软件系统了,由于用户体验极强所以其开发语言需要在性能上极强,操作系统主要的开发语言有C语言和汇编语言,很多人在网络上喊着C语言已经过时了,这些都是只看到表面的现象,只不过底层的语言不像之前显得那么重要了,但是很多软件系统的底层还是离不开C语言,而且像操作系统这么繁杂的工程C语言也是主力军,可以预见在未来C语言在应用级别的开发在减少,但是对于底层的维护能力还是在加强,大家都跑去开发高级语言了,总得需要有人来维护底层的而且对于维护和修改能力还是非常高,真正掌握高技巧的C语言能力的人还是照样在编程市场拿高薪。
  由于操作系统功能太过复杂所以真要想要玩转linux内核建议看一本《linux内核完全剖析基于0。12内核》的书籍,专门抽取了早期的linux内核的版本在逐行讲解的一本书,里面详细的介绍了linux内核主要功能是如何实现的,以及为什么要这么去实现,但是由于历史太过久远不要企图和现在的linux内核做对比,中间优化迭代的版本太多了多的会让你怀疑人生,所以不要企图去了解其中的来龙去脉,还是先从基本的原理入手去解决,对于linux内核需要掌握的知识先从基本的编程语言和常见的操作系统运行的原理开始着手准备,希望能帮到你。
  首先你要活一百年,为什么这么说呢?我告诉你吧,windos系统一共有1亿行代码,而且还是全球5万开发人员花了5年才写出来的,如果你一个人想写出这样的系统至少需要100年的时间,而且你还得24小时不休息,这点你能做到吗?
  不过你想学习相关编程技术我建议你可以先学Java或者是C语言今后会对你职业生涯有帮助。
  恭喜你选择了一个光荣并且艰巨的任务!
  如果你纯粹是玩,这比较简单,网上很多教程讲到怎么构建一个操作系统,并且有很多开源的代码可以尝试阅读改写;如果要在实际中应用操作系统,形成一个产品,推向市场,这条路是漫长而艰辛的。
  现代计算机系统由一个或者多个处理器、主存、磁盘、打印机、键盘、鼠标、显示器、网络接口以及各种输入输出设备构成的。一般而言,现代计算机系统是一个复杂系统。如果每位程序员都不得不掌握系统的所有细节,那就不可能再编写代码了,所以计算机安装了一层软件,称为操作系统,操作系统既作为机器的扩展,面向用户提供抽象的功能,也管理计算机的软硬件。
  计算机的类型,操作系统可以分为大型机操作系统、服务器操作系统、多处理器操作系统、个人计算机操作系统、掌上计算机操作系统、嵌入式操作系统、传感器节点操作系统、实时操作系统、智能卡操作系统等。
  如果想要自己开发操作系统,首先要对计算机的硬件结构有大体的掌握,对处理器、存储器、硬盘、IO设备、总线有比较深刻的理解,熟悉进程、地址空间、文件、输入输出、保护、SHELL、系统调用等操作系统的基本概念,另外还要掌握数据结构和算法的基本逻辑。当然,懂汇编语言和C语言是必须的。
  在掌握这些之后,就可以开发操作系统了。
  第一,设计操作系统的目标。即为什么要设计这个操作系统,要解决什么样问题,用在什么地方,要具备什么性能,客户是谁。
  第二,功能模块的设计和接口的设计。编写一个操作系统并不容易,从接口开始是最好的起点,除了主要的系统调用接口,还有其他的接口。比如某些程序员需要编写插入到操作系统中的设备驱动程序这样的接口设计。
  第三、系统的实现。系统的结构,机制与策略、正交性、命名、绑定的时机、静态与动态的结构都是需要考虑的问题。
  第四、还要考虑系统的性能,考虑什么应该优化,空间时间的权衡,高速缓存、安全性等等。
  第五,考虑开发团队的管理与协调。带领团队开发操作系统。
  操作系统是大型、复杂和长寿命的程序。LINUX和WINDOWS操作系统的源代码有500万行,相当于16K,1000页厚的一本书,所以要开发一个产品级别的大型操作系统绝非易事。
  祝你在学习的路上不断成功,不断努力实现自己的梦想,实现人生价值。

巫启贤结过几次婚,巫启贤现在的老婆是谁巫启贤相信大家都不陌生吧,作为台湾有名的歌手,当年在台湾也算是红极一时了。而巫启贤除了在事业上成就不菲之外,其婚姻也是非常成功圆满了。其实巫启贤就结过一次婚,就是现在的老婆彭美……为什么袁泉要原谅夏雨,夏雨袁泉是怎么和好的袁泉是一个很优秀的女演员,她的老公是夏雨,但是很多人都说夏雨出轨了,那么袁泉为什么要原谅他呢?夏雨出轨是真的吗?现在我们一起来了解一下吧。娱乐圈有很多人都会出轨,而最后很……中国新说唱ice是谁,ice冰块真名个人资料简介喜欢看中国新说唱的小伙伴一定对ice有些映象,自从获得2018年《中国新说唱》全国总决赛季军之后,ice也开始受到网友们的关注,那么ICE是谁呢他真名又叫什么呢?关于ICE个人……演员王阳的妻子是谁,王阳个人资料简介《我就是演员》自从开播以后就备受追捧,我们在节目上可以看到很多演技精湛的实力派演员,演员王阳去年因为参加此节目可谓是圈粉无数,王阳虽然有着丰富的演艺经历但是一直处于不温不火的状……夏侯镔哪年出生的多大了,夏侯镔个人资料年龄介绍夏侯镔自从出道以来多在影视剧饰演硬汉的角色,做为半路出道的夏侯镔先后也为我们带来了很多经典的荧屏形象,而且生活中夏侯镔也是一个非常低调的人,对于生活中的个人感情从来没有向外界透……文苡帆几几年的多大年龄了,文苡帆个人资料简介女友是谁被扒新生代艺人文苡帆当年凭借着组合身份出道,后因为超高的颜值开始进入演艺圈发展,随着可惜不是你热播让文苡帆圈粉无数,不过大家对于文苡帆真实年龄以及女友是谁充满好奇,那么文苡帆生活中……韩童生老婆到底是谁,出道几十年至今感情生活成谜韩童生做为一名实力派老戏骨,出道至今已经出演了将近上百部影视剧作品,并且先后与很多女演员都饰演过荧屏夫妻,不过大家更为关注韩童生现实生活中的老婆到底是谁?目前这也是大家比较关注……山河令扮演蝎王的演员是谁,蝎王最后结局怎么样《山河令》这部剧虽说是耽改剧,但现在很受欢迎,可以说是爆款剧了。剧里的蝎王虽然行事果断和狠辣,但还一丝丝良心,这个角色真的挺圈粉的。据悉,蝎王的扮演者是中国内地影视男演员李岱昆……95后女歌手锤锤是谁,锤娜丽莎个人资料真名介绍《认真的嘎嘎们》节目中,第一个吸引眼球的角色是锤娜丽莎,锤娜丽莎的背景也成为了关注的焦点。据说她几乎已经成为女子团体的一员,几乎首次亮相,但最后黄了。锤娜丽莎的个人资料真名是什……爆料币安火币和OKX可能面临对俄罗斯的新制裁按市值计算的领先加密货币交易所币安可能会触发监管官员再次实施制裁。总部位于塞舌尔的交易所OKX和总部位于新加坡的火币也可能在全球观察名单上,因为新数据显示,这两家公司在过去30……李沁和孙怡是什么关系,李沁和孙怡的对比照竟然如此的相似这个世界上每个人的长相其实都是有自己特点的,但是,也是有很多两个人长相十分相似的。很多明星都会出现撞脸的情况。有些明星尽管是生活在不同的家庭,有不同的背景,但是他们的长相确实非……微软下一代Windows将于6月24日发布或有重大改变【CNMO新闻】微软上个月进行了最新Windows10的更新,改动相当有限。但如果是微软下一代Windows呢?改变会不会很大?最新消息显示,微软已宣布,公司将于6月24日发布……
爆料称腾讯视频海外版扫黑风暴无超前点播财经网科技8月31日讯,据新浪科技消息,近日有网友爆料,腾讯视频海外版播放的扫黑风暴,是没有超前点播的,也就是说买一次vip就行,不用再额外花钱,也不存在啥会员专属广告。不过腾……普通人如何触摸华为手机拍照天花板?网上冲浪的时候刷到华为2021新影像大赛开赛的消息,于是我顺着网线去欣赏了下往届大赛的摄影佳作,看完不禁让人惊呼,这还要啥相机?这些好作品里有许多都是使用旧机型拍摄的。今天就来……手机边充电边玩,消耗的电量是来自电池还是充电器呢?边充电边玩手机,消耗的电是手机电池,还是充电器?【实验结果告诉你】边充电边玩手机到底用的哪里的电?这个问题我是经过对多品牌手机进行反复测试后才得出的结论,这里告诉你……小米11Lite5GNE将于15日发布或搭载骁龙778G处理小米官方在9月11日发了一则推文指9月15日的新品发布会将发布新的小米11Lite系列,估计将会是小米11Lite5GNE!这场线上发布会将在9月15日8pm在各大小米官方平台……细数手机上那些华而不实的摄影功能,我先干为敬,你们随意首先声明一下,以下这些功能只是华而不实,但不代表一点用处没有,这就好比鸡肋,也不是一点肉都没有。再有就是有些功能太过超前,或许在将来会是一个发展趋势,但是目前的实用性并不是很高……黑科技普及化全面取消充电接口,iPhone13转向无线充电据媒体报道,苹果2021秋季新品发布会预计定档9月14日(北京时间9月15日凌晨),iPhone13充电口或被移除,采用了无线充电功能。有券商分析师认为,无线充电具备明显的便捷……水饮市场不断上新品数据来源京东大数据研究院让水饮回归本源杜秀萍气泡水、苏打水、无糖凉茶、膳纤饮料、运动功能饮料近年来,水饮市场不断上新,刺激着人们的味蕾,也兼顾健康和创意,满足……西部数据希捷日立东芝硬盘不识别快速判断问题维修和恢复数据生活当中我们的移动硬盘插上电脑USB没有然后反应也没有认到盘符时我们应该把耳朵贴到硬盘上面听一下是否巡道正常和异响。问题1如果有异响嘀嘀嘀或者哒哒哒的声音切勿再继续通电尝……为什么苹果手机电池小充电慢信号差价格贵,还这么多用户?第一,我看重颜值,苹果手机很漂亮第二,苹果卸东西卸得很干净第三,苹果页面也很简约第四,苹果有一些好用的小技巧很大一部分就是惯性使然。以前苹果领先太多,独……资本谋局,江湖变革随着改革、互助、合作,国内已经形成了广电与通信两大阵营的新媒体国家队。芒果TV中移动文体结合,国家队互助;B站、东方明珠中国电信深度捆绑,全面合作伙伴;用户、内容、5G成视频网……王校长一百万攒了个机显卡竟是最便宜的说起王校长,大家脑海中可能会冒出:娱乐圈纪委、王健林之子、IG战队老板、想你的液、热狗大亨等这样的专属词汇。但你知道吗?王思聪暗地竟然还是个DIY发烧玩家。近日,他就做了一件很……真我GTFlash新曝料骁龙888Plus双IMX7662021年8月3日晚,realme正式发布全球首个安卓磁吸无线充电技术:MagDart,与苹果推出的MagSafe技术有异曲同工之妙。MagDart的生态包含了50WMa……
友情链接:易事利快生活快传网聚热点七猫云快好知快百科中准网快好找文好找中准网快软网