来自:刘超的通俗云计算

第一回:小马创业选园区,开放标准是第一

小马最终还是决定走出大公司,自己去创业了。

他之所以这样决定,有两个原因,一方面,大企业多年的工作经验让他练就了从前端到后端,从Web到App,从产品设计到测试交付的全栈能力。他很自信,靠着这些能力,闯荡江湖应该没什么问题;另外一方面,他听说,姓“马“的,创业成功的概率好像比较大。

创业首先要注册公司。注册公司就需要有一个办公地点。所以,小马需要选择一个适合创业的环境。他找了很多地方,发现有的地方政策倾斜大型企业,有的地方倾斜本地企业,有的地方鼓励金融创新。小马感觉这些地方都不太适合他这个IT男。

直到有一天,小马来到了位于杭州滨江的x86创业园区。他被深深地吸引住了,当然首要吸引他的就是园区工作人员的热情。

园区的工作人员向小马介绍了以下信息。

“首先,咱们这个x86园区,主要有三大特点,一是标准,二是开放,三是兼容。像您这种创业者还是非常多的。初次创业不一定有经验,园区提供标准的企业运行流程辅导。”

“另外,我们园区秉承完全开放的态度,对待各种各样的企业。不封闭,不保守。只要您符合国家的法律法规,我们都接纳。而且,整个园区是一种开放合作的生态,也有利于不同企业之间的协作。”

“再就是兼容。我们园区的流程和规则的设计都会兼容历史上的既有政策,既不会朝令夕改,也不会因为变化而影响您公司的运转。总而言之,来了咱们园区,您就埋头干业务就可以啦!”

小马显然对于x86园区的开放性十分满意,于是追问道:“您刚才说的企业运行流程辅导,能详细介绍一下吗?将来我这个企业在这个园区,应该怎么个运转法儿?“

工作人员接着说:“咱们这个园区毗邻全国知名高校,每年都有大量的优秀毕业生来园区找工作,这是企业非常重要的人才来源。葛优说了,二十一世纪了,人才是核心嘛。每年我们园区都会招聘大量的毕业生,先进行一个月的培训,合格毕业的可以推荐给您这种企业。这些人才啊,就是咱们企业的CPU。”

“经过我们园区培训过的‘CPU人才’,具备了三种老板们喜欢的核心竞争力:

第一,实干能力强,干活快,我们称为运算才能——也即指令执行能力;

第二,记忆力好,记得又快又准,我们称为数据才能——也即数据寄存能力;

第三,听话,自控能力强,可以多任务并发执行,我们称为控制才能——也即指令寄存能力。

到时候,你可以根据需求,看雇佣多少个‘CPU人才’。

另外,人才得有个办公的地方,这一片呢,就是我们的办公区域,称为也就是内存区域。您可以包几个工位,或者包一片区域,或者几个会议室,让您公司的人才在里面做项目就可以了。这里面有的是地方,同时运行多少个项目都行。”

跟着工作人员的介绍,小马走在x86园区中,看着这一片片的内存办公区,脑子里已经浮现出将来热火朝天的办公场景了。

“也许不到半年的时间,我肯定能够接两三个大项目,招聘十个八个CPU员工。那项目A的员工就坐在这片内存办公区,项目B的员工就坐在那片内存办公区。我根据积累的人脉,将接到的项目写成一个一个的项目执行计划书,里面是一行行项目执行的指令,这些指令操作数据产生一些结果,我们就可以叫程序啦。”小马这么想着。

“然后呢,我把不同的项目执行计划书,交给不同的项目组去执行。那项目组就叫进程吧!两个项目组,进程A和B,会有独立的内存办公空间,互相隔离,程序会分别加载到进程A和进程B的内存办公空间里面,形成各自的代码段。要操作的数据和产生的结果,就放在数据段里面。”

“除此之外,我应该找一个或者多个CPU员工来运行项目执行计划书,我只要告诉他下一条指令在内存办公区中的地址,经过训练的CPU员工就会很自觉地、不停地将代码段的指令拿进来进行处理。”

“指令一般是分两部分,一部分表示做什么操作,例如是加法还是位移;另一部分是操作哪些数据。数据的部分,CPU员工会从数据段里面读取出来,记在脑子里,然后进行处理,处理完毕的结果,在写回数据段。当项目执行计划书里面的所有指令都执行完毕之后,项目也就完成了,那就可以等着收钱啦。”

