乔山办公网我们一直在努力
您的位置:乔山办公网 > ppt怎么做 > 打造一个全新的操作系统有多难?-操作系统ppt

打造一个全新的操作系统有多难?-操作系统ppt

作者:乔山办公网日期:

返回目录:ppt怎么做

很多人都希望有全新的国产的操作系统,但是很遗憾,这个很难。那么打造一个全新的操作系统真的那么难吗?

抱歉,其实做一个操作系统并不难,但是做一个“好”的操作系统,就非常非常的难。本文,将讨论好的操作系统到底难在哪里。

1.打造操作系统并不难

说到操作系统,就不得不提Linux。1989年,21岁的芬兰大学生Linus Torvalds在学习计算机课程时,其导师为了便于讲解《操作系统》,就自己做了一个微型mini-Unix操作系统(Unix是美国AT&T的贝尔实验室在1969年最早开发的一套操作系统)。

Linus在其导师mini-Unix操作系统的基础上,进行了优化、升级,然后以自己的名字谐音发布了一个简单的Linux操作系统,并公布在网上,让喜爱操作系统的朋友可以下载学习,并允许修改其源代码来完善Linux。

从这件事情上,我们也能够感觉到,一个大学生都能编写操作系统,所以你说开发一个操作系统有多难多难,显然是不现实的。所以,做一个操作系统并不难。

2.操作系统难的是生态

Linux的成功,很大原因是因为他一开始就开源的,任何个人或者公司,都可以获取Linux源代码,添加自己的功能或者修复Linux的漏洞。考虑如下2种情况:

(1)爱普生是一家日本打印机生成厂商,我们都知道,在使用打印机时,需要安装打印机驱动程序,因为Windows使用者太多,所以,爱普生为Windows操作系统专门开发了驱动程序,让windows用户可以使用自己公司的打印机。

现在Linux开源了,爱普生开发人员把Linux下载下来,增加自己的Linux版驱动程序,这样,以后Linux也可以使用爱普生打印机了。

(2)三星是一家韩国打印机生成厂商,同样的,他也提供Windows版本和Linux版本驱动程序,让这2个系统可以使用自己的打印设备。

所以,第一个问题来了:

如果开发全新的国产操作系统,没有硬件厂商的支持,那么你就算做出来仍然没用。

你能想象假如一个全新国产操作系统是:ZhOS,安装到自己电脑上后,打印机不能打印、声音不能播放、网卡不能联网... 是不是这样一个操作系统,其实就是废物一个?

再次强调一下:你安装的声卡需要声音驱动程序、安装的显卡需要显卡驱动程序、安装的网卡需要网卡驱动程序... 这些驱动都需要硬件厂商配合。

操作系统只提供基本的接口。具体实现是硬件厂商来实现的。

可以这么理解这句话:

例如操作系统提供2个函数:

public virtual void TurnSoundOn()
public virtual void TurnSoundOff()

这2个接口:分别用于打开声音和关闭声音。

操作系统并不知道如何打开打开这个声音,具体由硬件公司实现。

美国亚德诺半导体Analog的声卡驱动可能代码如下

public void TurnSoundOn()
{
/* 寄存器reg和数据data共十六位:reg为高七位, data为低九位 */
\tunsigned short val = (reg << 9) | (data & (0x1ff));
\t/* CSB, SCLK, SDIN 设置为高电平 */
\ts3c2410_gpio_setpin(S3C2410_GPB2,1);
\ts3c2410_gpio_setpin(S3C2410_GPB3,1);
\ts3c2410_gpio_setpin(S3C2410_GPB4,1);
\t/* 关中断 */
\tlocal_irq_save(flags);

}

而Conexant公司提供的驱动代码可能如下:

public void TurnSoundOn()
{

\t/* 设置为高电平 */
\tAAA_gpio_setpin(00001);
\tBBB_gpio_setpin(00002);
\tCCC_gpio_setpin(00003);
\tInt(00000);
}

可以看到两家公司的驱动,会针对自己的硬件实现不同的代码,对操作系统而言,他并不关心你怎么写的代码,他只要调用TurnSoundOn能打卡声音即可。

3.硬件厂商为什么不愿意做更多驱动?

我们看到,驱动程序开发是辛苦的工作。如果一个全新的操作系统出来,市场占有率比较低,而又没有钱可赚,驱动厂商凭什么给你做驱动程序?

所以,这就形成了一个恶性循环:新操作系统使用率低,导致驱动厂商不愿意给你做驱动程序,而硬件不给你做驱动程序又导致新操作系统使用率更低。

可以说,厂商做不做驱动是市场选择的结果,只有有利可图,有钱赚,厂商才会去做。这个靠行政命令或者靠国家动员是解决不了的。

4.除了硬件,海量应用软件是关键

就算硬件厂商配合了,还需要海量软件的支持,例如你的操作系统需要有Word,Excel,Powerpoint,Photoshop,3D Max,各种游戏,浏览器等等支持。

这是考验操作系统稳定性关键。

就像有用户反映国产Deepin深度操作系统,有时候用着用着就卡机或者死机了,这是最难解决的。早期使用windows98操作系统可能都知道,windows一不小心就蓝屏了。

