操作系统的发展历史

409 篇文章 183 订阅
批处理系统-》分时操作系统-》multics-》unix-》linux-》各种linux发行版
1981年,那时候个人计算机已经出现,但是没有系统,unix不屑于个人计算机的低性能。一个教授写了一个个人计算机系统CPM卖3W美元。
SCP(西雅图计算机产品公司):一个员工写了一个QDOS(Quick and Dirty Operating System)系统,Microsoft。
Bill Gates比尔盖茨,他的母亲在IBM公司上班。通过他的母亲知道IBM准备大批售卖个人计算机,花5W买断了该系统QDOS版权,然后和IBM的PC机一起售卖一台20几美元,赚了几千万。



在1990之前,window的开发也一直是在unix上的。

一、什么是操作系统

精简的说的话,操作系统就是一个协调、管理和控制计算机硬件资源和软件资源的控制程序。操作系统所处的位置如图1

#  操作系统位于计算机硬件与应用软件之间,本质也是一个软件。操作系统由操作系统的内核(运行于内核态,管理硬件资源)以及系统调用(运行于用户态,为应用程序员写的应用程序提供系统调用接口)两部分组成,所以,单纯的说操作系统是运行于内核态的,是不准确的。

细说的话 操作系统应该分为两部分功能:
#一:隐藏了丑陋的硬件调用接口,为应用程序员提供调用硬件资源的更好,更简单,更清晰的模型(系统调用接口)。应用程序员有了这些接口后,就不用再考虑操作硬件的细节,专心开发自己的应用程序即可。
例如:操作系统提供了文件这个抽象概念,对文件的操作就是对磁盘的操作,有了文件我们无需再去考虑关于磁盘的读写控制(比如控制磁盘转动,移动磁头读写数据等细节),

#二:将应用程序对硬件资源的竞态请求变得有序化
例如:很多应用软件其实是共享一套计算机硬件,比方说有可能有三个应用程序同时需要申请打印机来输出内容,那么a程序竞争到了打印机资源就打印,然后可能是b竞争到打印机资源,也可能是c,这就导致了无序,打印机可能打印一段a的内容然后又去打印c...,操作系统的一个功能就是将这种无序变得有序。

#作用一:为应用程序提供如何使用硬件资源的抽象
例如:操作系统提供了文件这个抽象概念,对文件的操作就是对磁盘的操作,有了文件我们无需再去考虑关于磁盘的读写控制

注意:
操作系统提供给应用程序的该抽象是简单,清晰,优雅的。为何要提供该抽象呢?
硬件厂商需要为操作系统提供自己硬件的驱动程序(设备驱动,这也是为何我们要使用声卡,就必须安装声卡驱动。。。),厂商为了节省成本或者兼容旧的硬件,它们的驱动程序是复杂且丑陋的
操作系统就是为了隐藏这些丑陋的信息,从而为用户提供更好的接口
这样用户使用的shell,Gnome,KDE看到的是不同的界面,但其实都使用了同一套由linux系统提供的抽象接口


#作用二:管理硬件资源
现代的操作系统运行同时运行多道程序,操作系统的任务是在相互竞争的程序之间有序地控制对处理器、存储器以及其他I/O接口设备的分配。
例如:
同一台计算机上同时运行三个程序,它们三个想在同一时刻在同一台计算机上输出结果,那么开始的几行可能是程序1的输出,接着几行是程序2的输出,然后又是程序3的输出,最终将是一团糟(程序之间是一种互相竞争资源的过程)
操作系统将打印机的结果送到磁盘的缓冲区,在一个程序完全结束后,才将暂存在磁盘上的文件送到打印机输出,同时其他的程序可以继续产生更多的输出结果(这些程序的输出没有真正的送到打印机),这样,操作系统就将由竞争产生的无序变得有序化。

二、为什么要有操作系统

现代的计算机系统主要是由一个或者多个处理器,主存,硬盘,键盘,鼠标,显示器,打印机,网络接口及其他输入输出设备组成。

一般而言,现代计算机系统是一个复杂的系统。

其一:如果每位应用程序员都必须掌握该系统所有的细节,那就不可能再编写代码了(严重影响了程序员的开发效率:全部掌握这些细节可能需要一万年....)

其二:并且管理这些部件并加以优化使用,是一件极富挑战性的工作,于是,计算安装了一层软件(系统软件),称为操作系统。它的任务就是为用户程序提供一个更好、更简单、更清晰的计算机模型,并管理刚才提到的所有设备。

总结:

程序员无法把所有的硬件操作细节都了解到,管理这些硬件并且加以优化使用是非常繁琐的工作,这个繁琐的工作就是操作系统来干的,有了他,程序员就从这些繁琐的工作中解脱了出来,只需要考虑自己的应用软件的编写就可以了,应用软件直接使用操作系统提供的功能来间接使用硬件。

三、操作系统与普通软件的区别

1.主要区别是:你不想用腾讯视频了你可以选择用迅雷播放器或者干脆自己写一个,但是你无法写一个属于操作系统一部分的程序(时钟中断处理程序),操作系统由硬件保护,不能被用户修改。

2.操作系统与用户程序的差异并不在于二者所处的地位。特别地,操作系统是一个大型、复杂、长寿的软件,

大型:linux或windows的源代码有五百万行数量级。按照每页50行共1000行的书来算,五百万行要有100卷,要用一整个书架子来摆置,这还仅仅是内核部分。用户程序,如GUI,库以及基本应用软件(如windows Explorer等),很容易就能达到这个数量的10倍或者20倍之多。
长寿:操作系统很难编写,如此大的代码量,一旦完成,操作系统所有者便不会轻易扔掉,再写一个。而是在原有的基础上进行改进。(基本上可以把windows95/98/Me看出一个操作系统,而windows NT/2000/XP/Vista则是两位一个操作系统,对于用户来说它们十分相似。还有UNIX以及它的变体和克隆版本也演化了多年,如System V版,Solaris以及FreeBSD等都是Unix的原始版,不过尽管linux非常依照UNIX模式而仿制,并且与UNIX高度兼容,但是linux具有全新的代码基础)

四、洪荒时代操作系统的发展历程

4.1)第一代计算机(真空管和穿孔卡片)

# 第一代计算机(1940~1955)
# 第一代计算机的产生背景:

第一代之前人类是想用机械取代人力,第一代计算机的产生是计算机由机械时代进入电子时代的标志,从Babbage失败之后一直到第二次世界大战,数字计算机的建造几乎没有什么进展,第二次世界大战刺激了有关计算机研究的爆炸性进展。

lowa州立大学的john Atanasoff教授和他的学生Clifford Berry建造了据认为是第一台可工作的数字计算机。该机器使用300个真空管。大约在同时,Konrad Zuse在柏林用继电器构建了Z3计算机,英格兰布莱切利园的一个小组在1944年构建了Colossus,Howard Aiken在哈佛大学建造了Mark 1,宾夕法尼亚大学的William Mauchley和他的学生J.Presper Eckert建造了ENIAC。这些机器有的是二进制的,有的使用真空管,有的是可编程的,但都非常原始,设置需要花费数秒钟时间才能完成最简单的运算。

