1.第一个电脑操作系统和软件是怎么开发出来的?

2.开发一个 Windows 级别的操作系统难度有多大

3.一个系统架构师的自述

4.如何快速开发搭建一个信息化系统

5.为什么中国不能自己开发个 电脑或手机上用的操作系统啊,手机上系统IOS,安卓,微软WP8系统

第一个电脑操作系统和软件是怎么开发出来的?

自己如何开发一个电脑系统-自己开发一套系统

最早的程序直接写的是二进制机器代码,没有编译器,将编好的代码通过读卡机读入机器,直接执行。

然后出现的是汇编语言,通过二进制的机器代码来实现汇编的编译连接工作,

然后在用汇编语言完善优化汇编语言;

接着才是高级语言,使用汇编语言编译,逐渐实现高级语言编译高级语言。

第一个操作系统是通过最早的计算机是直接用电信号控制,然后是机器语言、汇编语言,逐渐才发展到诸如C语言、BASIC语言之类的高级语言,微软早期的DOS操作系统主要用汇编语言编写,Windows开始用C/C++语言和汇编语言混合编写,最后形成软件。

开发一个 Windows 级别的操作系统难度有多大

一个桌面级的操作系统代码规模在千万行数量级,如果加上配套软件,总规模应该超过一亿行,如果再加上一个完整的软件生态系统,那么总规模应该不少于十亿行。

那是不是投钱投人就够了?不是。

说一个直观一点的道理吧:是不是说会盖5层楼房,只要投入2倍的人力物力财力就可以盖出10层楼房?显然不可能仅仅是2倍。或者盖5层楼房需要一年,那么投入两倍的资源,是不是半年就可以搞定?显然也不会是2倍这么少。

同样的,能开发一个软件,和开发一个完整的操作系统的难度相比困难也在这里。

而且我们落后了这么久,仅仅希望通过国家投资来推动,并且放出大话说一年做出来,如果不依赖任何现有基础的话,那恐怕很困难。而且真要投钱去强行推进这个项目的话,应该需要比三峡或者京沪高铁这种项目更多的钱。

可惜很多人都认识不到这一点,把软件开发当成是1+1=2这么简单的事情,所以,只能说,这是一个笑话。

Windows发展到今天用了将近30年,我们要从零追赶,至少要一半以上的时间,投入的钱,大致上把微软从过去到现在的所有销售额加起来的总数吧——具体我没算过,每次看到这种新闻,我都觉得,这是一个笑话。

技术:微软当年开发windows 7的工程量是大于阿波罗登月计划的,我天朝还是先搞定“嫦娥”吧!

在有Windows Vista作为基础的情况下,开发一个Windows7需要多少人:The Windows 7 Team

23个小组,每个小组约40人:

Applets and Gadgets (小程序和边栏应用)

Assistance and Support Technologies (协助和支持技术)

Core User Experience (核心用户体验)

Customer Engineering and Telemetry (用户工程和遥测)

Deployment and Component Platform? (部署和组件平台)

Desktop Graphics (桌面图形)

Devices and Media (设备和媒体)

Devices and Storage (设备和存储)

Documents and Printing (文档和打印)

Engineering System and Tools (工程系统和工具)

File System (文件系统)

Find and Organize (查找与组织)

Fundamentals (基础)

Internet Explorer (包括IE8 down-level)

International (国际化)

Kernel & VM (内核与虚拟机)

Media Center (媒体中心)

Networking – Core (网络 – 核心)

Networking – Enterprise (网络 – 企业)

Networking – Wireless (网络 – 无线)

Security (安全)

User Interface Platform (用户界面平台)

Windows App Platform (Windows 应用平台)

Windows代码量:

Windows XP 有40,000,000行代码

Windows Vista 大约50,000,000行代码

Windows 7 有50,000,000行代码

几个著名操作系统(单位:百万代码行):

Year, Operating System, SLOC (Million)

1993 ,Windows NT3.1,4-5

1994, Windows NT3.5,7-8

1996 ,Windows NT 4.0 ,11-12

2000 Windows 2000, 29

2001 Windows XP ,45

2003 Windows Server2003 ,50

Operating System SLOC (Million)

Debian 2.2 ,55-59

Debian 3.0, 104

Debian 3.1 ,215

Debian 4.0, 283

Debian 5.0 ,324

Linux(仅内核部分)

Linux kernel 2.6.0, 5.2

Linux kernel 2.6.29, 11.0

Linux kernel 2.6.32, 12.6

Linux kernel 2.6.35, 13.5

Linux kernel 3.6, 15.9

信息产业的基础设施论:在整个信息产业中基础设施一旦搭建完成后来者无论如何也没有能力把整个世界推倒重塑一遍,只能等待下一次浪潮。

著作权归作者所有。

商业转载请联系作者获得授权,非商业转载请注明出处。

作者:时国怀