小马沉浸在思绪中久久不能自拔,直到工作人员打断了他的思绪:“您觉得园区如何?要不要入住呀?先租几个工位,招聘几个人呢?“

小马想了想,说道:“园区我很满意,以后就在您这里创业了,创业开始,我先不招人,自己先干吧。”

第二回:启动公司有手册,获取内核当宝典

工作人员说:“感谢您入驻咱们创业园区,由于您是初次创业,这里有一本《创业指导手册》,在这一本叫作BIOS的小册子上,有您启动一家公司的通用流程,你只要按照里面做就可以了。”

小马接过BIOS小册子,开始按照里面的指令启动公司了。

创业初期,小马的办公室肯定很小,只有有1M的内存办公空间。在1M空间最上面的0xF0000到0xFFFFF这64K映射给ROM,通过读这部分地址,可以访问这个BIOS小册子里面的指令。

创业指导手册第一条,BIOS要检查一些系统的硬件是不是都好着呢。创业指导手册第二条,要有个办事大厅,只不过小马自己就是办事员。因为一旦开张营业,就会有人来找到这家公司,因而基本的中断向量表和中断服务程序还是需要的,至少要能够使用键盘和鼠标。

BIOS这个手册空间有限,只能帮小马把公司建立起来,公司如何运转和经营,就需要另外一个东西——《企业经营宝典》,因而BIOS还要做的一件事情,就是帮助小马找到这个宝典,然后让小马以后根据这个宝典里面的方法来经营公司,这个《企业经营宝典》就是这家公司的内核。

运营一个企业非常的复杂,因而这本《企业经营宝典》也很厚,BIOS手册无法直接加载出来,而需要从门卫开始问起,不断打听这本内核的位置,然后才能加载他。

门卫只有巴掌大的一块地方,在启动盘的第一个扇区,512K的大小,我们通常称为MBR(Master Boot Record,主引导记录/扇区)。这里保存了boot.img,BIOS手册会将他加载到内存中的0x7c00来运行。

boot.img做不了太多的事情。他能做的最重要的一个事情,就是加载grub2的另一个镜像core.img。

引导扇区就是小马找到的门卫,虽然他看着档案库的大门,但是知道的事情很少。他不知道宝典在哪里,但是,他知道应该问谁。门卫说,档案库入口处有个管理处,然后把小马领到门口。

core.img就是管理处,他们知道的和能做的事情就多了一些。core.img由lzma_decompress.img、diskboot.img、kernel.img和一系列的模块组成,功能比较丰富,能做很多事情。

boot.img将控制权交给diskboot.img后,diskboot.img的任务就是将core.img的其他部分加载进来,先是解压缩程序lzma_decompress.img,再往下是kernel.img,最后是各个模块module对应的映像。

管理处听说小马要找宝典,知道他将来是要做老板的人。管理处就告诉小马,既然是老板,早晚都要雇人干活的。这不是个体户小打小闹,所以,你需要切换到老板角色,进入保护模式,把哪些是你的权限,哪些是你可以授权给别人的,都分得清清楚楚。

这些,小马都铭记在心,此时此刻,虽然公司还是只有他一个人,但是小马的眼界放宽了,能够管理的内存空间大多了,也开始区分哪些是用户态,哪些是内核态了。

接下来,kernel.img里面的grub_main会给小马展示一个《企业经营宝典》的列表,也即操作系统的列表,让小马进行选择。经营企业的方式也有很多种,到底是人性化的,还是强纪律的,这个时候你要做一个选择。

在这里,小马毫不犹豫地选择了《狼性文化》操作系统,至此grub才开始启动《狼性文化》操作系统内核。

拿到了宝典的小马,开始越来越像一个老板了。他要开始以老板的思维,来建立这家公司。

第三回:初创公司有章法,请来兄弟做臂膀

这注定是一个不眠夜,办公室里面一片漆黑中,唯一亮着的台灯下,小马独自捧着《企业经营宝典》仔细研读,读着读着,小马若有所思,开始书写公司内核的初始化计划。