在这个时期,同一个小组里的工程师们,设计、建造、编程、操作及维护同一台机器,所有的程序设计是用纯粹的机器语言编写的,甚至更糟糕,需要通过成千上万根电缆接到插件板上连成电路来控制机器的基本功能。没有程序设计语言(汇编也没有),操作系统则是从来都没听说过。使用机器的过程更加原始,详见下‘工作过程’

# 特点:
没有操作系统的概念
所有的程序设计都是直接操控硬件

# 工作过程:
程序员在墙上的机时表预约一段时间,然后程序员拿着他的插件版到机房里,将自己的插件板街道计算机里,这几个小时内他独享整个计算机资源,后面的一批人都得等着(两万多个真空管经常会有被烧坏的情况出现)。

后来出现了穿孔卡片,可以将程序写在卡片上,然后读入机而不用插件板

# 优点:

程序员在申请的时间段内独享整个资源,可以即时地调试自己的程序(有bug可以立刻处理)

# 缺点:

浪费计算机资源,一个时间段内只有一个人用。
注意:同一时刻只有一个程序在内存中,被cpu调用执行,比方说10个程序的执行,是串行的

4.2)第二代计算机(晶体管和批处理系统)

# 第二代计算机(1955~1965)
# 第二代计算机的产生背景:

由于当时的计算机非常昂贵,自认很自然的想办法较少机时的浪费。通常采用的方法就是批处理系统。

# 特点:
设计人员、生产人员、操作人员、程序人员和维护人员直接有了明确的分工,计算机被锁在专用空调房间中,由专业操作人员运行,这便是‘大型机’。

有了操作系统的概念

有了程序设计语言:FORTRAN语言或汇编语言,写到纸上,然后穿孔打成卡片,再讲卡片盒带到输入室,交给操作员,然后喝着咖啡等待输出接口

# 工作过程如下图

# 第二代如何解决第一代的问题/缺点:
1.把一堆人的输入攒成一大波输入,
2.然后顺序计算(这是有问题的,但是第二代计算也没有解决)
3.把一堆人的输出攒成一大波输出

# 现代操作系统的前身:(见图)

# 优点:批处理,节省了机时

# 缺点:
1.整个流程需要人参与控制,将磁带搬来搬去(中间俩小人)

2.计算的过程仍然是顺序计算-》串行

3.程序员原来独享一段时间的计算机,现在必须被统一规划到一批作业中,等待结果和重新调试的过程都需要等同批次的其他程序都运作完才可以(这极大的影响了程序的开发效率,无法及时调试程序)

4.3)第三代计算机(集成电路芯片和多道程序设计)

# 第三代计算机(1955~1965)
# 第三代计算机的产生背景:

20世纪60年代初期,大多数计算机厂商都有两条完全不兼容的生产线。

一条是面向字的:大型的科学计算机,如IBM 7094,见上图,主要用于科学计算和工程计算

另外一条是面向字符的:商用计算机,如IBM 1401,见上图,主要用于银行和保险公司从事磁带归档和打印服务

开发和维护完全不同的产品是昂贵的,同时不同的用户对计算机的用途不同。

IBM公司试图通过引入system/360系列来同时满足科学计算和商业计算,360系列低档机与1401相当,高档机比7094功能强很多,不同的性能卖不同的价格

360是第一个采用了(小规模)芯片(集成电路)的主流机型,与采用晶体管的第二代计算机相比,性价比有了很大的提高。这些计算机的后代仍在大型的计算机中心里使用,此乃现在服务器的前身,这些服务器每秒处理不小于千次的请求。

# 如何解决第二代计算机的问题1:
卡片被拿到机房后能够很快的将作业从卡片读入磁盘,于是任何时刻当一个作业结束时,操作系统就能将一个作业从磁带读出,装进空出来的内存区域运行。
同时的外部设备联机操作:SPOOLING,该技术同时用于输出。当采用了这种技术后,就不在需要IBM1401机了,也不必将磁带搬来搬去了(中间俩小人不再需要)

# 如何解决第二代计算机的问题2:

第三代计算机的操作系统广泛应用了第二代计算机的操作系统没有的关键技术:多道技术

cpu在执行一个任务的过程中,若需要操作硬盘,则发送操作硬盘的指令,指令一旦发出,硬盘上的机械手臂滑动读取数据到内存中,这一段时间,cpu需要等待,时间可能很短,但对于cpu来说已经很长很长,长到可以让cpu做很多其他的任务,如果我们让cpu在这段时间内切换到去做其他的任务,这样cpu不就充分利用了吗。这正是多道技术产生的技术背景

# 多道技术:

多道技术中的多道指的是多个程序,多道技术的实现是为了解决多个程序竞争或者说共享同一个资源(比如cpu)的有序调度问题,解决方式即多路复用,多路复用分为时间上的复用和空间上的复用。

# 空间上的复用:见图1
将内存分为几部分,每个部分放入一个程序,这样,同一时间内存中就有了多道程序。

# 时间上的复用:
当一个程序在等待I/O时,另一个程序可以使用cpu,如果内存中可以同时存放足够多的作业,则cpu的利用率可以接近100%,类似于我们小学数学所学的统筹方法。(操作系统采用了多道技术后,可以控制进程的切换,或者说进程之间去争抢cpu的执行权限。这种切换不仅会在一个进程遇到io时进行,一个进程占用cpu时间过长也会切换,或者说被操作系统夺走cpu的执行权限)


# 详解
现代计算机或者网络都是多用户的,多个用户不仅共享硬件,而且共享文件,数据库等信息,共享意味着冲突和无序。

操作系统主要使用来

1.记录哪个程序使用什么资源

2.对资源请求进行分配

3.为不同的程序和用户调解互相冲突的资源请求。

我们可将上述操作系统的功能总结为:处理来自多个程序发起的多个(多个即多路)共享(共享即复用)资源的请求,简称多路复用

多路复用有两种实现方式

1.时间上的复用

当一个资源在时间上复用时,不同的程序或用户轮流使用它,第一个程序获取该资源使用结束后,在轮到第二个。。。第三个。。。

例如:只有一个cpu,多个程序需要在该cpu上运行,操作系统先把cpu分给第一个程序,在这个程序运行的足够长的时间(时间长短由操作系统的算法说了算)或者遇到了I/O阻塞,操作系统则把cpu分配给下一个程序,以此类推,直到第一个程序重新被分配到了cpu然后再次运行,由于cpu的切换速度很快,给用户的感觉就是这些程序是同时运行的,或者说是并发的,或者说是伪并行的。至于资源如何实现时间复用,或者说谁应该是下一个要运行的程序,以及一个任务需要运行多长时间,这些都是操作系统的工作。

