实验0:了解和熟悉操作系统
Posted 36容杰
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了实验0:了解和熟悉操作系统相关的知识,希望对你有一定的参考价值。
了解和熟悉操作系统
什么是操作系统
操作系统是一个大型的软件系统,其功能复杂,体系庞大。从不同的角度看的结果也不同,正是“横看成岭侧成峰”,下面我们通过最典型的两个角度来分析一下。
1.从程序员的角度看
正如前面所说的,如果没有操作系统,程序员在开发软件的时候就必须陷入复杂的硬件实现细节。程序员并不想涉足这个可怕的领域,而且大量的精力花费在这个重复的、没有创造性的工作上也使得程序员无法集中精力放在更具有创造性的程序设计工作中去。程序员需要的是一种简单的,高度抽象的可以与之打交道的设备。
将硬件细节与程序员隔离开来,这当然就是操作系统。
从这个角度看,操作系统的作用是为用户提供一台等价的扩展机器,也称虚拟机,它比底层硬件更容易编程。
2.从使用者的角度看
从使用者的角度来看,操作系统则用来管理一个复杂系统的各个部分。
操作系统负责在相互竞争的程序之间有序地控制对CPU、内存及其它I/O接口设备的分配。
比如说,假设在一台计算机上运行的三个程序试图同时在同一台打印机上输出计算结果。那么头几行可能是程序1的输出,下几行是程序2的输出,然后又是程序3的输出等等。最终结果将是一团糟。这时,操作系统采用将打印输出送到磁盘上的缓冲区的方法就可以避免这种混乱。在一个程序结束后,操作系统可以将暂存在磁盘上的文件送到打印机输出。
从这种角度来看,操作系统则是系统的资源管理者。
操作系统的分类及特点
分类:
根据操作系统在用户界面的使用环境和功能特征的不同,操作系统一般可分为四种基本类型,即批处理系统、通用管理系统、分时系统和实时系统。随着计算机体系结构的发展,又出现了许多种操作系统,它们是嵌入式操作系统、个人操作系统、网络操作系统和分布式操作系统。
1. 批处理操作系统
批处理(Batch Processing)操作系统的工作方式是:用户将作业交给系统操作员,系统操作员将许多用户的作业组成一批作业,之后输入到计算机中,在系统中形成一个自动转接的连续的作业流,然后启动操作系统,系统自动、依次执行每个作业。最后由操作员将作业结果交给用户。
批处理操作系统的特点是:多道和成批处理。
2.分时操作系统
分时(Time Sharing)操作系统的工作方式是:一台主机连接了若干个终端,每个终端有一个用户在使用。用户交互式地向系统提出命令请求,系统接受每个用户的命令,采用时间片轮转方式处理服务请求,并通过交互方式在终端上向用户显示结果。用户根据上步结果发出下道命令。分时操作系统将CPU的时间划分成若干个片段,称为时间片。操作系统以时间片为单位,轮流为每个终端用户服务。每个用户轮流使用一个时间片而使每个用户并不感到有别的用户存在。分时系统具有多路性、交互性、“独占”性和及时性的特征。多路性指,同时有多个用户使用一台计算机,宏观上看是多个人同时使用一个CPU,微观上是多个人在不同时刻轮流使用CPU。交互性是指,用户根据系统响应结果进一步提出新请求(用户直接干预每一步)。“独占”性是指,用户感觉不到计算机为其他人服务,就像整个系统为他所独占。及时性指,系统对用户提出的请求及时响应。
常见的通用操作系统是分时系统与批处理系统的结合。其原则是:分时优先,批处理在后。“前台”响应需频繁交互的作业,如终端的要求; “后台”处理时间性要求不强的作业。
3.实时操作系统
实时操作系统(RealTimeOperatingSystem,RTOS)是指使计算机能及时响应外部事件的请求在规定的严格时间内完成对该事件的处理,并控制所有实时设备和实时任务协调一致地工作的操作系统。实时操作系统要追求的目标是:对外部请求在严格时间范围内做出反应,有高可靠性和完整性。
4.嵌入式操作系统
嵌入式操作系统(EmbeddedOperating System)是运行在嵌入式系统环境中,对整个嵌入式系统以及它所操作、控制的各种部件装置等资源进行统一协调、调度、指挥和控制的系统软件。并使整个系统能高效地运行。
5. 个人计算机操作系统
个人计算机操作系统是一种单用户多任务的操作系统。个人计算机操作系统主要供个人使用,功能强、价格便宜,可以在几乎任何地方安装使用。它能满足一般人操作、学习、游戏等方面的需求。个人计算机操作系统的主要特点是计算机在某一时间内为单个用户服务;采用图形界面人机交互的工作方式,界面友好;使用方便,用户无需专门学习,也能熟练操纵机器。
6.网络操作系统
网络操作系统是基于计算机网络的,是在各种计算机操作系统上按网络体系结构协议标准开发的软件,包括网络管理、通信、安全、资源共享和各种网络应用。其目标是相互通信及资源共享。特点:多用户多任务操作系统 UNIX、NETWARE、WINDOWS NT LINUX等
7.分布式操作系统
大量的计算机通过网络被连结在一起,可以获得极高的运算能力及广泛的数据共享。这种系统被称作分布式系统(DistributedSystem)
主流操作系统
个人电脑市场从硬件架构上来说目前分为两大阵营,PC机与Apple电脑。
它们支持的操作系统:
1.Windows系列操作系统
由微软公司生产;
2.Unix类操作系统
如SOLARIS,BSD系列(FREEBSD,openbsd,netbsd,pcbsd);
3.Linux类操作系统
如UBUNTU,suse linux,fedora,等
4.Mac操作系统
由苹果公司生产(Darwin),一般安装于MAC电脑。
windows操作系统与Unix操作系统的优缺点
windows:
优点:图形界面良好,拥有良好的集成开发环境,操作简单。
缺点:不是免费的软件,采用二进制代码,不易修改操作系统本身。漏洞比较多。和linux和unix系统相比,网络功能相对较差,源码不开放。不利于操作系统的开发。
UNIX 优点:UNIX 如此的成功,这大大超出了它的创造者最初的设想。UNIX 成功的一个主要原因是它最初的发行发式。由于法令(consent decree)的限制,AT&T 不得不以极少的费用出售UNIX许可证和源代码。世界各地的人们都可以索取和运行该系统。由于附带源代码,用户可以分析它,更改它,告诉其他人自己所做的修改。然后AT&T 再将开多修改加入到新发行中。
在伯克利的工作更带动了这一趋势。总而言之,UNIX 在一种极为开放的过程〔或者说没有过程〕中不断发展。各国、各大洲的学术界、厂商、以及疯狂的黑客们都为UNIX 的发展做出了贡献。既便在UNIX 商业化之后.许多厂商也认识到开放系统的价值,将它们的成果公布于众,制定了许多像NFS 这样的开放规范。
最初的UNIX 设计非常精湛,井为后来版本和分支奠定了成功的基础。它的一个最大的长处就是始终贯彻“越小越完美”的思想[ Allm 87] ,用一个小的内核提供一组必要功能的最小集。系统有许多小的实用工具完成简单的数据处理。用户可以通过管道机制以及可编程的shell 等工具将这些实用工具以各种方式组合起来,形成功能更强大的工具。
UNIX 的文件系统是这种小巧,简单方式的一个典型代表。与当时使用诸如索引顺序访问方式(ISAM),层次顺序访问方式(HSAM)等复杂文件访问方式的操作系统不同,UNIX 将文件看成是一个字节流。应用它可以在文件上建立任何数据结构,实用自己的访问方式访问文件,不需要文件系统的干预。
大多数系统应用都使用文本数据。例如,比较重要的系统数据库/etc/passwd , /etc/fstab,以及/etc/ttys 都是普通的文本文件。尽管使用二进制的有结构的方法组织信息会更有效,使用一般的文本可以让用户不必使用特殊的工具就可以访问和处理这些文件。 文本是一件友好的,通用的,高度可移植的数据形式,可以用许多实用工具进行处理。
UNIX 另一个很突出的特点就是它简单而统一的I/O 设备接口。UNIX 将所有的设备都用文件表示,用户可以使用与处理文件相同的命令和系统调用集访问设备。开发者写程序完成I/O操作时不必考虑这个操作是对文件的,还是对用户终端,打印机,或其他设备进行的。这一特性与shell 中的I/O 重定向一起提供了一个简单而强大的I/O 接口。
促使UNIX 成功和流行的一个关键因素是它的可移植性。内核的大部分都是用C 语言写 的。这就使其在移植到新机器时相对容易了许多。它先是用于 PDP-11,后来移植到 VAX-11 及其他许多机器、许多厂商都是开发出自己的新机器,然后简单将 UNIX 移植到它的上面, 而不必重写一个新的操作系统。 缺点: 事物总有相反的两个方面。在赞誉UNIX 优点的同时,也不能忽略了它的缺点。对UNIX 进行如此客观回顾的人中就有这样一个人,他不是别人,正是DennisRitchie 本人。在1987 年 1 月 USENIX 会议中的一次 UNIX 回顾会晤中,RitChie 分析了许多 UNIX 的缺点[ Ritc87] 。下面我们对其进行简述。
尽管UNIX 最初是一个简单的系统。它已不再是这样了。例如,AT&T 为了高效地对数据进行缓冲和将程序移植到非UNIX 系统上,为UNIX 系统增加了标准1/O 库。这个库相对其
undefined
底层的系统调用接口已变得越来越复杂了。例如,read 和write 系统调用是原子性的(不可分的)操作,而I/O 库中的缓冲破坏了这种原子性。
虽然UNIX 是一个优秀的操作系统,但大多数用户并不需要一个操作系统,他们只要有一个可以完成特定任务的系统就行了。这些用户并不关心底层文件系统结构和进程结构是否优美。他们只需要以最少的代价运行一个特定的应用(如编辑器,商务软件包,绘图程序)、早期的UNIX 缺少一个简单统一的(最好是图形的)用户界面,这也是阻碍UNIX 被大众接受的一个主要因素。用Ritchie 的话来说就是,“UNIX 简单而一致,但只有天才(至少是程序员)才能赏识它的简洁。”
以积木方式构造上工具利弊参半。尽管它优美而且从审美角度来说非常优美,但用户需 要具有丰富的创造力和想像力才能高效地使用这些工具。许多用户更喜欢使用个人计算机中 有的那些已集成好的,一步到位的程序。
从某件程度上说,UNIX 也是自己成功发展的受害者。它简单的许可证条款以及可移植性造成它不可控制的发展和扩散。人们都对 UNIX 系统进行修补,每个小组都以不同的方式进行修改,结果是他们的系统往往不兼容。起初只有两大势力 一 AT&T 和 BSD 。它们都有自己的文件系统,内存结构,以及自己的信号和终端处理框架。很快许多厂商都发行了自己的变体,在一定程度上保持与AT&T 版本和BSD 版本的兼容性。后来,这种局面变得更加混乱了,许多应用开发者不得个花很大的力气才能将它们的程序移植到各种不同的UNIX 上。
由于参加标准化的人们意见不一,标准化并没有完全成功。这主要是每个厂商都想加入 一些特有的特性来标榜自己的“产品差异”,表明自己的产品与众不同,或者优于它们的竞争对手。 Mach 系统的主要开发人员Rechard Rashid 更进一步地探讨了UNIX 的失败的原因。在Mach系列讲座的开场白中[ Rash 89] ,他解释了他们是如何通过对UNIX 发展的调查产生了开发Mach 系统的灵感。UNIX 有一种最小化的,积木式的工具构造方法。通过将小巧简单的工具组合在一起来构造大型的复杂的工具。但这一方法井没有用于内核的构造。 传统的UNIX 内核不够灵活,不具备很好的可扩充性,也很少代码复用的设施。随着UNIX 的发展,开发者只简单把代码加人内核,结果内核成了新功能的“倾销地”。很快内核就膨胀起来.缺少模块化,而且越来越复杂。Mach 试图用一种新方法来解决它,它使用一组精简的抽象概念从底向上重新编写操作系统。现代UNIX 采同不同的方式解决这一问题,为若干子系统增加灵活的框架结构
Win和Mac系统优缺点
1.Windows 系统优、缺点
先说优点
1)先入为主,易用性高
个人电脑行业前期的发展微软要明显胜过苹果,加Windows系统在国内的本土化推进做得比较完善,所以很多像小吧一样的国内用户最早接触的电脑都是Windows系统,而且连续几年甚至十几年都一直在使用这一系统,这就让微软有了先入为主的优势,让我们觉得个人电脑的系统原本就应该是这样!
2)生态圈完善,兼容性高
Windows系统的开放性虽然并不被大家所认可,但是在其系统下的软件却很丰富,尤其在国内这种不够重视版权的大环境下,想要哪个软件,网上随便一搜就能找到破解版,这倒与手机领域的安卓系统有几分相似。另外,各种插件也都非常丰富,无论是网银还是政府类网上办公网站里的插件,Windows系统都能搞定,有些网站的插件还只支持Windows系统,这与第一条优点也有很大的关系。
3)硬件丰富
Mac OS X系统只能在苹果自己的产品上安装,其它PC要安装的话只能安装盗版。而Windows系统则要自由很多,各大硬件厂商都能使用,就连苹果现在也能轻松安装Windows。让Windows系统的硬件足够丰富,无论是整机,还是个性化攒机,都很轻松。
4:)游戏娱乐性强
由于Windows系统的普及程度较高,所以很多软件和游戏都是针对该系统开发,量和质都不是Mac OS X所能匹敌的。
缺点:
1)安全性低,这与其兼容性和普及率高有一定关系,流氓软件大量存在,黑客也乐于攻击Windows系统的电脑,这也是Windows存在的最大问题。
2)windows是闭源系统,参与测试的人少系统漏洞就多,只能依赖自己的补丁。
3)稳定性差,相信大家都遇到过蓝屏的情况。
2.Mac OS X系统优、缺点
优点
1)安全性高,现在疯狂肆虐的电脑病毒几乎都是针对Windows的,由于MAC的架构与Windows不同,所以相对而言很少受到病毒的袭击。
2)mac下没有很多win下多余的东西,没有磁盘碎片,不用整理硬盘,不用分区,几乎没有死机,不用关机,基本没用过进程管理器。所有和使用无关的东西,都被藏起来,用户很容易学习和使用。
3)设置简单。以网络设置为例,mac下很快就可以设置好(包括复杂的801.x安全认证),而且可以方便的切换多套配置(家里、办公室),这要在win下就会变的非常困难,对于小白用户来说上手要麻烦很多。
4)软件风格统一,mac下的软件都很mac,操作风格统一,简单好用,使用非常顺畅。
5)稳定性高,BUG少,更新也少,不像Windows需要经常打补丁。
缺点
1)兼容性差,虽然很多人并不认可这种说法,但是这确是事实存在的,因为支持Mac系统的软件没有Windows那么多!不兼容也就是不支持嘛!或者可以说在国内Mac系统的生态圈不够完善。
2)虽然操作人性化程度较高,但是与Windows系统存在较大差异,对于国内用惯了Win系统的用户来说上手会有些困难,尤其是文件管理方面,与Win系统直观的全局浏览文件并管理要复杂的多。
3)游戏性的扩展相对win差很多,实用性还不错。
4)软件成熟性不如windows,谁敢说Mac QQ比windows QQ好用的?很多Windows里很好用的软件,for Mac了未必很好用,其实这一条与第一条也有一定关联。
5)Flash表现很渣,这与Mac本土化进程缓慢有很大关系,国内很多网上办公类网站的插件只支持Win系统,让Mac系统根本就无法完成这些操作。
看了上面的介绍,相信大家应该对两个系统已经有所了解了,对于办公使用的话,其实两个系统没有什么太大区别,无非就是一个使用习惯的问题,用惯了Win系统,初换Mac系统肯定需要一个适应过程,不过因为对插件支持的不足,Mac系统在应对网上办公时会有一些不足。
安全性方面Mac系统要明显优于Win系统,但是软件兼容性方面要弱一些。还有游戏用户,首推Win系统,毕竟资源要比Mac系统丰富很多,而且硬件成本也要更低。
因为对插件方面的支持不足,游戏资源偏少,用惯了Win系统初换Mac需要一定时间适应,所以很多Mac用户会同时安装Win系统也是可以理解的。Mac需要加快本土化进程,这样才能在原有基础上给Mac系统用户更好的体验。
Linux的优点与缺点
linux 的优点:
稳定的系统:linux 本来就是建立在 unix 上面发展出来的操作系统,因此,linux 具有与 unix 系统相似的的程序接口跟操作方式,当然也继承了 unix 稳定并且有效率的特点。常听到安装 linux 的主机连续运做一年以上而不曾当机、不必关机是稀松平常的事;
免费或少许费用:由于 linux 是基于 gpl 的基础下的产物,因此任何人皆可以自由取得 linux ,至于一些『安装套件』的发行者,他们发行的安装光盘也仅需要些许费用即可获得!不同于 unix 需要负担庞大的版权费用,当然也不同于微软需要一而再、再而三的更新你的系统,并且缴纳大量费用啰!
安全性、漏洞的修补:如果你常玩网络的话,那么你最常听到的应该是『没有绝对安全的主机』!没错!不过 linux 由于支持者日众,有相当多的热心团体、个人参与其中的开发,因此可以随时获得最新的安全信息,并给予随时的更新,亦即是具有相对的较安全!
多任务、多使用者:与 windows 系统不同的, linux 主机上可以同时允许多人上线来工作,并且资源的分配较为公平,比起 windows 的单人假多任务系统要稳定的多啰!这个多人多任务可是 unix-like 上面相当好的一个功能,怎么说呢?你可以在一部 linux 主机上面规划出不同等级的使用者,而且每个使用者登入系统时的工作环境都可以不相同,此外,还可以允许不同的使用者在同一个时间登入主机,以同时使用主机的资源。
使用者与群组的规划:在 linux 的机器中,档案的属性可以分为『可读、可写、可执行』等参数来定义一个档案的适用性,此外,这些属性还可以分为三个种类,分别是『档案拥有者、档案所属群组、其它非拥有者与群组者』。这对于项目计画或者其它计画开发者具有相当良好的系统保密性。
相对比较不耗资源的系统:linux 只要一部 p-100 以上等级的计算机就可以安装并且使用愉快啰!还不需要到 p-iii 等级的计算机呢!不过,如果你要架设的是属于大型的主机(服务上百人以上的主机系统),那么就需要比较好一点的机器了。不过,目前市面上任何一款个人计算机均可以达到这一个要求啰
linux 的缺点:
反正 linux 好处说不完啦!不过虽然 linux 具有这样多的好处,但是他先天上有一个足以致命的地方,使他的普及率受到很大的限制,就是 linux 需要使用『指令列』的终端机模式进行系统的管理!虽然近年来有很多的图形接口开发使用在 linux 上面,但毕竟要熟悉 linux 还是以指令列来使用是比较好的,因此要接受 linux的玩家必须比较要能熟悉对计算机下指令的行为,而不是用鼠标点一点 icon 就行了!不过如果只是要架一些简单的小站呢?是不是大家都可以做的到?没错!其实只要对 linux 做一些小小的设定就可以架站了!
没有特定的支持厂商:因为所有的套件都是免费的,自然也就没有专人会到府服务啦!不过,这点倒是不需要担心,因为拜网络风行之赐,你要问的问题几乎在网络上都可以找到答案喔!看你有没有用心去找就是了!
图形接口作的还不够好:其实是因为 vbird 不玩 x-windows 啦,所以也不知道目前发展到怎样的一个地步了!基本上 vbird 常说的一句话就是:『windows 上面有的应用 linux 上面也一定可以找的到!,但 linux 有的服务 windows 可不见得有喔!』只不过,您可得自己找到自己想要的接口!
以上是关于实验0:了解和熟悉操作系统的主要内容,如果未能解决你的问题,请参考以下文章