第1章UNIX和Linux操作系统概述
- 格式:doc
- 大小:1.48 MB
- 文档页数:11
第1章 Linux概述1.什么是Linux?Linux是一套免费使用和自由传播的类UNIX操作系统,源代码开放,能运行于各类硬件平台,包括Intel x86系列和RISC处理器。
这个系统是由世界各地成千上万的程序员设计和实现的。
其目的是建立不受任何商品化软件的版权制约的、全世界都能自由使用的UNIX兼容产品。
2.Linux有哪些特性?(1)开放性(2)多用户(3)多任务(4)良好的用户界面(5)设备独立性(6)丰富的网络功能(7)可靠的系统安全(8)良好的可移植性3.Linux与Windows操作系统的主要区别是什么?(1)从发展的背景看,Linux是从一个比较成熟的操作系统发展而来的,而其他操作系统,如Windows等,都是自成体系,无对应的相依托的操作系统(2)从使用费用上看,Linux是一种开放、免费的操作系统,Windows是封闭的系统,需要有偿使用。
(3)Linux上丰富的应用软件也是自由的,而在Windows下,几乎所有的软件都有独立的版权,需要购买使用,即使某些软件可以免费使用,也一般不提供其源代码,更不用说由用户修改扩充其功能了。
(4)Windows对硬件配置要求高,而Linux在低端PC系统上仍然可以流畅运行4.Linux与Unix的共同点与不同点是什么?共同点:由于Linux是从Unix发展来到,它遵循Unix开放标准,基本支持同样的软件、程序设计环境和网络特性,可以说Linux是UNIX的PC版本,Linux在PC机上提供了相当于UNIX工作站的性能。
与商用Unix的不同点有:1)Linux是免费软件,用户可以从网上下载,而商用的UNIX除了软件本身的价格外,用户还需支付文档、售后服务费用;2)Linux拥有GNU软件支持,Linux能够运行GNU计划的大量免费软件,这些软件包括应用程序开发、文字处理、游戏等方面的内容;3)Linux的开发是开放的,任何志愿者都可以对开发过程做出贡献;而商用UNIX则是由专门的软件公司进行开发的。
第1章 UNIX操作系统概述1.1 UNIX操作系统简介UNIX是较早广泛使用的计算机操作系统之一,它的第一版于1969年在Bell实验室产生,1975年对外公布,1976年以后在Bell实验室外广泛使用。
应用范围应用到几乎所有16位及以上的计算机上,包括微机、工作站、小型机、多处理机和大型机等等。
UNIX特点(1) 多任务、多用户(2) 并行处理能力(3) 管道(4) 安全保护机制(5) 功能强大的shell(6) 强大的网络支持,Internet上各种服务器的首选操作系统(7) 稳定性好(8) 系统源代码用C语言写成,移植性强(9) 出售源代码,软件厂家自己增删UNIX流派举例UNIX类别计算机SCO UNIX PC兼容机Digital Unix Dec Alpha机Solaries Sun 小型机工作站AIX IBM机HPUX HP小型机工作站Linux 各种机器1.2 UNIX系统组成UNIX操作系统结构由三大部分组成:(1)kernel(内核)(2)shell(外壳)(3)工具及应用程序UNIX Kernel(UNIX内核)是UNIX操作系统的核心,指挥调度UNIX机器的运行,直接控制计算机的资源,保护用户程序不受错综复杂的硬件事件细节的影响。
UNIX Shell(UNIX外壳)是一个UNIX的特殊程序,是UNIX内核和用户的接口,是UNIX的命令解释器。
目前常见的Shell有三种:shell类型简称命令主要特点Bourne Shell B Shell sh 最老、使用最广泛,每个UNIX都提供。
Korn Shell K Shell ksh 是对B Shell的扩充,兼容B Shell。
C-Shell csh 格式有点象C语言。
功能强,命令记忆稍难,在大学和学院中较为流行。
一般系统缺省为Bourne Shell, 本文以此shell为例。
要想将当前Shell改为其它Shell,只需在操作系统提示符下键入相应的Shell命令即可。
第1章Linux系统概述和安装Linux系统是一种类UNIX的完整操作系统。
它不仅功能强大、运行稳定,而且用户可免费使用,分析其源代码。
Linux系统支持x86、ARM等大多数常见硬件架构和TCP/IP 等主流网络协议,有良好的跨平台性能,应用面极其广阔。
本章将介绍Linux系统的基本概念,并演示如何安装一套带有X Window图形操作界面的Linux系统发布版。
1.1 引言计算机系统由硬件系统和软件系统所组成,软件系统中最为重要的是操作系统。
Linux 作为操作系统管理着计算机内所有的硬件资源和软件资源,仿佛是计算机的灵魂。
Linux 系统基于GPL协议发布,该协议是GNU项目所创立开放源代码的公共许可证。
要理解Linux系统并以一种全新的方式开发和发布软件,首先则需要了解GNU项目和Linux系统的渊源。
1.1.1 GNU项目简介GNU项目在1983年由理查德·斯托曼(Richard Stallman)创立,最初的目标是通过使用必要的工具从源代码开始创建一个自由的类UNIX操作系统。
此前的软件均以源代码的形式发布,用户可以根据自己需要修改源代码。
但自从那时起,软件厂商为了保护自己的商业利益,开始使用编译所得的二进制文件发布软件,从而使软件的源代码变为“商业秘密”。
为了改变当时不利于软件技术发展的格局,GNU项目花了十余年时间创建了GCC编译器、Emacs编辑器等多个工具。
所有的工具以源代码形式发布,并且无需支付任何费用,只是这些工具的改进版本和衍生品必须遵循同样的发布形式,这就形成了GPL协议。
但它在20世纪80年代缺少了一个最关键的组件,即操作系统核心,直到Linux系统的诞生。
GNU项目组织结构如图1.1所示。
1.1.2 Linux起源安德鲁·塔能鲍姆(Andrew Tanenbaum)出于教学目的编写了名为Minix的类UNIX 操作系统。
芬兰赫尔辛基大学在读的学生林纳斯·托瓦兹(Linus Torvalds)认为Minix有许多地方不合理,于是开始为自己AT 386微机设计新的操作系统核心。
国家开放大学《操作系统》章节测试参考答案第1章操作系统概述一、单项选择题1.操作系统的基本职能是()。
A. 提供用户界面,方便用户使用B. 提供方便的可视化编辑程序C. 提供功能强大的网络管理工具D. 控制和管理系统内各种资源,有效地组织多道程序的运行2.按照所起的作用和需要的运行环境,操作系统属于()。
A. 应用软件B. 系统软件C. 支撑软件D. 用户软件3.在计算机系统中,操作系统是()。
A. 处于裸机之上的第一层软件B. 处于系统软件之上的用户软件C. 处于应用软件之上的系统软件D. 处于硬件之下的低层软件4.现代操作系统的基本特征是()、资源共享和操作的异步性。
A. 程序的并发执行B. 实现分时与实时处理C. 多道程序设计D. 中断处理5.以下不属于操作系统具备的主要功能的是()。
A. 中断处理B. CPU调度C. 内存管理D. 文档编辑6.为用户分配主存空间,保护主存中的程序和数据不被破坏,提高主存空间的利用率。
这属于()。
A. 存储管理B. 作业管理C. 文件管理D. 处理器管理7.操作系统对缓冲区的管理属于()的功能。
A. 设备管理B. 存储器管理C. 文件管理D. 处理器管理8.操作系统内核与用户程序、应用程序之间的接口是()。
A. shell命令B. C语言函数C. 图形界面D. 系统调用9.系统调用是由操作系统提供的内部调用,它()。
A. 与系统的命令一样B. 直接通过键盘交互方式使用C. 是命令接口中的命令D. 只能通过用户程序间接使用10.在下列操作系统中,强调吞吐能力的是()。
A. 多道批处理系统B. 实时系统C. 网络系统D. 分时系统11.批处理系统的主要缺点是()。
A. CPU的利用率不高B. 系统吞吐量小C. 不具备并行性D. 失去了交互性12.为了使系统中所有的用户都能得到及时的响应,该操作系统应该是()。
A. 分时系统B. 网络系统C. 实时系统D. 多道批处理系统13.下面不属于分时系统特征的是()。
第1章UNIX和Linux操作系统概述一谈到Linux就不得不谈到UNIX,因为Linux是从UNIX发展而来的。
Linux本身也是UNIX系统大家族中的一员。
毫无疑问,UNIX和Linux在目前和可以预见的将来都是最有影响的计算机操作系统。
UNIX和Linux系统被广泛地应用到大中企业级服务器和Web 服务器上,它们已经成为了当今的主流操作系统。
1.1 什么是UNIXUNIX是一个计算机操作系统,一个用来协调、管理和控制计算机硬件和软件资源的控制程序。
UNIX操作系统是一个多用户和多任务操作系统:多用户表示在同一时刻可以有多个用户同时使用UNIX操作系统而且他们互不干扰;多任务表示任何用户在同一时间可以在UNIX操作系统上运行多个程序。
与Windows操作系统不同的是UNIX主要的用户界面是命令行界面(UNIX也有图形界面),用户通过UNIX系统提供的命令来操作计算机系统。
UNIX一共有大约250多个命令,但是常用的很少。
Windows被称为用户友好的操作系统,因为普通用户很容易学习和使用。
UNIX被称为程序员友好的操作系统,因为程序员可以方便地重新配置UNIX操作系统使之适应于自己的工作环境。
UNIX系统不但可以使用在大中型计算机、小型计算机、工作站上,随着微型机的功能不断提高和Internet的发展,UNIX(特别是Linux)系统也越来越多地使用在微机上。
UNIX 得到企业的广泛应用的主要原因是该系统的功能强大、可靠性高、技术成熟、网络功能强大、开放性好等特点。
Linux被广泛地应用于Web服务器的另一个非常重要的原因是其成本非常低廉(应该是最低的),因为绝大多数Linux软件是免费的。
1.2 UNIX的简要发展史UNIX操作系统的诞生本身就是一个传奇。
事情可以追溯到20世纪60年代末期,当时美国麻省理工学院(MIT)、AT&T公司的贝尔(Bell)实验室和通用电气公司(GE)联合研发一个叫做Multics(Multiplexed Information and Computing System)的操作系统。
Multics被设计运行在GE-645大型计算机上,由于系统目标过于庞大,糅合了太多的特性,许多专家把它称之为Monster(怪物),以至于该系统的研发人员都不知道最终该把它做成什么样。
到1969年,贝尔实验室已经对Multics不抱任何幻想了,最终撤出了投入该项目的所有资源。
其中一个开发者,肯·汤姆森(Ken Thompson)则继续为GE-645开发软件,并最终编写了一个太空旅行游戏,这个游戏模拟太阳系主要天体的运动,由玩家来指挥飞船,并试着在不同的行星和它们的卫星上登陆。
游戏运行并不顺畅而且耗费昂贵——每次运行要花费约100美元。
Thompson后来找了一台没什么人用的DEC(数字仪器公司)的PDP-7小型计算机。
在他的同事丹尼斯·里奇(Dennis Ritchie)的帮助下,Thompson用PDP-7的汇编语言重写了这个游戏,并使其在DEC PDP-7上运行起来。
这次经历加上Multics项目的经验,促使Thompson开始了一个DEC PDP-7上的新操作系统项目。
Thompson和Ritchie领导一组开发人员,开发了一个新的多任务操作系统。
这个系统包括命令解释器和一些实用程序,这个项目称为UNICS(Uniplexed Information and Computing System),以表示它源自Multics 的同时又比它的前身简单,后来这个名字被改为UNIX。
最初的UNIX是用汇编语言编写的,一些应用是由叫做B语言的解释型语言和汇编语言混合编写的,Ritchie在1971年发明了C语言。
1973年Thompson和Ritchie用C语言重写了UNIX,此举是极具大胆创新和革命意义的。
用C语言编写的UNIX代码简洁紧凑、易移植、易读、易修改,为此后UNIX的发展奠定了坚实的基础。
在20世纪70年代,A T&T公司还没有被拆分,受当时反垄断法的限制,AT&T不能进入计算机操作系统市场。
因此它以十分低廉甚至免费的许可将UNIX源码授权给学术机构做研究或教学之用,许多机构在此源码基础上加以扩充和改进,形成了所谓的UNIX“变种(Variations)”,这些变种反过来也促进了UNIX的发展,其中最著名的变种之一是由加州大学Berkeley分校开发的BSD产品。
AT&T的这一举措本身也培养了大量的UNIX人才,为UNIX的普及铺平了道路。
尽管UNIX“变种”众多,但是多数专家认为对UNIX操作系统的发展贡献最大的是它的两个分支——加州大学Berkeley分校的BSD和A T&T公司的System V,正是它们成就了UNIX操作系统今日的辉煌!尽管UNIX一开始就得到了学术界的一片赞扬,但并未受到商界的重视。
因为以往的经验告诉他们:“受到学术界高度好评的东西,多数是不实用的。
”但是这次商界依靠他们过往经验做出的“英明”判断却大错特错了。
有人估计商界为此次错误判断付出了近10年的时间,也就是UNIX系统在商界的普及比应该的晚了近10年。
由于AT&T公司注册了UNIX商标,因此后来其他公司开发出来的“UNIX操作系统”就不能再使用UNIX这个名称,如SUN公司的UNIX操作系统叫Solaris,而IBM的UNIX 操作系统叫AIX。
但是它们之间的差别是很微小的。
有专家用“有心栽花花不开,无心插柳柳成荫”来形容UNIX的成功与发展。
UNIX 的成功也验证了“失败乃成功之母”这句名言。
但是,随着岁月的流逝,人们已经渐渐地遗忘了促使UNIX成功的Multics和太空旅行游戏这两位失败的“妈”,而只记住了UINX 这个成功的“孩”。
1.3 UNIX的设计理念UNIX操作系统所秉持的设计理念的宗旨就是简单、通用和开放。
为此它的设计原则包括如下几个方面:(1)在UNIX 系统中所有的东西都是文件,其中也包括了硬件。
这样使得系统的管理和维护更加一致和简单。
UNIX 的文件系统是层次结构的,如图1-1所示。
它像一棵倒置的树,其中“/”是根节点(目录),以下的既可以是目录也可以是文件。
这一部分的内容在以后的章节中将详细介绍。
其实,UNIX 的目录就对应Windows 的文件夹。
(2)所有的操作系统配置数据都存储在正文文件中。
因为正文文件是最通用的接口,许多UNIX 操作系统应用程序都可以维护正文(许多其他的系统也一样,如Oracle 数据库管理系统)。
以正文方式存储系统配置信息允许操作系统管理员轻松地将一组配置信息从一台计算机移到另一台计算机。
这样可以减少操作系统管理员管理计算机系统的工作负担。
(3)每一个操作系统命令或应用程序都很小,而且只完成单一的功能。
UNIX 操作系统提供了许多小的应用程序,每个应用程序都能够很好地执行单一的功能。
当需要一个新功能时,UNIX 的通用原则是为此创建一个单独的程序而不是扩展一个已经存在的应用程序的功能。
(4)避免使用俘获用户的接口。
在UNIX 操作系统中很少有交互(问答式)的命令。
用户在UNIX 系统上发出命令之后,命令在通常情况下可能产生输出或者产生错误信息或者什么也不产生。
交互的特性留给了应用程序,如正文编辑器vi 。
(5)可以将多个程序串接在一起来完成复杂的任务。
UNIX 操作系统的一个核心特性就是可以将一个程序的输出变成另一个程序的输入。
这就使用户可以灵活地将许多小程序组合在一起来完成较大和较复杂的任务。
1.4 GNU 项目与自由软件GNU (革奴)计划,是由Richard Stallman 在1983年9月27日公开发起的,它的目标是创建一套完全自由的操作系统。
GNU 是“GNU ’s Not UNIX ”的递归缩写。
Stallman 宣布GNU 的发音为Guh-NOO ,以避免与new 这个单词混淆(Gnu 在英文中原意为非洲牛羚,发音与new 相同)。
GNU 计划采用了部分当时已经可自由使用的软件,例如TeX 排版系统和X Window 视窗系统等。
不过GNU 计划也开发了大批其他的自由软件。
为保证GNU 软件可以自由地使用、复制、修改和发布,所有GNU 软件都有一份在禁止其他人添加任何限制的情况下授予所有权利给任何人的协议条款——GNU 通用公共许可证(GNU General Public License ,GPL )来达到这一目的。
这也就是被称为“反版权”(或称Copyleft )的概念。
1985年Richard Stallman 又创立了自由软件基金会(Free Software Foundation ,FSF )来为GNU 计划提供技术、法律以及财政支持。
尽管GNU 计划大部分时候是由个人自愿无偿奉献,但FSF 有时还是会聘请专业程序员帮助编写软件。
当GNU 计划开始逐渐获得成功时,一些商业公司开始介入开发和技术支持。
当中最著名的就是之后被Red Hat 兼并的Cygnus Solutions 公司。
图 1-1到了1990年,GNU计划已经开发出的软件包括了一个功能强大的文字编辑器emacs、C语言编译器gcc,以及大部分UNIX系统的程序库和工具。
唯一没有完成的重要组件就是操作系统的内核。
“自由软件”(Free Software)这一术语有时被错误地理解,其实它与价格无关。
自由软件的定义为对你,一个特定的用户,一个程序是自由软件,就意味着:(1)你有自由以任何目的来运行该程序。
(2)你有修改该程序满足自己需求的自由(为使该自由实际上可实施,你必须可接触源代码,因为没有源代码的情况下,在一个程序中做修改是非常困难的)。
(3)你有权利重新发布副件,既可以白送也可以收取一定费用。
(4)你有权利发布该程序修改过的版本,从而让其他人得益于你的改进。
由于“自由的”涉及自由,未涉及价格,卖副件与自由软件之间没有矛盾。
事实上,卖副件的自由是至关重要的:收藏CD-ROMS上的自由软件对社团是重要的,同时,出售它们是为自由软件发展筹集资金的重要方法。
1.5 Linux简介Linux是一种类似于UNIX的计算机操作系统,它诞生于1991年的10月5日(这是第一次正式向外公布的时间)。
以后借助于Internet网络,并经过全世界各地计算机爱好者的共同努力,现已成为世界上使用最多的一种UNIX类型的操作系统,并且使用人数还在迅猛增长。
1991年,芬兰赫尔辛基大学的一名大学生李纳斯·托瓦兹(Linus Torvalds)编写出了与UNIX兼容的Linux操作系统内核并在GPL条款下发布。
Linux之后在网上广泛流传,许多程序员参与了开发与修改。