2.空间上的复用

每个客户都获取了一个大的资源中的一小部分资源,从而减少了排队等待资源的时间。

例如:多个运行的程序同时进入内存,硬件层面提供保护机制来确保各自的内存是分割开的,且由操作系统控制,这比一个程序独占内存一个一个排队进入内存效率要高的多。

有关空间复用的其他资源还有磁盘,在许多系统中,一个磁盘同时为许多用户保存文件。分配磁盘空间并且记录谁正在使用哪个磁盘块是操作系统资源管理的典型任务。

这两种方式合起来便是多道技术

空间上的复用最大的问题是:程序之间的内存必须分割,这种分割需要在硬件层面实现,由操作系统控制。如果内存彼此不分割,则一个程序可以访问另外一个程序的内存,

首先丧失的是安全性,比如你的qq程序可以访问操作系统的内存,这意味着你的qq可以拿到操作系统的所有权限。

其次丧失的是稳定性,某个程序崩溃时有可能把别的程序的内存也给回收了,比方说把操作系统的内存给回收了,则操作系统崩溃。

第三代计算机的操作系统仍然是批处理

许多程序员怀念第一代独享的计算机,可以即时调试自己的程序。为了满足程序员们很快可以得到响应,出现了分时操作系统

如何解决第二代计算机的问题3:

分时操作系统:
多个联机终端+多道技术

20个客户端同时加载到内存,有17在思考,3个在运行,cpu就采用多道的方式处理内存中的这3个程序,由于客户提交的一般都是简短的指令而且很少有耗时长的,索引计算机能够为许多用户提供快速的交互式服务,所有的用户都以为自己独享了计算机资源

CTTS:麻省理工(MIT)在一台改装过的7094机上开发成功的,CTSS兼容分时系统,第三代计算机广泛采用了必须的保护硬件(程序之间的内存彼此隔离)之后,分时系统才开始流行

MIT,贝尔实验室和通用电气在CTTS成功研制后决定开发能够同时支持上百终端的MULTICS(其设计者着眼于建造满足波士顿地区所有用户计算需求的一台机器),很明显真是要上天啊,最后摔死了。

后来一位参加过MULTICS研制的贝尔实验室计算机科学家Ken Thompson开发了一个简易的,单用户版本的MULTICS,这就是后来的UNIX系统。基于它衍生了很多其他的Unix版本,为了使程序能在任何版本的unix上运行,IEEE提出了一个unix标准,即posix(可移植的操作系统接口Portable Operating System Interface)

后来,在1987年,出现了一个UNIX的小型克隆,即minix,用于教学使用。芬兰学生Linus Torvalds基于它编写了Linux

4.4)第四代计算机(个人计算机)1980~至今!略

五、现代操作系统的发展史(上)

5.1)B语言与C语言

B语言之父:Ken Thompson(肯·汤普森)

1969年前后,Ken Thompson(肯.汤普森)在Dennis Ritchie丹尼斯.里奇(Dennis Ritchie)的支持下设计出来的一种通用的程序设计语言,现在使用者已经很少了。

C语言之父:Dennis Ritchie(丹尼斯·里奇)

1969-1973年,Dennis Ritchie(丹尼斯·里奇)在美国电话电报公司(AT&T)的贝尔实验室内开始了C语言的最初研发。根据丹尼斯·里奇说,C 语言最重要的研发时期是在1972年。
C语言之所以命名为C,是因为C语言源自Ken Thompson发明的 B语言,而B语言则源自BCPL语言,所以先B后C嘛哈哈

5.2)Unix系统

Unix之父还是他们哥俩:Ken Thompson(肯.汤普森)与Dennis Ritchie(丹尼斯·里奇)

Unix诞生于1969年,ken Tphmpson(肯.汤普森)最初用汇编语言编写,后来他和Dennis Ritch(丹尼斯·里奇)一起用高级C语言重写。

事实上,C语言的诞生是和UNIX操作系统的开发密不可分的,原先的UNIX操作系统都是用汇编语言写的,1973年UNIX操作系统的核心用C语言改写,从此以后,C语言成为编写操作系统的主要语言。

UNIX 第一次公开露面是 1973 年丹尼斯·里奇和肯·汤普森在操作系统原理(Operating Systems Principles)上发表的一篇论文,然后 AT&T 发布了 UNIX 系统第 5 版,并授权给教育机构使用,之后在 1975 年第一次以 $20.000的价格授权企业使用 UNIX 第 6 版。应用最广泛的是 1980 年发布的 UNIX 第 7 版,任何人都可以购买授权,只是授权条款非常严格

Unix的诞生对整个后续操作系统发展具有深远的影响,Ken Thompson(肯.汤普森)与Dennis Ritchie(丹尼斯·里奇)也因此获得了1983的图灵奖(计算机界的诺贝尔奖)

2011年10月12日(北京时间为10月13日),C语言之父丹尼斯·里奇去世,享年70岁。

5.3)Go语言

Go语言是在2007年由三个创始人在业余时间联合开发:Robert Griesemer(罗伯特.格利茨默)、Rob Pike(罗伯.派克)、Ken Thompson(肯.汤普森)

六、现代操作系统发展史(下)

6.1)Multics操作系统

MULTICS 其实是"MULTiplexed Information and Computing System"的缩写
伟大的一步
Bell(贝尔实验室), MIT(麻省理工学院人工智能实验室), GE(General Electric,通用电气)联合建立Multics操作系统
Multics操作系统是一套多使用者、多任务、多层次。

Multics是完成了,但是Multics 不断完善,和追求高目标,目标不明确了,渐渐的目标迷失,GE退出,后面bell也退出了。

6.2)unix的诞生

贝尔实验属于:AT&T
bell 为完成multics招聘了很多优秀的工程师,退出Multics后工程师比较闲了。
ken Tphmpson(肯.汤普森)在multics制作了一款游戏:space Travel(星际旅行)跑在multics。
bell 退出multics之后,ken Tphmpson(肯.汤普森)不能使用multics的运算能力了,要使用得付费。所以决定自己写一个小型系统程序可以跑起自己的游戏。
向公司申请购买PDP-11小型计算机,驳回。
PDP-11属于DEC(数字设备公司),该公司还有VAX(VMS)电脑。

在公司某角落找到PDP-7,老古董,使用汇编语言编码。

老古董好过没有,他在上面写了系统,居然可以跑起他的游戏了。
1969年,他兴奋的向各个同事兜售游戏,几乎所有的同事对于游戏没有兴趣,但是对他的系统很感兴趣,在1970年时,那部PDP-7却只能支持两个使用者,所以当时,Brian Kernighan(布莱恩·克尼汉)就开玩笑地戏称他们的系统其实是:"UNiplexed Information and Computing System"(复杂的信息与计算系统),缩写为"UNICS",后来,大家取其谐音,就称其为"Unix"了,Unix因此得名,所以1970年可称为是Unix元年。