链接:来源:知乎

一个系统架构师的自述

一个系统架构师的自述

来这家公司从事信息化工作已经也有三个年头了,有必要对这三年的工作和成长以及不足之处做一个总结。在此之前,从2001年开始学习JAVA,那时候用Struts的开发的企业也不多,而我在的做项目的企业当时已经自己开发了Struts的快速开发平台,专门做对日软件外包的项目,在这家公司工作,培养了我JAVA基础知识,软件工程的认识以及项目管理的知识。随后博士毕业后去了一家外企做了4年的IT系统集成研究,主要用Eclipse Plugin搭建研究项目的验证的Prototype,期间研究了SOA,SSH,LDAP,Web服务发现等技术。

刚来这家公司的时候,领导决策要将系统做重建开发。项目的具体情况是:我们拥有了成熟的业务功能,只要将老的系统的功能照搬到新的系统中,因此,对于老的系统进行了一次整理和分析,分析了合理的地方,也分析了不合理的地方,不合理的地方,希望在新系统中进行改进,但原则上,数据库表结构不做大的改动,以免将给将来系统迁移带来重大困难。当然,由于随着企业的业务的发展,会有新的需求,但大部分的需求都是没有改变的。

在项目的成员实力方面,没有的是:

1.熟悉JAVA的开发人员。

2.J2EE项目的经验。

有的是:

1.IT项目的开发、测试和维护经验。

2.数据库系统开发经验。(其实很重要的,数据库系统对于企业应用来说,数据也是很关键的,拥有这样面的经验,为项目的后续开发提供了不少的经验支持)

在项目的初期阶段还碰到了技术选型的问题,根据应用的特点,最终选择了C/S三层结构,并选用标准的EJB 3.0作为中间层,采用成熟的商用中间件服务器,这样就解决了ORM,数据持久化等问题,这样便确定了技术方向,这对于没有经验的团队来说,也是艰难的。

上述便是我团队的情况的简要概况。项目总是要做的,因为领导决策了啊。先看上述两个问题我们是如何解决的。

1.针对开发团队没有JAVA的开发经验,进行培训,由我亲自操刀。培训为期15天,从开发环境熟悉,到JAVA基础知识,上午半天讲知识,下午上机练习。

2.针对没有J2EE的项目经验。

整个项目就我一个人有过J2EE的项目经验,但是我以前没有做过J2EE项目的架构师至少没有做过如此大型项目的,我只是做过J2EE项目的开发(B/S的,而本次项目是客户端)并了解软件工程、面向对象的设计、设计模式等。怎么办?我们是这样解决的,请老师。专门请了老师来讲架构设计知识。这还不够,我们花钱请人做架构设计。但只是做架构设计,生成一个架构说明书后,离架构的工作还很远,还有很长的路要走,而在合作公司做好架构设计后,他们的工作也就基本结束了。后面的架构方面的工作,基本上是由我来做的。我说说我都做了什么事情。

(1)按照架构说明书,将整个架构环境搭建起来。

(2)开发一套便于开发人员开发的开发框架。

(3)设计了Swing的MVC模式,并开发实现。

(4)开发了整个系统的基础组件,为了实现架构中的复用的原则,这个很重要。

(5)负责整个系统的权限的管理,这个很重要,跟各个模块都有关系。

(6)负责开发的编码规范的制定,包括JAVA的编码的规范,同时还有质量属性方面的编码的规范。

(7)整个系统的异常处理、日志、错误验证等机制的设计和开发;

(8)第三方系统和工具的集成,如报表系统,浏览工具的集成等;

上述,只有(1)是现成的。其它的都是具体的架构方面的工作。很多人,都以为,架构师嘛,不就是高高在上的,待在象牙塔里给开发人员发号施令的人吗?其实不然,架构师需要每天跟开发人员在一起,一起写代码,一起工作,一起交流。