公司首先应该有个项目管理部门,咱们将来肯定要接各种各样的项目,因此,项目管理体系和项目管理流程首先要建立起来。虽然现在还没有项目,但是小马还是弄了一个项目模板init_task。这是公司的第一个项目(进程),是项目管理系统里面的项目列表中的第一个,我们能称为0号进程。这个项目是虚拟的,不对应一个真实的项目(也就是进程)。

项目需要项目管理进行调度,还需要制定一些调度策略。

另外,为了快速响应客户需求,为了各个项目组能够方便地使用公司的公共资源,还应该有一个办事大厅。这里面可以设置了很多中断门(Interrupt Gate),用于处理各种中断,以便快速响应突发事件;还可以提供系统调用,为项目组服务。

如果项目接得多了,为了提高研发效率,对项目内容进行保密,就需要封闭开发,所以将来会有很多的会议室,因而还需要一个会议室管理系统。

项目的执行肯定会留下很多文档,这些是公司的积累,将来的核心竞争力,一定要好好管理,因而应该建立一个项目档案库,也即文件系统。

随着思绪的展开,小马奋笔疾书,已经写了满满的几页纸,小马顿感经营一个公司还是挺复杂的,一旦项目接多了肯定忙不过来。俗话说得好,“一个好汉三个帮”,小马准备找两个兄弟来一起创业。

小马想到的第一个人,是自己的大学室友,外号“周瑜”。大学一毕业,周瑜就转项目管理了,在一家大公司管理着大型项目。将来外部接了项目,可以让他来管。小马想到的第二个人,是自己上一家公司的同事,外号“张昭”,是他们总经理的好帮手,公司的流程、人事、财务打理得都清清楚楚,将来公司内部要运行的井井有条,也需要这样一个人。

第二天,小马请周瑜和张昭吃饭,邀请他们加入他的创业公司。小马说,公司要正规运转起来,应该分清内外,外部项目需要有人帮忙管理好——也就是用户态,内部公司的核心资源也需要管理好——也就是内核态。现在我一个人忙不过来,需要两位兄弟的加入,周瑜主外,张昭主内,正所谓,内事不决问张昭,外事不决问周郎嘛。

三个人相谈甚欢,谈及往日友谊、未来前景、上市敲钟……

第三天,周瑜早早就来到公司,开始了他的事业。小马拜托周瑜做的第一件事情是调用kernel_init运行1号项目(进程)。这个1号项目会在用户态运行init项目(进程)。这是第一个以外部项目的名义运行的,之所以叫init,就是做初始化的工作,周瑜根据自己多年的项目管理经验,将这个init项目立为标杆,以后所有外部项目的运行都要按照他来,是外部项目的祖先项目。

下午,张昭也来到了公司,小马拜托张昭做的第一件事情是调用kthreadd运行2号项目(进程)。这个2号项目是内核项目的祖先。将来所有的项目都有父项目、祖先项目,会形成一棵项目树。公司大了之后,周瑜和张昭做的公司VP级别的任务,就可以坐在塔尖上了。

好了,这一节小马终于将公司的架子搭起来了,兄弟三人如当年桃园三结义一样,开始自己的创业生涯,小马的这家公司能不能顺利接到项目呢?欲知后事,且听下回分解。

长按订阅更多精彩▼

如有收获,点个在看,诚挚感谢