unix系统短小精悍,性能很强大,接口规范,当然功能有限。
以现在的眼光看unix依然强大没有硬伤,可见unix的设计是何等超前和强大的。

unix真正的使用,在1971年,贝尔实验室需要为自己的专利部门提供一个文字处理程序nroff。该程序的运行,需要一个底层系统。nroff在PDP运行的并不好,所以决定自己写一个系统。
ken Tphmpson(肯.汤普森)和他的同事一起承包了这个项目。unix也在这当中得到了发展。
unix刚开始用汇编语言B语言所写,跟计算机PDP7耦合太大。
后来Dennis Ritch(丹尼斯·里奇)用高级C语言重写了,适用范围扩大了。
但是,当时这么做风险很大,语言越高级,消耗的计算机性能越大,而当时的计算机性能很差

UNIX的问世

1974,双方发表一片论文在《美国计算机通信》,unix第一次公知于众,走出贝尔实验室。引起很大反响。
很多人期望学习和研究unix。
AT&T(美国电话电报公司)当时被美国裁定不能销售除电话电报以外任何商品,不仅不能销售,别人要还需给。ken那是很长一段时间,把unix系统发给别人。
很多人加入的研究,反馈给贝尔实验室,unix发展迅速。

unix发行
1978:SCO 包装发行商用版unix   # SCO 现在SCO是世界上首屈一指的业务关键性(Business Critical)服务器系统软件供应商
1979 年发行了:System V7(现在公认的第一个完美版本)
1980年DARPA(机构)想研究TCP/IP协议。把这个合同给了BSD。TCP/IP协议在unix上诞生了。
1980: Microsoft, XENIX包装发行商用版unix
BSD后面也开始发行了商业版。
windows 1990年之前一直在Unix上开发的。

Berkeley(美国加州伯克利学校): Ken 1979年在berkeley上课。
Bill Joy, BSRG, 1977, BSD(Berkeley System Distribution)发行的unix版本
1980年,美国DARPA(Defense Advanced Research Projects Agency)美国国防高级研究计划局 ,准备制定 TCP/IP协议,最终选择了BSD合作,BSD在unix基础上研究的TCP/IP协议,所以这对unix是一个极大的促进。

UNIX的家谱

UNIX家谱:  
UNIX的历史开始于1969年ken Thompson,Dennis Ritchie(即著名的K&G,C语言的发明人)与一群人在一部PDP-7上进行的一些工作,后来这个系统变成了UNIX。它主要的几个版本为:
  V1(1971):第一版的UNIX,以PDP-11/20的汇编语言写成。包括文件系统,fork、roff、ed等软件。
  V4(1973):以C语言从头写过,这使得UNIX修改容易,可以在几个月内移植到新的硬件平台上。最初C语言是为UNIX设计的,所以C与UNIX间有紧密的关系。
  V6(1975):第一个在贝尔实验室外(尤其是大学中)广为流传的UNIX版本。这也是UNIX分支的起点与广受欢迎的开始。1.xBSD (PDP-II)就是由这个版本衍生出来的。
  V7(1979):在许多UNIX玩家的心目中,这是“最后一个真正的UNIX,”这个版本包括一个完整的K&RC编译器,Bourne shell(交换式的命令解释器和命令编程语言)。V7移植到VAX机器后称为32V。
  目前开发UNIX(System V)的公司是Unix System Laboratories (USL)。USL本为AT&T(美国电话电报公司)所有,1993年初被Novell(网络系统公司)收购。Novell(网络系统公司)于1993年末将UNIX这个注册商标转让给X/Open(国际联盟组织)。
  目前为止,UNIX有两大流派:那就是AT&T(美国电话电报公司)发布的UNIX操作系统System V与美国加州大学伯克利分校发布的UNIX版BSD(Berkeley Software Distribution)。SVR4是两大流派融合后的产物。1991年底,与System V针锋相对的开放软件基金会(Open Software Foundation)推出了OSF/1。
  现在几种主要的UNIX版本:
  * AIX:IBM的UNIX,是根据SVR2(最近已经出到SVR3.2)以及一部分BSD延伸而来,加上各种硬件的支持。具备特有的系统管理(SMIT)。
  * 386BSD:Jolitz(比尔·乔利兹)从Net/2 software移植过来的。支持Posix,32位。
  * FreeBSD:1.x从386BSD 0.1而来,FreeBSD 2.x版是用4.4BSD lite改写。
  * HP-UX(HP):旧系统是从S III(SVRx)发展面来,现在是由SVR2(4.2BSD)发展而来,目前是10.x版。
  * Linux(x86):遵从POSIX,SYSV及BSD的扩展,这一点从上页表中即可看出。
  * OSF/1(DEC):DEC对OSF/1的移植。
  * SCO UNIX(x86):SVR3.2,目前影响较大的PC UNIX。
  * SunOS(680x0,Sparc,i386):根据4.3BSD,包含许多来自System V的东西。Sun的主要成果在于:NFS,OpenLook GUI标准,现演变为Solaris 。

  * Ultrix(DEC):根据4.2BSD再加上许多4.3BSD的东西。
  * Xenix(x86):Intel硬件平台上的UNIX,以SVR2为基础,由微软推出。在中国使用较广泛。

6.3)其他操作系统的发展:windows-图形操作系统的时代

1981年,那时候个人计算机已经出现,但是没有系统,unix不屑于个人计算机的低性能。一个教授写了一个个人计算机系统CPM卖3W美元。
SCP(西雅图计算机产品公司):一个员工写了一个QDOS(Quick and Dirty Operating System)系统,Microsoft。
Bill Gates比尔盖茨,他的母亲在IBM公司上班。通过他的母亲知道IBM准备大批售卖个人计算机,花5W买断了该系统QDOS版权,然后和IBM的PC机一起售卖一台20几美元,赚了几千万。



在1990之前,window的开发也一直是在unix上的。

workstation 
SUN公司的Bill joy(比尔·乔伊),发行了workstation系统(工作站鉴于服务器和个人计算机之间)

windows和apple爱恨情仇

intel :当时主要生产内存,cpu比较低级,但是日本也开始生产更好的内存,intel转型专注生产cpu。
cpu的高速发展,导致个人计算机快速的普及。

XEROX: PARK实验室。鼠标和以太网就是park开发出来的。star 图形界面操作系统也被他们开发出来了。

乔布斯在park实验室看到了受到冷遇的图形界面操作系统,立即被apple购入。
比尔盖茨听说过之后,和乔布斯说向你学习学习。参考过后,觉得这绝对是一个影响世人的使用,立即和乔布斯商量,说我研究之后给你共享成果,年轻的乔布斯居然相信了。然后比尔盖茨在DOS上拼凑了一个图形界面系统,抢在乔布斯之前发布了图形界面系统,抢了乔布斯的客户。乔布斯大为恼火,去找比尔盖茨理论,然后终究不是老辣的比尔盖茨的对手,最后被比尔盖茨各种手段逼退了。

