helloioe7是什么oa系统是什么

从Hadoop到自主研发,技术解读阿里去IOE后的系统架构
发表于 21:17|
摘要:从IOE时代,到Hadoop与飞天并行,再到飞天单集群5000节点的实现,阿里一直摸索在技术衍变的前沿。这里,我们将从架构、性能、运维等多个方面深入了解阿里基础设施。
【导读】互联网的普及,智能终端的增加,大数据时代悄然而至。在这个数据为王的时代,数十倍、数百倍的数据给各个机构带来了无尽的机遇;然而,无可否认的是,数据体积的暴增同样前所未有的挑战着企业的基础设施。
在这个大背景下,各个机构不得不在控制好成本支出的同时,不停摸索着时刻激增用户数据的解决之道,其中阿里的成绩无疑令人艳羡——单集群规模5000+的飞天,以及多集群跨机房计算的支持。本次我们将以飞天为例,为大家分享大规模分布式系统打造过程中的艰难坎坷及应对之道。
本次分享共分为视点、技术专题、应用实践三大板块:“视点”从人物着手细分阿里当时所面临的形势及各个据测制定的依据;“技术专题”主要从实践出发剖析飞天5000节点扩展时所遭遇的艰难险阻及应对之道,涉及架构调整、性能优化、系统运维等多个领域;“应用实践”则更注重于云实践经验及用例分享。
。在3个月deadline的情况下,阿里却选择投入更多人力物力及时间的云梯1(以Hadoop为底层的集群)和云梯2(以飞天为底层的集群)并行扩容,阿里人选择背水一战的原因究竟是什么?在这个过程中,他们又会遭遇哪些挑战?目标实现后的惊喜又是什么?
。盘古,飞天的分布式文件系统,在内部架构上盘古采用Master/ChunkServer结构,Master管理元数据,ChunkServer负责实际数据读写,通过Client对外提供类POSIX的专有API。在集群扩展到5K规模后,相关问题纷至沓来,主要可分为两个部分:首先,盘古MasterIOPS问题;其次,盘古Master冷启动速度。那么究竟是什么造成了这些问题?阿里工程师又该如何应对?
。伏羲,飞天平台的分布式调度系统。在5K攻坚中,从设计到实现每一步都可能存在性能“陷阱”,原因主要在三个方面:规模放大效应;木桶效应;长路径模块依赖。5000节点后这些方面究竟存在什么样的问题?阿里人又通过了什么方法保证了服务的性能与稳定性?
。5K后的运维模式究竟会产生什么样的变化?阿里人究竟为什么会开发华佗?上通飞天系统,下达运维各种系统,华佗健壮、简单和开放的架构究竟表现在什么方面?系统又是如何实现了自动化的运维?
。ODPS采用抽象的作业处理框架将不同场景的各种计算任务统一在同一个平台之上,共享安全、存储、数据管理和资源调度,为来自不同用户需求的各种数据处理任务提供统一的编程接口和界面。那么,在DT时代,不断扩大的数据规模又会给ODPS带来什么样的挑战?网站日志分析又该如何进行?
。阿里各业务部门如淘宝、天猫、一淘、B2B等每天都会产生大量的数据,日均增量数百TB。2013年初,阿里内部的生产集群PA所在机房的存储量最多可扩容到数十PB,而当时已使用75%的存储量。存储容量告急,迫切需要将生产集群PA上的大量数据迁移到其他集群。那么阿里人该如何安全地跨集群迁移几十PB的数据和其上相关业务?数据迁移之后,两个集群间存在大量的数据依赖,需要互相访问最新的数据,如何安全快速地实现跨集群数据同步?
。但短时间大规模快速膨胀的现状,给运维带来了巨大挑战,其中云梯2单集群规模更是从1500台升级到5000台。为此,运维需要做多个方向的调整,比如:提升全局掌控能力、实现系统的自我保护和自动化修复、大规模与精细化的平衡。那么,阿里又是通过什么途径完成这些工作的?
《不期而遇的飞天之路》——去IOE,飞天势在必行
翻开历史,淘宝曾启用全亚洲最大的OracleRAC集群,阿里更是购买过3年无限制的许可,阿里在IBM小型机以及EMC SAN存储上的投入也曾成为媒体争相报道的事件。但随着互联网爆发式发展,淘宝、支付宝和阿里巴巴B2B的注册用户数激增,阿里只能不停地通过水平和垂直扩展架构来应对新增用户生成的海量数据。而这种集中式数据库的架构,使得数据库成为了整个系统的瓶颈,越来越不适应海量数据对计算能力的巨大需求,更不用说越来越难以承受的高昂投入。阿里的“去IOE”已经势在必行:通过自主研发的分布式系统取代集中式数据库架构,使用MySQL+HBase取代Oracle,商用机取代小型机+SAN。
选择自主研发,这也是阿里云在步入云计算之路上做出的最重要的抉择:坚持追求拥有自有的最有竞争力的核心技术。在唐洪看来,云计算是一门高技术门槛的生意,具备核心技术竞争力等于具备了在战场上可以正面抗衡竞争对手的实力,尽管这个技术攻关的历程非常之艰难。选择自主研发而非采用开源Hadoop优化,也是基于一定的考虑,尽管Hadoop在离线大数据处理上具备优势,但无法完全提供阿里云要求的大规模分布式计算与处理的能力,而目前基于飞天上线的云服务,已远远超出Hadoop的能力。开源可以说是一条先易后难的路,尽管一开始可以走一些捷径,但事后在版本升级、研发上都会受颇多限制;从核心知识产权角度来看,今天无论是微软、Amazon或者Google的云计算平台,都没有采用Hadoop且不开放代码开源,本质上都是在追求自有的核心竞争力。开源软件无法彻底成为一个云计算底层平台的基础,采用开源软件并非解决做分布式系统这个问题的一剂良方。发展自有技术,坚持底层自主研发,如今能够构建超级计算机的飞天已成为阿里拥抱云计算,以及对外提供云计算服务的坚实基础。
已经实现5000节点单集群的飞天5K拥有惊人的规模:10万核的计算能力;100PB存储空间 ;可处理15万并发任务数;可承载亿级别文件数目;100TB排序30分钟完成,远超今年7月1日Yahoo!在Sort
Benchmark排序测试Daytona Gray Sort所创造的世界纪录——100TB排序完成时间约71分钟。
优秀的产品背后,必定有优秀的基础设施支撑。在此,我们期望越来越多的团队打造出更加稳定、更具性能的底层平台,不管是自主研发,亦或是基于开源。(审校/魏伟)
免费订阅“CSDN云计算(左)和CSDN大数据(右)”微信公众号,实时掌握第一手云中消息,了解最新的大数据进展!
CSDN发布虚拟化、Docker、OpenStack、CloudStack、数据中心等相关云计算资讯, & & 分享Hadoop、Spark、NoSQL/NewSQL、HBase、Impala、内存计算、流计算、机器学习和智能算法等相关大数据观点,提供云计算和大数据技术、平台、实践和产业信息等服务。
推荐阅读相关主题:
CSDN官方微信
扫描二维码,向CSDN吐槽
微信号:CSDNnews
相关热门文章写一个操作系统内核有多难?大概的内容、步骤是什么?
【林文的回答(238票)】:
“一个好一点儿的硕士毕业的学生。写一个的内核绝对是应该办到而且肯定可以办到的事儿。” ------这句话我们可以理解为”一个好的计算机硕士掌握的理论知识足够他搭建起一个简单的操作系统框架“。
我上操作系统课(大二)的第一天就问我的老师,学完了这门课可以自己实现一个操作系统了吗?老师说:”你可以基本掌握操作系统中要处理的主要问题,但是即使实现最简单的五脏俱全的操作系统还需要掌握很多很多东西,而且前提是你已经有很不错的代码能力。“
回到题目上来,我们要实现一个简单的操作系统,最先需要解决的是哪些问题?这个问题我相信翻开任何一本操作系统书都可以得到答案,一般都是操作系统书的前五,六章内容(第一章基本是操作系统概念及发展历史)。
进程管理存储管理文件系统输入/输出这些大部分是讨论理论类的书,比如我们上课用的书是西电汤子瀛老师的《计算机操作系统》,后来自己为了深入学习买了Andrew S. Tanenbaum的《Modern Operating Systems》。
如果想写个操作系统,除了理论知识外,动手之前最好先看看操作系统源代码,Linux的代码都是开源的,可以先学习学习。不过对于我们这种初学者千万不要看最新的Linux内核代码,因为那是很多人的杰作,可能一辈子都看不完。最好先看看国内同济大学赵炯基于0.11的《Linux完全注释》,即使只看懂30%也至会让自己懂很多之前不知道的东西。
理论类的书很少有提到Bootload问题的,就是加电之后从哪里开始执行的部分。仅仅是这个步骤也需要花不少时间去了解CPU知识,汇编语言知识等,相当不容易。不话说回来,这部分如果能处理好之后会发现组成原理,汇编语言,微机原理的知识被自己运用到了,成就感巨大。这部分内容,可以参看MIT的课程6.828 Operating System Engineering的课程,Google一下就能搜到不少大牛关于这门课的博客。如果英语不太好我记得华中科技大学有一个叫32位操作系统实践的课,资料都放到网上了,看起来很不错。
过了这一关,用《深入理解计算机系统》加上《现代操作系统》看一下虚拟存储器的内容,这两本书这部分说得都很棒。虚拟存储器的概念贯穿所有,如果能弄懂,对很多方面都有很大的帮助,不仅仅是操作系统这块。有了虚拟存储器概念之后对于链接,加载等知识理解就会深刻许多。 不过,这部分内容也需要对硬件部分有所了解,又是一坑。
之后回到进程上来之后,终于可以把工作重心从硬件部分转移过来了。但是我们又将面对进程创建,进程调度,进程通信三大问题,既然是简单实现,就先不考虑线程的事。算法书中会给很多,不过这些算法都是有一定的局限性,比如调度算法,对应的调度算法优劣差异很大,至于如何抉择就看个人需求。不过话说回来,操作系统里的”算法“和ACM里的算法在难度上差很多,还是比较容易实现的。
内容太多了,就不完全展开了,后面就看自己“耐力”了,写操作系统是需要坚持很长实践+大量知识积累的。有些问题还涉及到哲学的观点,这里推荐上海交大邹恒明教授的《操作系统之哲学原理》。除了理论方面的书,现在市面上也有直接教如何实现一个操作系统的,比如《Orange'S:一个操作系统的实现》和《30天自制操作系统》(仅有的几本“XX天XX”而不是烂书的书),起步阶段跟着这些书来还是很不错的。
总之,实现最最基本的功能也许可以做到。实现功能强大,鲁棒性强的操作系统极难。
不过在此过程中学到了很多很多东西。无论最后能否实现属于自己的操作系统,在此过程中收获的知识是一笔宝贵的财富。
【知乎用户的回答(122票)】:
大家都散了吧...
那个csdn发帖喷linus的人, 干了十几年程序员(如他那也能算程序员的话), 睡前7k, 醒来5k, 问的问题也都是很低级的. 我......
不过也如我所说, csdn遍地都是这样的人, 真是浪费时间
+++++++++++
我一直以来的认识是, 一个合格的本科生是应该有能力并且写过这么一个玩意的(我不合格我都写了)
何况一个"好一点儿"的硕士?
可能会有人跳出来说自己认识的大部分硕士都没有, 这很正常, 就TAB这种公司, 每年十几二十万招的人也很大部分是水硕, 何况其他未入流学校的水中水硕
何谓水? 学过的教材不理解, 做过的project浑水摸鱼, 此谓之水
(不得不说, 国内清华在这点上做得是最好的)
一个玩具内核差不多是下面这个样子的:
多少行代码?多少行代码?
右边1500+, 左边2000+
基于自己设计的CPU, 不包括自己写的模拟器
会写并写过kernel的人, 在知乎随便可以抓出三位数...
写这些东西确实不难, linus写出了这个也确实没什么值得骄傲的, 下面说正事
可是你知道程序员最重要的是品位吗?
那个和linus骂战的ms程序员不足
那个楼主完全没有
这个品位, 决定了你的...
成长值(或曰潜力或曰发展速度)
改变的能力这几点其实不仅对于程序员来说是至关重要的, 对任何想有所成就的人也通用
linus做的主要工作是挑补丁, 这一点能力, 他是登峰造极的, 没有品位和决断的人, 是做不了这个事的
2005年linus写了git, 几个人理解git?... 何况linus是写出来 (按那个傻逼的说法, linus当真是祖坟修得妙极了)
(其实cpp的大喷子几乎都是把cpp看得透透的人, 有的人就是不理解
(除了一些天才外, 绝大多数cpp程序员其实只是没有用纯c写大程序的能力罢了....
(linus喷那个ms程序员, 一点没喷错
不要再迷信linus没技术了好吗, 这根本是意淫到了自慰的境界. 这跟一群傻逼PM不懂技术又幻想创业发财所以意淫某些老板不会编程有什么区别?
比尔盖茨编程很厉害, 是高手, 不要再意淫他水平一般了
linus编程很厉害, 是高手, 都懒得举例
周鸿祎编程很厉害, 是高手, 360是恶心, 人家编程确实厉害
雷军编程很厉害, 是高手, 小米是恶心, 人家编程确实厉害
李彦宏编程很厉害, 是高手, 百度是恶心, 人家水平确实厉害
史玉柱编程很厉害, 是高手 (对! 就是那个卖脑白金的!), 人绝对有问题, 编程能力绝对不用怀疑
马化腾编程很厉害, 是高手三石哥编程很厉害, 是高手, 虽然人家现在不怎么懂技术了...李开复编程很厉害, 是高手, 当然这毋庸置疑....不要因为人家是职业经理人就以为不会编程了阿北编程很厉害, 是高手, 豆瓣网也很有品位独树一帜剩下一大堆国内年轻老板就不说了, 国内大老板不懂编程的, 外星人一人而已
至于那个csdn傻逼楼主是完全没有品位你知道吗...
他懂个鸡巴(话说他真懂吗?...)!
原帖是2007年发布, 下面这个链接是那个楼主近年来发帖一览表, 水平之臭不可闻
csdn为什么恶心, 就是因为上面傻逼太多了, 就那个贴里面, 有如下发言
盖茨肯定办不到,盖茨只写过几K的Basic程序。:)
(盖茨要哭了好吗, 撸袖子给你来一管kernel还包国际邮发给你)
没品位的人, 可能会有短暂辉煌, 但最终会走向什么结果? (比如梁肈新, 办企业办不起来, 程序也写不好, 现在迷信易经风水算命去了
最后...还有人去csdn? 这品位妥妥就不足啊...
没有品位的人, 是没有希望的
【浅奕的回答(63票)】:
厚脸皮推荐自己基于《JamesM's kernel development tutorials》写的中文文档,如果你只有基本的C语言和汇编基础以及一点点操作系统理论的话,这是起点很低的入门读物了。
项目地址:
------------------------------------------
补充一下文档目录:项目概述和开发环境配置
计算机启动过程、GRUB 以及 multiboot 标准
裸机上运行的 Hello OS Kernel
字符模式下的显卡驱动
相关库函数和调试打印函数
添加全局段描述符表
添加中断描述符表
完成中断请求和定时器中断
物理内存管理的实现
虚拟内存管理的实现
内核堆管理的实现
内核线程的创建与切换
接下来如何继续学习
------------------------------------------
这个东西很难被称为“内核”,甚至说它是“玩具内核”都是缪赞了。这只是一个看起来能运行的原理示范性质的小程序。不过不可否认,按照文档来,你可以写出一个看起来挺好玩的东西并学到一些基础知识。
虽然一个真正的内核很难很复杂,但是一个简单的Demo并不是遥不可及。即使有兴趣,学习的过程中也需要乐趣和不断获得的成就感,不是吗?
祝你玩的愉快~
【冯东的回答(33票)】:
我认为,某些专业的合格硕士生建造一个
时代的汽车也并不难。但是我不知道这么做有什么实际意义。我还看到有人说:「初学者千万不要看 Linux 代码」「可能一辈子都看不完」。这是最最误导初学者的言论。学汽车难道不去看真正的发动机,去看 Karl Benz 的古董?去看标准模型做的玩具?
一个 Audi 的 TFSI 发动机的细节,研究十年不一定能穷尽。但是那不意味着这台发动机的知识是不分层次的。组织合理的话,你在这台发动机上花的实践可以和得到的知识成正比。
题外话:拿 Linus 开涮的人我都绕着走 —— 当经理的肯定不是好鸟,做技术的早晚摔跟头。
【陈于康的回答(45票)】:
不是太难,关键还是需要兴趣,如果你真的想刨根问底,没什么能挡住你。
最基本的有几个部分:
1 bootloader, 你是用个现成的grub还是自己写,很多人就倒在这一步了。
2 内存管理
3 进程管理
4 中断和系统调用
5 文件系统,
当然可以折腾的很多,但最好还是先把这些弄出来,才可称之为一个操作系统。
资料都有,你可以参考:
xv6的代码也不错,文档齐全,
在GitHub无数个人在折腾自己的操作系统,。
可以参考,只是有很多部分其实可以不用汇编写了。
James的那个教程还是入门最好的。
你要做的就是准备好时间,做,看,做,看...
【Scott的回答(12票)】:
现在不少人都在通过自己写内核来学习操作系统,网上还有专门的课程(),按照这个课程,几个月就可以完成一个功能还算完备的内核.
但是这些人可以自己用几个月的时间写个内核,建立在当下相关资料特别丰富,而且虚拟机调试特别方便的基础上的.用bochs(虽然我自己从来都没有整好过),qemu,可以轻松进行汇编级调试,qemu还可以利用gdb remote debug来进行源码级调试.
但是倒退到Linus那个时代,一个人写内核的,绝对是绝顶高手,因为当初没有什么相关资料,大概就几本书可以参考,MINIX那本,UNIX内核设计与实现等.而且调试非常不便,只能靠自己把代码写对,非常非常的不容易.
【元宝的回答(27票)】:
尽管上面很多人说写一个是比较简单地事情,但是,如果你只有一点点软件和一点点硬件基础,那么我可以放心地告诉你,这绝对不是一件很简单的事。除非你指的操作系统就是一个稍微能控制一下资源或者稍微能运行几个进程的简单东西而已。
在写操作系统之前,你就清晰地明白操作系统是要干什么用的。操作系统对应用程序提供了硬件层面的抽象;负责管理包括CPU,内存,磁盘,IO等硬件资源,以及进程表,文件打开表,页表等软件资源;负责提供应用程序可用的API和系统调用;负责保护硬件资源和软件资源的访问安全和隔离性;以及提供多用户支持等等功能。那么在写一个操作系统之前,你就得保证你所写的操作系统满足必须满足的要求:鲁棒性,可扩展性,高效性,丰富性,安全性。先不说后几条要求,仅仅鲁棒性一点要求,都能把一个程序员折腾很久(呃,我这个菜鸟程序猿就被折腾了很久)。
当你明白了理论上的代码要求,你可以开始琢磨写一个简单的操作系统内核。至于你说要分为那几步。我的拙见是,在你动手写之前,你又必须给自己一个规划,这个规划就是:从实模式到保护模式一步一步的推进,从微内核到单内核的推进,从实验到简易实用的推进…
当你开始写实模式的操作系统内核时,你得要会一下这些必须知道的知识:(哪怕一点点)
操作系统启动原理,也就是bootloader的作用,包括魔数,MBR等等Intel 汇编或者AT&T 汇编或者嵌入汇编。这里面需要使用到int中断,简单的算术操作指令,跳转指令,开关中断指令(你只需要知道一点点,完全不用看intel手稿)
DS,ES,SS,BS,SI,DI,AX,BX等等寄存器的使用和工作原理,这是实模式下唯一需要了解的一点点微机原理知识。信号量,消息同步以及中断屏蔽的知识。这一部分会让你更加清楚地了解到Linux单内核的NB之处。系统调用,进程切换,内存分配,磁盘访问布局,文件系统。系统调用包括read,write,fork,exec,wait,exit这些最基本的系统调用(甚至不用去看dup,dup2,wait2等等暂时无用的),进程切换了解pcb管理,内存就了解最简单的分配方式,文件系统就是inode节点结构(甚至不需要考虑超级块等等)。当你进步到保护模式的时候,你就得额外学习其他的知识了,这些知识包括但不限于:
地址转换的概念,段页的概念,页表访问,MMU,TLB等原理。什么是内核模式,什么是用户模式,ring0~3是怎么具体保证的的EAX,EBX,ECX等等通用寄存器以及控制寄存器,GDT,LDT的概念更高级的内存分配模式,例如slab或者懒惰伙伴分配等等。更高级文件系统,ext3,ext4等等。
当你又从微内核进步到单内核的时候,你需要考虑:
微内核中一些模块如进程分配服务,内存分配服务,文件管理服务,设备驱动服务如何集成到内核,哪些可以集成到内核,哪些不能。自旋锁,信号量,消息同步的有什么区别,如何避免死锁。单内核的系统调用和微内核系统调用的区别等等。当你从实验进步到简易实用(只是简易而已,暂时还不包括网络资源管理,这一部分涉及到TCP/IP协议栈,更加复杂)的时候,你需要考虑:
操作系统效率以及安全性问题,这里面涉及到进程调度,内存管理算法,磁盘调度算法等等方面。系统调用的丰富性问题,是不是支持大部分的系统调用。基本应用程序的支持性问题,例如shell,cat,wc,cd,ls这些简单的总要支持。POSIX标准的支持问题,能不能支持编译运行一些原始版本的程序。
总而言之,对我这样一个刚刚研一的不是研究系统架构的人来说,写一个操作系统内核也并不是一个非常简单的事情(尽管我们在大二的时候就已经写过了)。我仍然需要花很多的时间查资料,看文章,向我的一直奋战在一线的参与Linux以及KVM内核维护的可爱的bash老师(他在我们的学校bbs上的ID叫bash)请教,我仍然能够从中学习到很多很多以前没有学习到的知识。
所以,写一个操作系统并没有很多人说的那么简单,当然这样的说法有点冒犯了上面一些说比较简单的大神们^-^,还请包涵,毕竟我代表的是平均智商,哈哈。当然如果我自己的一点点粗浅的理解能够帮助到lz,那就比较好啦…
【fleuria的回答(11票)】:
写个玩具内核不难,固然学习与理解需要花费比较长的时间,但总体而言本科硕士的知识面已经足够了。关于内容和大体步骤,当时写了一点东西,如果感兴趣可以作为参考:
写个玩玩还是挺超值的,对得起上学没处打发的时间。
ps: Linus 可比一般的喷子脑残之流凭他们可怜的想象力所沾到的影子牛逼多了。
【赵一开的回答(22票)】:
【金刚害虫的回答(8票)】:
反对排名一二三的回答。
这几个回答全都局限于x86的框架。这个世界除了x86以外,还有嵌入式系统。嵌入式系统的操作系统真的不难,连我这个财会专业毕业生,都写过操作系统,freertos核心只有三个文件。嵌入操作系统比桌面应用会和服务器简单太多了。静下心研究开源的freertos,ucos,djyos,应该一学期足够弄个类似的出来。
【姚冬的回答(4票)】:
Who can’t write an OS in a week? --- David Cutler
【王磊的回答(3票)】:
写一个操作系统这个定义太宽泛了
好比造房子,土坯房也是房子,摩天大楼也是房子,建造的难度能比吗?
实际我们学OS的时候内容就包括阅读一个教学用的类Unix系统的代码,看起来不是高不可攀的东西,但是写出一个实用的操作系统,即使仅仅是内核,也不是一人(非天才)之力所能完成的
【吴俊的回答(4票)】:
写个操作系统不难(许多人在写操作系统,国内也有一些人再写)。
有本叫做《30天自制操作系统》的书,用汇编和C语言 一个月内写出一个操作系统,这个操作系统包含:
...我照着做了一个星期,发现对制作操作系统没有什么兴趣,因为很多时候都是在查BIOS手册;
不过这本书本身倒是满有趣的,作者的写的浅显易懂,语言很油墨,我有时候看了笑到肚子疼。
如果搜索 微型操作系统,还可以发现许多操作系统。
Linus的牛叉之处,不仅仅是他的技术,就编程技术而言,Linus是个高手,但是还不是当今世界上一流高手。有很多人能够写出优秀的操作系统,能够坚持做下去的就没多少了。
Linus的领导能力也是独一无二的,做一帮性格怪异、遍布世界的编程天才的“首领”,不是每个人都能做到的;
Linus讨厌冠冕堂皇“办公室文化”,他经常说脏话,还毫不留情地骂自己的“队友”,但不得不承认,他粗鲁的言语确实很有道理;
反而现在很多人满口大道理、各种花言巧语,实际上却什么都没说,或者说的都是谎言;
【侯铁的回答(1票)】:
一两句说不清!
说到可操作性,去看于渊的书《自己动手写操作系统》《Orange'S:一个操作系统的实现》。
【XanaHopper的回答(0票)】:
真不难……相信我
你需要了解的只是平台相关的一点知识,配合操作系统的原理,写一个简单的能跑起来的内核真的一点都不困难。
我大四的时候就自己写了一个……
【知乎用户的回答(0票)】:
写个玩具容易。这个玩具怎么写可以参考:、
【biggates的回答(0票)】:
完全取决于要做到什么程度。
上 OS 课时讲到的 XINU ,课堂上讲的部分只涉及了进程管理、内存管理、文件管理等几个重要的部分,后来看它的代码还包括了很多没有讲到的部分,如网络、shell 等。
【知乎用户的回答(0票)】:
有人推荐《自己动手编写操作系统》,不过我还是喜欢赵炯的《Linux内核完全注释》,用的是linux-0.11的源码。
【宁合军的回答(0票)】:
linus确实非常牛逼,虽然他当年发布的linux最初版本非常简陋,现在的优秀(计算机)硕士对着教材也可以写出来. 但是人家当年没有没有教材,只有很少的参考资料,要写出来就很不容易.
何况, 今天能够写出操作系统内核的硕士同学, 如果他(像linus一样)坚持搞操作系统20年,也可以变得很牛逼. 当然未必能有linus牛逼.
&&&&&本文固定链接:
【上一篇】
【下一篇】
您可能还会对这些文章感兴趣!
最新日志热评日志随机日志系统专题栏目
最新系统下载
推荐系统下载
主题推荐下载
Hello Kitty Win7系统主题
更新时间 软件大小2.93MB
授权方式免费版软件语言简体中文
安全提示无插件 无病毒 无暗扣,放心下载
适用平台Win7
Hello Kitty Win7系统主题整体风格就是粉嫩嫩的,恩!粉嫩嫩的!没错!话说Hello Kitty不是猫咪而是可爱的女孩纸这你知道么?陪伴着大家如此久的无口喵星人居然不是喵星人,TA居然是妹纸!
【系统之家提醒您:使用此主题您可能需要安装下列补丁】
1.XP/Win7/Win8系统第三方主题破解通用补丁:
2.Win7系统文件夹背景破解补丁:
【主题截图预览】
Kitty 猫诞生于1974年,中文名又称&你好&凯蒂&,她是个英国人,名叫凯蒂&怀特(Kitty White),天蝎座,三年级,有只叫Charmmy Kitty的宠物猫,还有个双胞胎姐妹。
系统大全站-温馨提示:
Hello Kitty Win7系统主题
----------------------------------------
文件名:Hello_Kitty_Win7__XP85.rar (软件大小:2.93MB)
文件真实下载地址:||
MD5: 888e2f0bf31
SHA1: f62f1fe84bb235a693e50e6f2c9f4723
建议使用以上版本或、浏览器访问本站,获得更好的用户体验。

我要回帖

更多关于 sap系统是什么 的文章

 

随机推荐