计算机与操作系统

 概念

计算机与操作系统


 计算机与操作系统

如图1-1给出了一个逻辑上的简化视图,图的底部是硬件,硬件包括芯片、电路板、磁盘、键盘、显示器以及类似的设备,在硬件的顶部是软件。

多数计算机有两种运行模式:内核态和用户态。软件中最基础也是最核心的部分是操作系统,它运行在内核态,在这个模式中,操作系统具有对所有硬件的安全访问权,可以执行机器能够运行的任

何指令;软件的其余部分运行在用户态下,只使用机器指令中的一个子集;用户接口程序如GUI处于用户态程序中最低层次,允许用户使用或运行其他程序,诸如web浏览器等。

如图1-1所示,操作系统运行在裸机之上,为所有软件提供基础的运行环境。

操作系统与普通软件区别

1、用户不喜欢某个普通软件,如XX阅读器,他可以换或者自己写一个;操作系统是很难编写的,操作系统源代码有500万行甚至更高数量级的。

2、操作系统更加大型、复杂、长寿;普通软件更加小型、简单、寿命周期短。

操作系统定义

操作系统定义:是一种运行在内核态的软件,是一组控制和管理计算机软硬件资源,同时为用户提供使用计算机应用程序的集合。

操作系统的两大基本职能:面向机器管理计算机;面向用户使用计算机。

主要两大作用:管理和使用计算机

主要特征:并发性;共享性;虚拟性和不确定性

操作系统的主要功能有:进程管理;存储管理;设备管理;文件管理,用户接口等等。

计算机与操作系统的发展史

第一台真正纯机械的数字计算机是英国数学家Charles Babbage(1792~1871)设计的,但是他始终未能让机器正常运转,毫无疑问,这台数字计算机是没有操作系统的。

第一代(1945~1955):真空管和穿孔卡片, 数字计算机

艾奥瓦州立大学的John Atanasoff教授和他的学生Clifford Berry建造了被认为是第一台可工作的数字计算机,该机器使用了300个真空管

大约在同时,Konrad Zuse在柏林用继电器构建了Z3计算机。

1944年,一群科学家在英格兰布莱切利庄园构建了Colossus并为其编程;Howard Aiken在哈佛大学构建了Mark I;

世界上第一台通用的电子计算机“ENIAC”于1946年2月14日在美国宾夕法尼亚大学诞生。发明人是美国人莫克利(JohnW.Mauchly)和艾克特(J.PresperEckert)。美国国防部用它来进行弹道计算。它是一个庞然大物,用了18000个电子管,占地170平方米,重达30吨,耗电功率约150千瓦,每秒钟可进行5000次运算,这在现在看来微不足道,但在当时却是破天荒的。 ENIAC以电子管作为元器件,所以又被称为电子管计算机,是计算机的第一代。电子管计算机由于使用的电子管体积很大,耗电量大,易发热,因而工作的时间不能太长。

这些机器有的是二进制,有的使用真空管,有的可以编程,但都是非常原始,甚至需要花费数秒时间才能完成最简单的运算。20世纪50年代初,出现穿孔卡片,可以将程序写在卡片上,然后读入计

算机而不用插件板,但其他过程依旧。

第二代(1955~1965):晶体管和批处理系统, 大型计算机

20世纪50年代,晶体管出现,厂商可以成批生产并销售机器给用户,用户可以指望机器长时间运行,完成一些有用的工作,这些机器,被称为“大型计算机”,由专业操作人员运行,只有少数大公司、重要的政府部门或大学才接受数百万美元的标价。由于机器非常昂贵,为减少机时浪费而采用批处理系统的解决办法。如下图:

计算机与操作系统

第二代大型计算机主要用于科学与工程计算,典型的操作系统有:FMS(FORTRAN监控系统)和IBSYS(IBM为7094机配备的操作系统)。

第三代(1965~1980):集成电路和多道程序设计, 小型计算机崛起

20世纪60年代初,大多数计算机厂商都有两条不同并且完全不兼容的生产线。一条是面向数字的大型科学用计算机如:IBM 7094,操作系统是IBSYS,主要用于工业强度的科学和工程计算;另一条是面向字符的商用计算机如:IBM 1401,银行和保险公司主要用它从事磁带归档和打印服务。由于开发和维护两种完全不同的产品,对厂商来说是昂贵的,另外,用户一开始时需要一台小计算机,后来又需要一台大计算机。IBM公司试图通过引入Syetem/360来一次性解决这两个问题,360是一个软件兼容的计算机系列,是第一个采用集成电路的主流机型,操作系统是OS/360。OS/360和其他公司类似的第三代操作系统最重要的是采用多道程序设计,将内存分为几个部分,每部分存放不同作业,当一个作业等待I/O操作完成时,另一个作业可以使用CPU,减少CPU空闲时间的浪费。

第三代计算机另外一个特性是:任何时刻当一个作业运行结束时,操作系统就能将一个新作业从磁盘读出,装进空出来的内存区域运行,这种技术叫同时的外部设备联机操作,即SPOOLing技术。