DOS是个非常实用的[操作系统],因此,它深深受到国内外人们的普遍喜爱,一直拥有数以亿计的用户。但是,自从1995年以来,Microsoft公司出于商业利益等方面的原因,决定抛弃手中的MS-DOS。当时,DOS已有许多种,除MS-DOS以外,还有PC-DOS,DR-DOS,FreeDOS等,但是由于受到Microsoft公司的挤压,故使用的人数不多,而大多数用户都在使用MS-DOS。由于Microsoft彻底放弃了MS-DOS,而转以开发Windows,引起了广大DOS使用者和爱好者的不满,而且,大家通常所使用的Windows 9x也只是DOS下的一个大型程序罢了,如果没有DOS的支持,它根本无法运行。但也由此可见[DOS]的功能其实是非常强大的,以及DOS软件拥有巨大的[开发潜能],因为像Windows那样强大的DOS增强程序都可以编出来,即windows的底层就是基于DOS开发而来的。

VMS被linux抢了饭碗,遇冷。比尔盖茨又拉入了VMS的研究人员。重新开发windows。开发了windows nt(new technology)
apple,乔布斯因内部斗争被赶出了apple,然后成了一个皮克斯动画公司,随后两三年成了好莱坞最著名的动画公司之一,后来又被apple召回委以重任CEO。

6.4)unix商业化

AT&T(美国电话电报公司) 被裁定违反了反垄断法,被分拆了,贝尔实验室独立出来了。

贝尔实验室不在受限于只能卖电话电报,那么unix是可以卖的了。那么当年那些受益于unix的,被他看成了肥肉了,是时候索取回报了,直接把BSD告上了法庭。

旷日持久的官司,让他们停步不前,而其他公司迅速发展。也最终导致了Unix这个昔日的巨人的没落。
unix商业化之后,一份unix4W美元。

Unix商业版本:
SUN:Solaris
IBM: AIX
HP:HP-UX

6.5)GNU

1985年,Richard Stallman(理查德·马修·斯托曼) 愤怒的认为unix大家都有过添砖加瓦的建设,应该共享。随即,发起GNU(GNU is not unix)自由操作系统,软件共享运动。
GPL:章程协议,英文全称(general Public License)
FSF:英文全称(Free Software Foundation)自由软件基金会
free: freedom。(自由)
X-window:加入GPL(分散式系统)

** GNU软件包列表 **
gcc : gnx c complier
vi: visual interface
…
free: freedom

GNU is not unix,但是所有软件建立在unix之上。迫切的希望拥有自己的操作系统。
大学教授Andrew,中文名:谭宁邦 : Minix, 4000行代码,但是不准别人加入代码(洁癖?),所以没能加入进来。

6.6.)Linux的发展之路

1.Unix操作系统的诞生

1969年Ken Thompson(肯.汤普森)利用组译语言编写Unix操作系统

1971~1973年Dennis Ritchie(丹尼斯·里奇)以C语言改写Unix

1977年Bill Joy(比尔·乔伊)释放出BSD(Berkeley Software Distribution)的Unix-Like操作系统

2.X86架构的Minix诞生

1984谭宁邦教授的Minix教学操作系统,提供原始码以及软件

3.各种免费软件团队的产生