用一个创业故事串起操作系统原理(一)相关推荐

  1. 用一个创业故事串起操作系统原理(二)

    来自:刘超的通俗云计算 上一节说到小马同学的公司已经创立了,还请来了周瑜和张昭作为帮手,所谓"兄弟齐心,其利断金".可是,现在这家公司,还得从接第一个外部项目开始. 第四回:首个项 ...

  2. 用一个创业故事串起操作系统原理(三)

    来自:刘超的通俗云计算 上一节我们说到,周瑜和张昭商定了调用schedule的时机.尽管项目越来越多,但是也井井有条.可是我们也说了,不管你的事情做得有多好,项目保密问题都是要解决的重要问题.怎么解决 ...

  3. 用一个创业故事串起操作系统原理(四)

    来自:刘超的通俗云计算 上一节,小马的公司已经解决了生存问题,成功从小马晋升马哥. 马哥是一个有危机意识的人.尽管公司开始不断盈利,项目像流水一样,一个接一个,赚了点儿钱,但是他感觉还是有点儿像狗熊掰 ...

  4. 说好一个创业故事的5个步骤

    特斯拉CEO伊隆·马斯克告诉你 说好一个创业故事的5个步骤 2015-07-19 10:51· techgogogo  阅读:729 摘要做pitch的时候千万别一开始就太把自己当主角,喋喋不休的推销 ...

  5. 一个35+岁的团体在硅谷的创业故事

    用一个词形容 35 岁的男人,大家会想到什么? 大叔? 成熟? 世故? 35 岁在大多数人眼中都是道无形的坎儿,事业的瓶颈,家庭的压力,机械的生活,还有呈指数下降的精力,体力和创造力.创业对于许多 3 ...

  6. 请听一个故事------三个70多岁老人的创业故事(励志)

    导读:这是三个70多岁老人的创业故事.他们性格迥然.人生道路迥然.但是,相通的是他们都在不缺钱的境地下,开始了人生第二次,甚至是第三次创业. (ps:本文转载于:http://www.sj998.co ...

  7. 罗永浩2011年保利剧院演讲(一个理想主义者的创业故事II)

    很喜欢 老罗: 视频地址如下: 2010年老罗全国巡演完结篇--海淀剧院 http://v.youku.com/v_show/id_XMjI2MzU1NDQ0.html 罗永浩2011年保利剧院演讲( ...

  8. 一个百度程序员的创业故事

    周四晚上,我继续着缘创派( ycpai.com)的创业者之夜,有三十多位互联网创业者到来,大家围城一个大圈交流分享.其中一位创业者引起我的注意. 他系出名门,从百度出来的程序员. 他已经正式创业三年. ...

  9. 互联网创业创意养成记4 - 把你的创意编成一个好故事

    把你的创意编成一个好故事 以世上正在发生的变化作为方向来思考你的初创企业不仅仅会很大程度上让你的初创企业获得成功,因为它是一个更优秀的技术创新思考模式.除此之外,它还会给你带来更多的惊喜. 在你的初创 ...

最新文章

  1. 《.NET与设计模式》学习(一)
  2. oschina添加ssh公钥一记
  3. Netty 在 Dubbo 中是如何应用的?
  4. MVC视图中处理Json
  5. 关于Tomcat5.5中EL表达式无效的解决办法
  6. 桥梁在线计算机监测系统,桥梁在线监测系统
  7. CAN总线电平(隐性与显性)
  8. CSS笔记 - fgm练习 2-10 - 提示框效果 (清除子元素浮动高度塌陷的影响)
  9. Jstatd方式远程监控Linux下 JVM运行情况
  10. Linux_ubuntu16.04 无线/Wifi 上网速度慢的解决方法
  11. CRC校验算法——C语言实现
  12. Java实现仿QQ登陆、好友界面(可连接数据库)
  13. 景点接口 查询携程旅游门票景点详情
  14. 虚拟主机和服务器有啥区别,虚拟主机和服务器的区别在哪?
  15. Hadoop国内镜像下载地址:极速
  16. JSON对象转java对象 JSON数组转LIST数组
  17. 大厂钟爱的全链路压测有什么意义?四种压测方案详细对比分析
  18. java中 Excel文件解析及超大Excel文件读写
  19. verilog always语法_Verilog 最全经验总结(建议收藏)
  20. 关于Notion导出PDF的建议

热门文章

  1. 背包问题 输出方案、输出字典序最小方案、可行方案数、最优方案总数
  2. exgcd ---- 2020牛客多校第三场:[Fraction Construction Problem:exgcd+思维题]
  3. java线程dump_Java线程Dump分析 - PerfMa
  4. BZOJ 2133 切割(树形DP,树上背包)大概是本题全网第一篇题解 >_<【BZOJ 修复工程】
  5. 121.买卖股票的最佳时机
  6. mysql通用分页_MySQL海量数据的通用存储过程分页代码
  7. java出现令牌语法错误_java – 令牌“;”,“{”在此令牌之后的语法错误
  8. PWA即将推向所有Chrome平台
  9. 怎样在两小时内搞定 OpenStack 部署?
  10. IIS7 上配置运行 Ruby CGI环境