微软的windows也是通过20-30年不断迭代升级才达到今天如此稳定的程度,如果你新操作系统,怎么能保证你自己的文档,不会写着写着文档或者处理图片或者编辑视频不死机,就成了关键。

要想新操作系统有海量应用,操作系统必须提供非常优秀的开发环境。有人说,微软windows能成功,Visual Studio功不可没。

Visual Studio被称为宇宙第一开发利器。

工欲善其事必先利其器,VS真的太厉害了。

打造一个全新的操作系统有多难?

Visual Studio 截图

Visual Studio的出现,让海量开发人员为windows开发海量应用程序。

也正是开发环境如此重要,作为Android的所有制谷歌,也开发的自己编辑器:Android Studio。

当然,我们也都知道Android Studio并不是从零开发的,他是基于JetBrains软件开发的,JetBrains是一家捷克公司,这也是现存少有的非美国的公司。

如果在加上苹果公司的Xcode的,

可以这么说,美国三巨头各自完成了自己生态系统的打造。外来者很难再进入
打造一个全新的操作系统有多难?

Xcode开发环境

  1. 微软:Visual Studio, VB和C#开发语言
  2. 谷歌:Android Studio, Java和Kotlin开发语言
  3. 苹果:XCode,Object-C和Kotlin开发语言

开发一套开发环境是复杂的工作,像Visual Studio软件大小动辄5-10G,这个大小比操作系统本身还大,还复杂。

操作系统和开发环境是“先有鸡还是先有蛋”的问题,有时候很难说清楚。操作系统用开发环境开发,而开发环境又需要运行在操作系统上,是你中有我,我中有你

5.游戏功能无法接受开发第二个版本

很多人都会玩游戏,例如LOL英雄联盟,DOTA等,这些游戏本身开发就极其复杂,游戏公司也承受不了开发第二个版本游戏。

所以,Linux生活了几十年一直干不过Windows,就是因为,游戏公司只能提供Windows版本的,根本没有力量再开发一个Linux版本的。导致在桌面版上,仍是Windows 的天下。

6.其它

除了上面所说的,操作系统要有内存管理。根据PKS定律:“你给程序再多内存,程序也会想尽办法耗光”,因此操作系统要能动态分布内存。

进程管理,例如我打开的Word不影响我的Excel。

文件管理,例如打开一个100G的文件,操作系统能支持吗,支持远程打开吗

网络管理,包括TCP/IP协议,DNS域名解析等等。

安全管理,新操作系统必须足够安全,各种加密、解密算法等等

等等,所以,这些问题都要操作系统解决。

7.操作系统的未来

通过上面的介绍,可以看到新操作系统的复杂,但是这并不代表我们毫无作为。相反,我们正在进入一个新的“时代”。

具体的说:Windows基本上已经发展到极限了,该有的都有了,所以,有人说Windows到win10基本上,在往后都是小打小闹了。因为没有什么功能可以增加了。

而苹果MacOS,其市场也在持续萎缩。

接下来,唯一的战场就是Android。Android虽然是谷歌控制的,但是他是开源的。

这意味着任何人都可以获取其源代码,由此,我们进入一个万物互联的时代。我们唯一的担心就是哪一天谷歌会突然不再开源了。这个担心确实存在,特别是中美贸易战,万一美国对华禁运怎么办?所以,像华为这样的大公司,其实也在研发自己的操作系统作为备份。这里有2个要点:华为的操作系统一定是基于Android的,华为的操作系统仅做备份用。

众观历史,除了Windows,我们可以看到:

Unix衍生出Linux, Linux衍生出Android,

Unix衍生出MacOS,MacOS衍生出iPhone操作系统。

Linux衍生出 红帽子,CentOS, 国产深度操作系统Deepin

也就是,基本上后一个操作系统都是在前一个操作系统上开发的。不会全新开发。

所以,如果哪一天谷歌对中国禁运,那么,华为包括小米就可以再Android的基础上开发自己的操作系统。而且,以“华为+小米+Oppo+Vivo+联想” 5家手机差不多占据全球手机的75%的份额,如果5家联手,就算谷歌都得敬让我们三分。

否则,你谷歌开发了一个新功能,结果全球75%的手机都不支持,那其实就是没用。

这也想就是:真理其实掌握在强权的手里。

7.现在你知道开发一个操作系统复杂了吗

如果有人问:开发一个操作系统简单吗?现在你明白了吗?可以做一个简单类比。这就像问:生一个孩子简单吗?生一个还是当然简单了:当精子与卵子结合的瞬间,一个生命体就诞生了,再等10个月孩子就能出生了。所以,你说生一个孩子困不困呢?

但是,生下来并不代表能活下来,活下来并不代表那能活的好?你要给他吃,给他喝,生病给他治疗,要让他念书,让他学习。。。所以,生孩子简单,但是成为一个有用的人难,想成为爱因斯坦那样的天才,难上加难,开发操作系统也是如此,开发操作系统简单,开发一个人见人爱的操作系统,难上加难。

相关阅读

关键词不能为空
极力推荐

ppt怎么做_excel表格制作_office365_word文档_365办公网