回顾起,在搭建快速开发框架的过程中,开发人员在开发的过程中,提出了很多有意义的改进的意见,直到今时今日,我们还在改进,只有开明的架构师,才能够设计出好的系统,好的基础组件。当然没有意义的,也被筛选掉的,架构师必须要有这样的`决断力。

Swing的MVC模式就不说了,可能每个团队对于该项设计都会有所不同。

说说如何实现组件的复用,要实现组件的复用,必须要鼓励开发人员复用已有的组件以统一界面风格以及减少工作量。那么,就要告诉开发人员,目前我们的系统有哪些基础组件,他们都是怎么样使用或调用的。有了这些,开发人员自然就肯用了。

关于编码规范,可能很多人觉得这是项目开发中的小事情,其实不然,某位架构大师说过,架构无小事,编码规范的执行不力,直接影响到整个项目的代码质量,甚至影响质量。例如,要求不要出现在循环,要释放对象,尽量用StringBuffer等。在编码规范的执行的难度是,不是说你有没有规范,而是你的规范有没有被执行。那么如何使得你的规范被执行呢?

这就需要架构师的耐心和沟通能力了。在整个项目的开发过程中,架构师始终要保持与开发人员的沟通,苦口婆心地说,编码规范的重要性。时间长了,开发人员养成了好的习惯,架构师也就省心了。

根据上述经验,我做个总结。

1.经验是可以复制的,当您没有这方面的人员时,最好请求专业或外援,并培养自己的人员,同时有吸收的学习。

2.架构师是整个团队的技术领导,需要具备领导能力。

3.架构师需要较强的沟通能力,需要与项目的各个方面的人员进行沟通,与项目经理沟通,帮助项目经理制定合理的开发计划;与需求分析员沟通,了解系统的关键需求和非功能性需求;与开发人员沟通,使得架构设计能够被真正执行;另外还有与项目经理、物理架构负责人沟通等等。

4.架构师需要编写代码,这样使自己积累更多的代码经验,加深理解设计模式,可以帮助自己对于整个项目更加熟悉,同时能够回答开发人员在开发过程中出现的所有的问题,树立个人威信。

5.架构师需要有较强的IT知识和广博的知识面。IT的知识更新非常快,现在云计算等的出现,必然要淘汰一部分架构师,因此,架构师要保持生命力,必须要不断地学习。

6.架构师要懂业务知识。架构设计要满足系统的需求。我虽然刚到公司不久,但由于之前积累了很多业务相关的知识,经过短期的学习,也掌握了业务知识。

7.不要怕做事情,我在整个系统的开发过程中,我的开发量是别人的三倍还多,但我收获的,则也是三倍还多的经验。

自己的不足之处:

1.有时候会着急,当规范强调了10遍,还是没有得到很好的执行时,就开始没有耐心了。

2.需要加强沟通能力,将自己的想法能够推销出去。

3.需要在更多的业务领域知识方面得到快速的增长。

下一步的目标

1.系统理论地学习架构知识,使得知识更加固化,以进一步使得架构设计更加科学和有调理;

2.通过广泛地阅读学习企业信息化的各个方面的知识,包括ERP,SCM,营销管理,企业战略,企业管理等,每年看书或阅读文章至少100本或篇;

3.熟悉企业的业务流程,与企业不同层次的人员多多地进行交流,多学习,多沟通;

4.多交朋友,多向朋友学习与交流。 ;

如何快速开发搭建一个信息化系统

企业实施信息化管理,通常有3种方案,各有利弊,大致说一下要点,供你参考:

一是购买成品软件,如用友erp、金蝶等。优点是上手容易,但其功能是固定的,无法根据自己特点进行调整,因此一定要全面试用,确定满足要求再购买。

二是重新开发,需要专业的开发团队,成本高、难度大,而且要注意后期维护的人员流动风险大。因此,除非特别必要,一般不建议重新开发。

三是利用免编程的快速开发平台自己搭建,如华创信息管理平台。优点是能完全按照自己的需要搭,适用性强,后期根据业务变化调整也方便。但缺点是前期需要了解平台的用法,上手稍难。

为什么中国不能自己开发个 电脑或手机上用的操作系统啊,手机上系统IOS,安卓,微软WP8系统

不是没有,是知名度太低而已。、

银河麒麟

是由国防科技大学、中软公司、联想公司、浪潮集团和民族恒星公司合作研制的闭源服务器操作系统。此操作系统是863计划重大攻关科研项目,目标是打破国外操作系统的垄断,研发一套中国自主知识产权的服务器操作系统。

银河麒麟2.0操作系统完全版共包括实时版、安全版、服务器版三个版本,简化版是由于服务器版简化而成的。经过权威机构进行了源码级鉴定表明,银河麒麟安全操作系统主要分为三层:最底层是自己加的“既不像内核,也不像虚拟机”的东西(从银河麒麟开发手册上看主要为保证安全性、实时性等方面的任务,可自由替换加载。),上面是 FreeBSD 的内核,最上面是 Linux 兼容库。开放给公众使用的系统不包括最底层的东西。完全版的银河麒麟是内核态多线程的。

涉嫌抄袭事件

在2006年4月27日网友Dancefire的一篇技术分析文章中声称[1],通过对麒麟操作系统2.0版本进行反汇编,麒麟操作系统与美国开放源代码的FreeBSD 操作系统5.3版本相似度在90%以上。更多的证据指出,麒麟操作系统仅仅是对开源的FreeBSD进行了一定的修改,而不是新闻媒体所说的 “中国独立研发成功”和“拥有完全自主版权的内核”。

与“中标Linux”合并

2010年12月16日,两大国产操作系统——民用的“中标Linux”操作系统和解放军研制的“银河麒麟”操作系统在上海正式宣布合并[3],双方今后将共同以“中标麒麟”的新品牌统一出现在市场上,并将开发军民两用的操作系统。