1984 Richard Stallman GNU(GNU's not unix)计划:

Emacs编辑器+GNU C(GCC)+GNU C Library (glibc)+Bash Shell

FSF(free software foundation)自由软件基金会

GPL(General Public License)通用公共许可证

1988年 XFree86计划:X Window System+Free+X86

其他的开源团队: sendmail团队 wu-ftp团队 apache团队

# GNU的GPL解释

    1>任何个人或公司可释放出自由软件(free software)

    2>任何释放出自由软件的个人或公司,均可由自己的服务来收取适当的费用

    3>该软件的原始码(source code)需要随软件附上,并且是可公开发表的

    4>任何人可透过任何正常渠道取得此自由软件,且均可取得此授权模式

4.Linux操作系统的产生

1991年芬兰人开发出Linux(以Minix、GNU、Internet、POSIX标准、虚拟团队)

它是一个基于POSIX 的多用户、多任务并且支持多线程和多CPU的操作系统。

POSIX全称为Portable Operating System Interface,中文翻译为可移植操作系统接口,POSIX标准定义了操作系统应该为应用程序提供的接口

1994年linux 2.0 Linux Distribution(安装套件):Kernel+Free Softwares()+Application Tools

众多的distribution(安装套件)有何异同:

  • 相同点:利用同样的Linux Kernel,几乎相同的自由软件套件 (如GNU里面的gcc/glibc/vi/apache/sendmail/bind),几乎相同的操作系统接口 (bash/KDE/GNOME等等)
  • 不同点:使用的kernel与各软件的版本可能会不同;各开发商加入的应用工具不同 ,使用的套件管理方式不同(debian与RPM)
Linux的发展历程简介 
1984年,Andrew S.Tanenbaum开发了用于教学的UNIX系统,命名为Minix。
1989年,Andrew S.Tanenbaum将Minix系统运行于x86的PC平台。
1990年,芬兰赫尔辛基大学学生Linus Torvalds首次接触Minix系统。
1991年,Linus Torvalds开始在Minix上编写各种驱动程序等操作系统内核组件。
1991年年底,Linus Torvalds公开了Linux内核源码0.02版(http://www.kernel.org ),注意,这里公开的Linux内核源码并不是我们现在使用的Linux系统的全部,而仅仅是Linux内核(kernel)部分的代码。
1993年,Linux 1.0版发行,Linux转向GPL版权协议。
1994年,Linux的第一个商业发行版Slackware问世。
1996年,美国国家标准技术局的计算机系统实验室确认Linux版本1.2.13(由Open Linux公司打包)符合POSIX标准。
1999年,Linux的简体中文发行版问世。
2000年后,Linux系统日趋成熟,涌现大量基于Linux服务器平台的应用,并广泛应用于基于ARM技术的嵌入式系统中。、
2003年4月,Rad Hat Linux 9.0发布。重点放在改善桌面应用方面,包括改进安装过程、更好的字体浏览、更好的打印服务等。2003年,Rad Hat的Linux市场份额超过80%。
2004年4月,Red hat公司正式停止对Red Hat 9.0版本的支持,标志着Red Hat Linux的正式完结。原本的桌面版Red Hat Linux发行包则与来自民间的Fedora计划合并,称为Fedora Core发行版本。Red Hat公司不再开发桌面版的Linux发行包,而将全部力量集中在服务器版的开发上,也就是Red Hat Enterprise Linux版。
2005年10月RHEL4(Red Hat Enterprise Linux4)发布。
2007年3月,主流版本RHEL5(Red Hat Enterprise Linux 5)发布,CentOS系统开始在中国互联网公司流行。
2010年4月,RHEL6(Red Hat Enterprise Linux 6.0)BETA测试版发布。
2014年6月,RHEL7(Red Hat Enterprise Linux 7.0)发布,RHEL7.0版本和RHEL6.0以前的版本有了较大的变化,例如:内核版本升级到3.10以上,系统启动和基本管理变化较大,文件系统也有传统的ext改为xfs,同时在大数据、云计算、Docker方面做了很大优化。

Linux的发行商包括Slackware、Red Hat、Debian、Fedora、TurboLinux、Mandrake、SUSE、CentOS、Ubuntu、红旗、麒麟……

七、总结

1、操作系统发展简史

批处理系统-》分时操作系统-》multics-》unix-》linux-》各种linux发行版

# 美国的贝尔实验室诞生了unix,unix系统的优秀特性如下:
1、技术可靠、稳定性高
2、极强的可伸缩性、可适用于各种x86架构
3、强大的网络功能,tcp、ip支持良好
4、强大的数据库支持能力
5、强大的开发能力,比如c语言

2、Linux介绍

linux完全兼容unix的特特性,为何现在linux会如此受欢迎呢?
1、开源、不收费的操作系统,可自由传播(windows 操作系统收费,不开源)
2、没有任何的商业化版权制约(也会有商业发行版,但我们都不用)
3、linux支持多用户多任务多线程多cpu,主要用于企业环境


linux主要用于:
1、服务器
2、嵌入式开发
3、个人pc桌面

3、Linux 历史

1969年 在美国的贝尔实验室诞生了unix

1985年 斯托曼 发起自由软件运动 自由之父 FSF 自由软件基金会

         成立了一个项目 GNU (GNU is not unix)

         成立一个协议 GPL 通用公共许可协议

1987年 谭宁邦 大学教授,minix 微内核 主要 用于教学

1991年 托瓦兹 大学学生,研究内核 ,发布了0.02版本的Linux,Linux之父

1994年 发布了Linux1.0版本 并加入了GPL  -〉  GNU Linux操作系统


Linux操作系统的组成:

Linux内核 + GNU的项目 + 成千上万的程序员研发的程序软件

4、Linux的核心概念

FSF:自由软件基金会的缩写,提供技术上的研发

GNU:是FSF下面的一个项目 GNU is not unix

    优秀的软件:

    Emacs  编辑器 ; gcc 编译软件 ; bash 命令解释器 ;gawk 编程语言; 

    hurd内核(研发中)

GPL:通用公共许可协议

    a,开放源代码,可自由传播

    b,任何人都可以修改,必须把修改之后的源代码发布出来

5、Linux的发行版本

redhat 红帽,收费

Centos 红帽公司收购,去除了redhat的收费及logo部分编译而成的,开源

Fedora 红帽公司收购,redhat的预发布版,测试版

Ubuntu 乌班图,桌面版操作系统

Debian  对安全性要求比较高 FreeBSD差不多

SUSE  对数据库和电子邮件服务 ,收费的德国用的多;openSUSE免费

操作系统的发展历史 - 知乎一、什么是操作系统精简的说的话,操作系统就是一个协调、管理和控制计算机硬件资源和软件资源的控制程序。操作系统所处的位置如图1 # 操作系统位于计算机硬件与应用软件之间,本质也是一个软件。操作系统由操作系…https://zhuanlan.zhihu.com/p/367996835 附上:

  1. 手工操作
  2. 批处理系统
  3. 多道程序系统
  1. 分时系统
  2. 实时系统
  3. 通用操作系统
  1. 系统发展

手工操作

编辑 播报

1946年第一台计算机诞生--20世纪50年代中期,还未出现操作系统,计算机工作采用手工操作方式。

手工操作

程序员将对应用程序和数据的已穿孔的纸带(或卡片)装入输入机,然后启动输入机把程序和数据输入计算机内存,接着通过控制台开关启动程序针对数据运行;计算完毕,打印机输出计算结果;用户取走结果并卸下纸带(或卡片)后,才让下一个用户上机。

手工操作方式两个特点:

(1)用户独占全机。不会出现因资源已被其他用户占用而等待的现象,但资源的利用率低。

(2)CPU 等待手工操作。CPU的利用不充分。

 20世纪50年代后期,出现人机矛盾:手工操作的慢速度和计算机的高速度之间形成了尖锐矛盾,手工操作方式已严重损害了系统资源的利用率(使资源利用率降为百分之几,甚至更低),不能容忍。唯一的解决办法:只有摆脱人的手工操作,实现作业的自动过渡。这样就出现了成批处理

批处理系统

编辑 播报

批处理系统:加载在计算机上的一个系统软件,在它的控制下,计算机能够自动地、成批地处理一个或多个用户的作业(这作业包括程序、数据和命令)。

联机批处理系统

首先出现的是联机批处理系统,即作业的输入/输出由CPU来处理。

主机与输入机之间增加一个存储设备——磁带,在运行于主机上的监督程序的自动控制下,计算机可自动完成:成批地把输入机上的用户作业读入磁带,依次把磁带上的用户作业读入主机内存并执行并把计算结果向输出机输出。完成了上一批作业后,监督程序又从输入机上输入另一批作业,保存在磁带上,并按上述步骤重复处理。

监督程序不停地处理各个作业,从而实现了作业到作业的自动转接,减少了作业建立时间和手工操作时间,有效克服了人机矛盾,提高了计算机的利用率。

但是,在作业输入和结果输出时,主机的高速CPU仍处于空闲状态,等待慢速的输入/输出设备完成工作: 主机处于“忙等”状态。

脱机批处理系统

为克服与缓解:高速主机与慢速外设的矛盾,提高CPU的利用率,又引入了脱机批处理系统,即输入/输出脱离主机控制。

这种方式的显著特征是:增加一台不与主机直接相连而专门用于与输入/输出设备打交道的卫星机。

其功能是:

(1)从输入机上读取用户作业并放到输入磁带上。

(2)从输出磁带上读取执行结果并传给输出机。

这样,主机不是直接与慢速的输入/输出设备打交道,而是与速度相对较快的磁带机发生关系,有效缓解了主机与设备的矛盾。主机与卫星机可并行工作,二者分工明确,可以充分发挥主机的高速计算能力。

脱机批处理系统:20世纪60年代应用十分广泛,它极大缓解了人机矛盾及主机与外设的矛盾。IBM-7090/7094:配备的监督程序就是脱机批处理系统,是现代操作系统的原型。

不足:每次主机内存中仅存放一道作业,每当它运行期间发出输入/输出(I/O)请求后,高速的CPU便处于等待低速的I/O完成状态,致使CPU空闲。

为改善CPU的利用率,又引入了多道程序系统

多道程序系统

编辑 播报

多道程序设计技术

所谓多道程序设计技术,就是指允许多个程序同时进入内存并运行。即同时把多个程序放入内存,并允许它们交替在CPU中运行,它们共享系统中的各种硬、软件资源。当一道程序因I/O请求而暂停运行时,CPU便立即转去运行另一道程序。

单道程序的运行过程:

在A程序计算时,I/O空闲, A程序I/O操作时,CPU空闲(B程序也是同样);必须A工作完成后,B才能进入内存中开始工作,两者是串行的,全部完成共需时间=T1+T2。

多道程序的运行过程:

将A、B两道程序同时存放在内存中,它们在系统的控制下,可相互穿插、交替地在CPU上运行:当A程序因请求I/O操作而放弃CPU时,B程序就可占用CPU运行,这样 CPU不再空闲,而正进行A I/O操作的I/O设备也不空闲,显然,CPU和I/O设备都处于“忙”状态,大大提高了资源的利用率,从而也提高了系统的效率,A、B全部完成所需时间<<T1+T2。

多道程序设计技术不仅使CPU得到充分利用,同时改善I/O设备和内存的利用率,从而提高了整个系统的资源利用率和系统吞吐量(单位时间内处理作业(程序)的个数),最终提高了整个系统的效率。

单处理机系统中多道程序运行时的特点:

(1)多道:计算机内存中同时存放几道相互独立的程序;

(2)宏观上并行:同时进入系统的几道程序都处于运行过程中,即它们先后开始了各自的运行,但都未运行完毕;

(3)微观上串行:实际上,各道程序轮流地用CPU,并交替运行。

多道程序系统的出现,标志着操作系统渐趋成熟的阶段,先后出现了作业调度管理、处理机管理、存储器管理外部设备管理、文件系统管理等功能。

多道批处理系统

20世纪60年代中期,在前述的批处理系统中,引入多道程序设计技术后形成多道批处理系统(简称:批处理系统)。

它有两个特点:

(1)多道:系统内可同时容纳多个作业。这些作业放在外存中,组成一个后备队列,系统按一定的调度原则每次从后备作业队列中选取一个或多个作业进入内存运行,运行作业结束、退出运行和后备作业进入运行均由系统自动实现,从而在系统中形成一个自动转接的、连续的作业流

(2)成批:在系统运行过程中,不允许用户与其作业发生交互作用,即:作业一旦进入系统,用户就不能直接干预其作业的运行。

批处理系统的追求目标:提高系统资源利用率和系统吞吐量,以及作业流程的自动化。

批处理系统的一个重要缺点:不提供人机交互能力,给用户使用计算机带来不便。

虽然用户独占全机资源,并且直接控制程序的运行,可以随时了解程序运行情况。但这种工作方式因独占全机造成资源效率极低。

一种新的追求目标:既能保证计算机效率,又能方便用户使用计算机。 20世纪60年代中期,计算机技术和软件技术的发展使这种追求成为可能。

分时系统

编辑 播报

由于CPU速度不断提高和采用分时技术,一台计算机可同时连接多个用户终端,而每个用户可在自己的终端上联机使用计算机,好象自己独占机器一样。

分时技术:把处理机的运行时间分成很短的时间片,按时间片轮流把处理机分配给各联机作业使用。

若某个作业在分配给它的时间片内不能完成其计算,则该作业暂时中断,把处理机让给另一作业使用,等待下一轮时再继续其运行。由于计算机速度很快,作业运行轮转得很快,给每个用户的印象是,好象他独占了一台计算机。而每个用户可以通过自己的终端向系统发出各种操作控制命令,在充分的人机交互情况下,完成作业的运行。

具有上述特征的计算机系统称为分时系统,它允许多个用户同时联机使用计算机。

特点:

(1)多路性。若干个用户同时使用一台计算机。微观上看是各用户轮流使用计算机;宏观上看是各用户并行工作。

(2)交互性。用户可根据系统对请求的响应结果,进一步向系统提出新的请求。这种能使用户与系统进行人机对话的工作方式,明显地有别于批处理系统,因而,分时系统又被称为交互式系统。

(3)独立性。用户之间可以相互独立操作,互不干扰。系统保证各用户程序运行的完整性,不会发生相互混淆或破坏现象。

(4)及时性。系统可对用户的输入及时作出响应。分时系统性能的主要指标之一是响应时间,它是指:从终端发出命令到系统予以应答所需的时间。

分时系统的主要目标:对用户响应的及时性,即不至于用户等待每一个命令的处理时间过长。

分时系统可以同时接纳数十个甚至上百个用户,由于内存空间有限,往往采用对换(又称交换)方式的存储方法。即将未“轮到”的作业放入磁盘,一旦“轮到”,再将其调入内存;而时间片用完后,又将作业存回磁盘(俗称“滚进”、“滚出“法),使同一存储区域轮流为多个用户服务。

多用户分时系统是当今计算机操作系统中最普遍使用的一类操作系统。

实时系统

编辑 播报

虽然多道批处理系统分时系统能获得较令人满意的资源利用率和系统响应时间,但却不能满足实时控制与实时信息处理两个应用领域的需求。于是就产生了实时系统,即系统能够及时响应随机发生的外部事件,并在严格的时间范围内完成对该事件的处理。

实时系统在一个特定的应用中常作为一种控制设备来使用。

实时系统可分成两类:

(1)实时控制系统。当用于飞机飞行、导弹发射等的自动控制时,要求计算机能尽快处理测量系统测得的数据,及时地对飞机或导弹进行控制,或将有关信息通过显示终端提供给决策人员。当用于轧钢、石化等工业生产过程控制时,也要求计算机能及时处理由各类传感器送来的数据,然后控制相应的执行机构。

(2)实时信息处理系统。当用于预定飞机票、查询有关航班、航线、票价等事宜时,或当用于银行系统、情报检索系统时,都要求计算机能对终端设备发来的服务请求及时予以正确的回答。此类对响应及时性的要求稍弱于第一类。

实时操作系统的主要特点:

(1)及时响应。每一个信息接收、分析处理和发送的过程必须在严格的时间限制内完成。

(2)高可靠性。需采取冗余措施,双机系统前后台工作,也包括必要的保密措施等。

通用操作系统

编辑 播报

操作系统的三种基本类型:多道批处理系统、分时系统实时系统

通用操作系统:具有多种类型操作特征的操作系统。可以同时兼有多道批处理、分时、实时处理的功能,或其中两种以上的功能。

例如:实时处理+批处理=实时批处理系统。首先保证优先处理实时任务,插空进行批处理作业。常把实时任务称为前台作业,批作业称为后台作业。

再如:分时处理+批处理=分时批处理系统。即:时间要求不强的作业放入“后台”(批处理)处理,需频繁交互的作业在“前台”(分时)处理,处理机优先运行“前台”作业。

从上世纪60年代中期,国际上开始研制一些大型的通用操作系统。这些系统试图达到功能齐全、可适应各种应用范围和操作方式变化多端的环境的目标。但是,这些系统过于复杂和庞大,不仅付出了巨大的代价,且在解决其可靠性、可维护性和可理解性方面都遇到很大的困难。

相比之下,UNIX操作系统却是一个例外。这是一个通用的多用户分时交互型的操作系统。它首先建立的是一个精干的核心,而其功能却足以与许多大型的操作系统相媲美,在核心层以外,可以支持庞大的软件系统。它很快得到应用和推广,并不断完善,对现代操作系统有着重大的影响。

至此,操作系统的基本概念、功能、基本结构和组成都已形成并渐趋完善。

系统发展

编辑 播报

进入20世纪80年代,大规模集成电路工艺技术的飞跃发展,微处理机的出现和发展,掀起了计算机大发展大普及的浪潮。一方面迎来了个人计算机的时代,同时又向计算机网络、分布式处理、巨型计算机和智能化方向发展。于是,操作系统有了进一步的发展,如:个人计算机操作系统网络操作系统分布式操作系统等。

个人计算机操作系统

个人计算机上的操作系统是联机交互的单用户操作系统,它提供的联机交互功能与通用分时系统提供的功能很相似。

由于是个人专用,因此一些功能会简单得多。然而,由于个人计算机的应用普及,对于提供更方便友好的用户接口和丰富功能的文件系统的要求会愈来愈迫切。

网络操作系统

计算机网络:通过通信设施,将地理上分散的、具有自治功能的多个计算机系统互连起来,实现信息交换、资源共享、互操作和协作处理的系统。

网络操作系统:在原来各自计算机操作系统上,按照网络体系结构的各个协议标准增加网络管理模块,其中包括:通信、资源共享、系统安全和各种网络应用服务

分布式操作系统

表面上看,分布式系统计算机网络系统没有多大区别。分布式操作系统也是通过通信网络,将地理上分散的具有自治功能的数据处理系统或计算机系统互连起来,实现信息交换和资源共享,协作完成任务。——硬件连接相同。

但有如下一些明显的区别:

(1)分布式系统要求一个统一的操作系统,实现系统操作的统一性。

(2)分布式操作系统管理分布式系统中的所有资源,它负责全系统的资源分配和调度、任务划分、信息传输和控制协调工作,并为用户提供一个统一的界面。

(3)用户通过这一界面,实现所需要的操作和使用系统资源,至于操作定在哪一台计算机上执行,或使用哪台计算机的资源,则是操作系统完成的,用户不必知道,此谓:系统的透明性。

(4)分布式系统更强调分布式计算和处理,因此对于多机合作和系统重构、坚强性和容错能力有更高的要求,希望系统有:更短的响应时间、高吞吐量和高可靠性。

 操作系统发展史_百度百科操作系统并不是与计算机硬件一起诞生的,它是在人们使用计算机的过程中,为了满足两大需求:提高资源利用率、增强计算机系统性能,伴随着计算机技术本身及其应用的日益发展,而逐步地形成和完善起来的。https://baike.baidu.com/item/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F%E5%8F%91%E5%B1%95%E5%8F%B2/7832586?fr=aladdin

unix和linux是多用户多任务操作系统 ,属于分时操作系统,UNIX系统体系结构可以分为三个部分:操作系统内核(它是UNIX系统的核心管理和控制中心,用于系统启动时启动或驻留在内存中)、系统调用(用于程序开发者在开发应用程序时调用系统组件,包括进程管理、文件管理、设备状态等)、应用程序(包括各种开发工具、编译器、网络通信处理程序等,所有应用程序都在Shell的管理和控制下为用户服务)unix相对多路被戏称单一单路,UNIX拥有强大的网络功能,作为互联网基石的TCP/IP协议就是在UNIX系统上开发和发展起来的。UNIX多用于超级计算机、大型机,一开始就是一网络为中心的,每个中端有串口电路接入主机,各个中端相对独立

DOS单用户单任务操作系统,实时操作系统,注意和windows系统区分,开始还以为DOS属于早期的windows版本,实际二者不同。DOS四部分组成DOS系统采用层次型模块结构,由一个引导程序(Boot.ini)和三个层次模块:输入/输出管理程序模块(IO.SYS)、文件管理模块(MSDOS.SYS)、命令处理程序模块(COMMAND.COM)组成。文件管理模块(MSDOS.SYS)是内核

 

windows系统是在dos基础上发展,开始在DOS基础上加窗口。到后来彻底抛弃DOS,采用通用操作系统实时和分时相结合,单用户多任务操作系统,windows受到unix,DOS系统和苹果窗口的影响,苹果本身是属于类unix 主要受BSD -unix影响,windows算通用系统因为先占优先级表明实时,又有分时性。开始uinx为了大型机开发的,看不上个人pc

RTOS实时操作系统,强调中断优先级第一时间响应具体参考rtos

实时操作系统,强调中断优先级第一时间响应

分时操作系统,内核按照时间片分配进程操作,unix剥夺行分时,强制分时切换

关于网络TCP/IP(产生于unix操作系统,伯克利大学的unixBSD)

阿帕网由ncp升级为tcp/ip协议

internet网络的前身ARPANET当时使用的并不是传输控制协议/网际协议(Transmission Control Protocol/Internet Protocol,TCP/IP),而是一种叫网络控制协议(Network Control Protocol,NCP)的网络协议,但随着网络的发展和用户对网络的需求不断提高,设计者们发现,NCP协议存在着很多的缺点以至于不能充分支持ARPANET网络,特别是NCP仅能用于同构环境中(所谓同构环境是网络上的所有计算机都运行相同的操作系统),设计者就认为“同构”这一限制不应被加到一个分布广泛的网络上。1980年,用于“异构”网络环境中的TCP/IP协议研制成功,也就是说,TCP/IP协议可以在各种硬件和操作系统上实现互操作。1982年,ARPANET开始采用TCP/IP协议。

产生过程(1)1973年,卡恩与瑟夫开发出了TCP/IP协议中最核心的两个协议:TCP协议和IP协议。在伯克利UNIX系统上开发和发展起来的[1](2)1974年12月,卡恩与瑟夫正式发表了TCP/IP协议并对其进行了详细的说明。同时,为了验证TCP/IP协议的可用性,使一个数据包由一端发出,在经过近10万km的旅程后到达服务端。在这次传输中,数据包没有丢失一个字节,这充分说明了TCP/IP协议的成功。[1]

(3)1983年元旦,TCP/IP协议正式替代NCP,从此以后TCP/IP成为大部分因特网共同遵守的一种网络规则。[1](4)1984年,TCP/IP协议得到美国国防部的肯定,成为多数计算机共同遵守的一个标准。[1]

具体操作系统特点查找各个系统的百度百科

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值