第三代操作系统很适用于大型科学计算和繁忙商务数据处理,实质上仍旧是批处理系统。

而对第三代计算机而言,一个作业提交到运算结果取回往往长达数小时,浪费程序员的时间,这种需求导致了分时系统的出现,实际上是多道程序设计的一个变体,每个用户都有一个联机终端。

第一个通用的分时系统——CTSS,是麻省理工学院在一台改装过的7094机上开发成功的,接着,MULTICS系统出现,即能够同时支持数百名分时用户的一种机器。

第三代计算机主要的进展是:由大型计算机向小型计算机过渡,小型计算机崛起,如:1961年的PDP-1计算机,很热销,顶峰为PDP-11。

第四代(1980年至今):个人计算机

随着LSI(大规模集成)电路的发展,个人计算机时代到来了。

以往,公司的一个部门或大学里的一个院系才能配备一台小型计算机,多人一起使用;

而微处理器确使每个人都能拥有自己的个人计算机(那个时候叫微型计算机)了。

20世纪60年代,Doug Engelbart发明了图形用户界面(GUI),包括窗口、图标、菜单以及鼠标。这些思想首先于1973年被Xerox公司应用到经过改进的Alto电脑系统中,但是遗憾的是,当时这些系统都是实验用的,完全被用于研究工作,并没有向大众推广。

1970年,UNIX操作系统(尤尼斯)诞生,是一个强大的多用户、多任务操作系统,支持多种处理器架构,按照操作系统的分类,属于分时操作系统,最早由KenThompson、Dennis Ritchie和Douglas McIlroy于1969年在AT&T贝尔实验室开发。目前它的商标权由国际开放标准组织所拥有,只有符合单一UNIX规范的UNIX系统才能使用UNIX这个名称,否则只能称为类UNIXUNIX-like)。1970年可称为"UNIX元年"。

1974年,Intel 8080第一代通用8位CPU出现时,Intel希望有一个8080操作系统,请求其顾问Gary Kildall编写,kildall和一位朋友构造了第一台配有磁盘的微型计算机,并为它写了一个基于磁盘的CP/M操作系统。Kildall于是组建了一家公司Digital Research,进一步开发和销售CP/M,1977年,Digital Research重写CP/M,使其可以在使用8080、Zilog Z80以及其他CPU芯片的多种微型计算机运行,从而完全控制了微型计算机世界长达5年之久,成为当时主宰操作系统的公司。

1981年,DOS操作系统出现,DOS,是磁盘操作系统的缩写,是个人计算机上的一类操作系统。20世纪80年代早期,IBM设计了IBM PC,并寻找可在PC上运行的操作系统,后来,IBM购买了计算机制造商Seattle Computer Products的操作系统DOS,同时,IBM雇佣写DOS作者Tim Paterson进行修改,修改版为MS-DOS,并且很快主导了IBM PC市场。1983年,IBM PC后续机型IBM PC/AT推出,配有Intel 80286 CPU,此时,MS-DOS在IBM PC兼容机市场中占有举足轻重的地位,而CP/M只剩下最后的支撑。

1991年,Linux由Linus Benedict Torvalds开发,于当年10月在comp.os.minix新闻组上发布消息,正式向外宣布Linux操作系统的诞生,严格上讲这时只是个内核还不能称其为一个完整的系统,之后在网上广泛流传,许多程序员参与了开发与修改,后来Linux内核结合GNU软件才诞生了现在的Linux。为什么Linus Benedict Torvalds要开发Linux呢,主要还是因为当时Unix的商业限制导致的,如果Unix当时不闭源的话,可能就没有现在的Linux系统了。

1993年,FreeBSD操作系统发展起来,FreeBSD是一种类UNIX操作系统,是由经过BSD、386BSD和4.4BSD发展而来的Unix的一个重要分支。FreeBSD 为不同架构的计算机系统提供了不同程度的支持。并且一些原来BSD UNIX的开发者后来转到FreeBSD的开发,使得FreeBSD在内部结构和系统API上和UNIX有很大的兼容性。由于FreeBSD宽松的法律条款,其代码被好多其他系统借鉴包括苹果公司的OS X,正是由于OS X的UNIX兼容性,使得OS X获得了UNIX商标认证

注意:早期的操作系统CP/M、DOS、Unix还是其他操作系统,是通过键盘输入命令操作的,那个时候计算机还没有图形用户(GUI)界面,图形界面的特点是人们不需要记忆和键入繁琐的命令,只需要使用鼠标直接操纵界面。

1979年,苹果公司创始人Steve Jobs被Xerox公司邀请观看Alto以及执行在该系统上的软件。Steve Jobs被自己所看到的电脑技术所震撼,他意识到这些技术代表了电脑未来的发展潮流。这些技术就包括使用鼠标作为指点输入设备和操作系统使用的GUI(Graphics User Interface,图形用户界面)。苹果公司立即将这些功能加入自己的系统中,准备开发新型的家用电脑,并且高薪挖到了十几位Xerox公司的技术人员。 1981年,Xerox公司推出了使用鼠标,并应用GUI操作系统的Star 8010电脑,这是大众首次了解鼠标,可惜由于这种电脑价格过于昂贵,销量很小。尽管如此,鼠标已经引起了不少人的注意,并开始为人们所掌握。

