操作系统
操作系统(Operating System,简称OS)是管理和控制计算机硬件与软件资源的计算机程序,是直接运行在“裸机”上的最基本的系统软件,任何其他软件都必须在操作系统的支持下才能运行。
操作系统是用户和计算机的接口,同时也是计算机硬件和其他软件的接口。操作系统的功能包括管理计算机系统的硬件、软件及数据资源,控制程序运行,改善人机界面,为其它应用软件提供支持,让计算机系统所有资源最大限度地发挥作用,提供各种形式的用户界面,使用户有一个好的工作环境,为其它软件的开发提供必要的服务和相应的接口等。实际上,用户是不用接触操作系统的,操作系统管理着计算机硬件资源,同时按照应用程序的资源请求,分配资源,如:划分CPU时间,内存空间的开辟,调用打印机等。
操作系统就像咱们计算机的大管家,负责帮助主人高效地管理所有资源。
相关书籍:
操作系统原理
UNIX
Unix最初受到Multics计划的启发。Multics是由麻省理工学院、通用电气和AT&T底下的贝尔实验室合作进行的操作系统项目,被设计运行在GE-645大型主机上。但是由于整个目标过于庞大,糅合了太多的特性,Multics虽然发布了一些产品,但是性能都很低,AT&T最终撤出了投入Multics项目的资源,退出这项合作计划。
贝尔实验室最初参与Multics计划的部门为计算器技术研发部门(Computing Techniques Research Department),部门主管为道格拉斯·麦克罗伊,其下的工程师,原有丹尼斯·里奇、布莱恩·柯林汉、道格拉斯·麦克罗伊、麦克·列斯克(Mike Lesk)与乔伊·欧桑纳(Joe Ossanna)等人,为了Multics计划,他们又召募了肯·汤普逊加入其中。肯·汤普逊进入Multics计划不久,计划就中止了,但因为机器仍然保留在贝尔实验室,他继续在GE-645上开发软件。肯·汤普逊在GE-645上,写出了一个仿真器,可以让一个文件系统与内存分页机制运作起来。他同时也写了一个程序语言Bon,编写了一个太空旅行游戏。经过实际运行后,他发现游戏速度很慢而且耗费昂贵,每次运行会花费75美元。在GE-645被搬走后,肯·汤普逊在实验室中寻找没人使用的机器,找到了几台PDP-7。丹尼斯·里奇的帮助下,汤普逊用PDP-7的汇编语言重写了这个游戏,并使其在DEC PDP-7上运行起来。这次经历加上Multics项目的经验,促使汤普逊开始在DEC PDP-7上研究如何开发操作系统。
1969年,肯·汤普逊提议在PDP-7上开发一个新的阶层式操作系统的计划。Multics的原有成员,加上Rudd Canady,都投入这个计划。肯·汤普逊发现要编写驱动程序来驱动文件系统,进行测试,并不容易,于是开发了一个壳层(shell)与一些驱动程序,做出一个操作系统的雏形。在团队合作下,Multics的许多功能都被采纳,重新实作,最终做出了一个分时多任务操作系统,成为第一版UNIX。因为Multics来自“MULTiplexed Information and Computing System”的缩写,在1970年,那部PDP-7却只能支持两个用户,彼得·纽曼(Peter G. Neumann)戏称他们的系统其实是:“UNiplexed Information and Computing System”,缩写为“UNICS”。于是这个项目被称为UnICS(Uniplexed Information and Computing System)。因为PDP-7的性能不佳,肯·汤普逊与丹尼斯·里奇决定把第一版UNIX移植到PDP-11/20的机器上,开发第二版UNIX。在性能提升后,真正可以提供多人同时使用,布莱恩·柯林汉提议将它的名称改为UNIX。
第一版UNIX是用PDP-7汇编语言编写的,一些应用是由叫做B语言的解释型语言和汇编语言混合编写的。在进行系统编程时不够强大,所以汤普逊和里奇对其进行了改造,并于1971年共同发明了C语言。1973年汤普逊和里奇用C语言重写了Unix,形成第三版UNIX。在当时,为了实现最高效率,系统程序都是由汇编语言编写,所以汤普逊和里奇此举是极具大胆创新和革命意义的。用C语言编写的Unix代码简洁紧凑、易移植、易读、易修改,为此后Unix的发展奠定了坚实基础。
Linux
Linux 的诞生
Linux操作系统内核诞生于1991 年10 月5 日(这是Linux完成代码后第一次正式向外公布时间)。
发展和成长过程始终依赖着五个重要支柱:UNIX 操作系统、MINIX 操作系统、GNU计划、POSIX 标准和Internet 网络。
1981 年IBM公司推出微型计算机IBM PC。
1991年,GNU计划已经开发出了许多工具软件,最受期盼的GNU C编译器已经出现,GNU的操作系统核心HURD一直处于实验阶段,没有任何可用性,实质上也没能开发出完整的GNU操作系统,但是GNU奠定了Linux用户基础和开发环境。
1991年初,林纳斯·托瓦兹开始在一台386sx兼容微机上学习minix操作系统。1991年4月,林纳斯·托瓦兹开始酝酿并着手编制自己的操作系统。
1991 年4 月13 日在comp.os.minix 上发布说自己已经成功地将bash 移植到了minix 上,而且已经爱不释手、不能离开这个shell软件了。
1991年7月3日,第一个与Linux有关的消息是在comp.os.minix上发布的(当然此时还不存在Linux这个名称,当时林纳斯·托瓦兹的脑子里想的可能是FREAX,FREAX的英文含义是怪诞的、怪物、异想天开等)。
1991年的10月5日,林纳斯·托瓦兹在comp.os.minix新闻组上发布消息,正式向外宣布Linux内核的诞生(Freeminix-like kernel sources for 386-AT)。
1993年,大约有100余名程序员参与了Linux内核代码编写/修改工作,其中核心组由5人组成,此时Linux 0.99的代码大约有十万行,用户大约有10万左右。
1994年3月,Linux1.0发布,代码量17万行,当时是按照完全自由免费的协议发布,随后正式采用GPL协议。
1995年1月,Bob Young创办了RedHat(小红帽),以GNU/Linux为核心,集成了400多个源代码开放的程序模块,搞出了一种冠以品牌的Linux,即RedHat Linux,称为Linux"发行版",在市场上出售。这在经营模式上是一种创举。
Linux内核
严格来讲,Linux这个词本身只表示Linux内核,但实际上人们已经习惯了用Linux来形容整个基于Linux内核并使用GNU 工程各种工具和数据库的操作系统。linux内核代码在linux.org 上可以下载。
Linux存在着许多不同的Linux发行版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。
查看Linux系统的内核版本
pc@iZ25g2i2xsmZ:~/code$ uname -r
3.13.0-86-generic
内核版本的规律
Linux内核版本号由3组数字组成:内核主版本.次版本.修订次数
Linux内核版本有两种:稳定版和开发版 ,
第二个组数字:偶数表示稳定版本;奇数表示开发版本。
比如 3.13.0-86-generic
第一个组数字: 3 , 主版本号
第二个组数字: 13 , 次版本号,表开发版本(奇数)
第三个组数字: 0 , 修订版本号。
那 4.4.0-53-generic 的意义呢?
Linux发行版
我会告诉你,很多很多.....
ubuntu 乌邦图
老司机评论: 就桌面应用而言是Linux发行版中的翘楚
redhat 小红帽
Linux家族中的贵族.免费给你用,但是服务收费。
centos
老司机评论:跟红帽是亲兄弟,是一个x86服务器上使用比较多的Linux发行版本。
看了那么多都是外国做的产品,来点中国特色的吧
red-flag linux 红旗 官网 http://www.redflag-linux.com/