1983年,苹果公司正式推出LISA电脑,这是Apple公司自己的第一台使用鼠标的电脑,进一步把鼠标介绍给了广大用户,让用户认识到了鼠标的作用。

1984年,LISA的升级产品--Macintosh问世。这是Apple公司的一个里程碑,也是电脑发展史上的一个里程碑,它为Apple公司带来丰厚收入的同时,也让鼠标走进了前家万户。

1999年,苹果公司采用了一种内核,来自本是替换BSD UNIX内核而开发的卡内基.梅隆大学的Mach微核,尽管有着截然不同的界面,但MAC OS X操作系统是基于UNIX的操作系统。

Mac OS操作系统演变历程:

1984年,Mac OS发布。
Mac OS X
Mac OS X 10.0 “Cheetah”
Mac OS X 10.1 "Puma"
Mac OS X 10.2 "Jaguar"
Mac OS X 10.3 "Panther"
Mac OS X 10.4 "Tiger"
Mac OS X 10.5 "Leopard"
Mac OS X 10.6"Snow Leopard" (这个版本的mac系统将只提供对intel处理器的支持)
Mac OS X 10.7 "Lion"
OS X 10.8 "Mountain Lion"(去掉久远的Mac,体现Mac与iOS的融合)
OS X 10.9 "Mavericks"
OS X 10.10 “Yosemite"
OS X 10.11 “El Capitan“
macOS 10.12 “Sierra“
macOS 10.13 “High Sierra”
目前最新版本是macOS 10.14 "Mojave"
 
 
从1981年MS-DOS1.0直到1995年MS-DOS7.1的15年间,操作系统DOS作为微软公司在个人计算机上使用的一个操作系统载体,推出了多个版本。
在微软决定构建MS-DOS的后继产品时,受到了Macintosh成功的巨大影响,微软开发了基于GUI的名为Windows操作系统(更像shell),早期运行在MS-DOS上层,在1985~1995年十年期间,windows只是运行在MS-DOS上层的一个图形环境。
Windows操作系统版本演变历程:
然而到了1995年,一个独立的具有许多操作系统功能的Windows 95版本发布了。
1998年,Windows 98发布。
紧接着,Windows NT发布。
1999年,Windows NT5.0改名为Windows 2000。
不过以上两个版本不太成功,微软发布了Windows Me版本。
Windows 2000以后,微软发布了客户端Windows XP,服务器端发布了Windows Server 2003和Windows Server2008。
2007年,微软发布了Windows XP的后继版,名为 Windows vista。
然后,发布了Windows 7。
2012年,Windows 8出现。
目前最新版本是Windows 10。
 
第五代(1990年至今):移动计算机
1946年,第一台真正的移动电话出现并且重达80斤。
20世纪70年代,第一台真正手持电话出现,大约2斤重。
20世纪90年代中期,第一台真正的智能手机出现,这部手机就是诺基亚发布的N9000
1999年,塞班公司推出Symbian OS v5.x操作系统。在智能手机出现后的十年中,大多数手机都运行着Symbian OS。
2002年,RIM公司推出的Blackberry OS操作系统
2007年,苹果公司第一代iPhone发布的iOS操作系统
2008年,谷歌公司发布基于Linux系统的Android操作系统
2010年,微软公司推出Windows Phone操作系统
 
操作系统分类
1、大型机操作系统         房间般大小的计算机在一些大型公司的数据中心看到,I/O处理能力特别巨大,主要面向多个作业的同时处理,提供:批处理、事务处理和分时。例子:OS/390
2、服务器操作系统(也叫网络操作系统)在服务器上运行,通过网络同时为若干个用户服务,并允许用户共享软硬件资源。例子:Solaris、FreeBSD、Unix、Linux和Windows Server 201x
3、多处理器操作系统      获得大量联合计算能力的常用方式是将多个CPU连接成单个的系统。像Windows和Linux都可以运行在多核处理器上。
4、个人计算机操作系统   支持多道程序处理,启动时,通常有几十个程序开始运行。例子:Linux、FreeBSD、Windows 7、Windows 8 和苹果公司的OS X
5、掌上计算机操作系统   平板电脑、智能手机和其他掌上计算机系统是一种可以握在手中操作的小型计算机。例子:平板电脑和智能手机
6、嵌入式操作系统         在用来控制设备的计算机运行,不允许用户安装软件。例子:微波炉、电视机、汽车、DVD刻录机、移动电话
7、传感器节点操作系统   配置微小传感器节点网络,这些节点可以彼此通信并且可以使用无线通信基站的微型计算机。例子:森林火灾探测系统、气象预测系统、TinyOS等
8、实时操作系统            将时间作为关键参数。实时系统更多用于工业领域。
9、智能卡操作系统         最小的操作系统运行在智能卡上,智能卡是一种包含一块CPU芯片的信用卡。有些智能卡是面向Java的,意味着智能卡的ROM中有一个Java虚拟机解释器。

相关推荐