




已阅读5页,还剩6页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
外文原文中文翻译11什么是操作系统大多数的计算机使用者有过使用操作系统的经验,但是却很难给操作系统下一个精确的定义。部分的问题在于,操作系统执行两种基本上不相关的功能,扩展到机器和管理资源,并且依赖是谁在谈论,你通常会听到关于其中一种功能或是另一种。下面让我们同时看看两者。操作系统做为延展的机器像在前面提到的,大多数计算机的构建体系(指令集,存储器结构,I/O以及总线结构)在机器语言级是原始的并且难于编程,尤其对于输入/输出。为了更具体的说明这一点,让我们先简要的看看被使用在许多基于INTEL个人计算机上的利用NECPD765可兼容的控制器芯片的软盘I/O是怎样完成的。(在这本书中,我们提到的“软盘”和“磁盘”是可以互换的。)PD765具有16位指令,每一个都被指定载入1至9个字节到设备寄存器中。这些指令是为了读、写数据,移动磁盘装备,格式化磁轨,并且还被用来初始化、执行、复位以及重新校准控制器和设备。大多数的基本指令是读和写,每一个要求13个参数,被装进9个字节。这些参数指定了某些事物,像被读取的磁盘分区地址,每个轨道的扇区数目,物理媒质上使用的录音模式,交互扇区的间隔空间以及怎样处理一个被删除的数据地址标记。如果你不理解这个MUMBOJUMBO,不要担心;也就是说,精确的观点更加的深奥。当一个操作完成后,控制器的芯片返回23中状态并且错误域被封装进入7个字节。如果这还不够的话,磁盘程序员必须被一直提醒发动机是开的还是关的。如果发动机是关闭的,它必须在数据被读或写之前打开(伴有长时间的启动延迟)。发动机不能太长时间的关闭,否则软盘将会损坏。因此,程序员被强迫处理长时间启动延迟与之相对的损坏磁盘(以及丢失数据)之间的平衡。如果没有进入真正的细节,那清楚的是一般的程序员大概不会想要很仔细的研究软盘(或者硬盘,它也是同样复杂和困难的)的编程。相反的,程序员想处理的是简单的,高级的抽象物。以磁盘为例,一个典型的抽象物会是磁盘包含了指定文件的集合。每个文件可以被打开进行读或者写,然后在被读或写之后,最终关闭。诸如,像使用改进的频率调节是否可以录音,发动机当前的状态是什么这样的细节,不应该出现在抽象物中,表达给使用者。程序对程序员隐瞒了硬件的事实,并且呈现出了一个漂亮、简单的被命名的文件,当然,这些可被读和写的文件就是操作系统。就像操作系统向程序员隐藏了磁盘硬件,并展现了一个简单的面向文件的界面,它也同时隐蔽了很多令人不高兴的麻烦,涉及到中断、时钟、存储器管理和其他底层的东西。这么说来,操作系统提供的ABSTRACTION比起下面硬件提供的要简单和容易。这样看来,操作系统的功能是为使用者提供了比底层硬件更易于编程的扩展机或是虚拟机的等价物。操作系统是怎样达到这个目标的是一个很长的故事,我们会通过这本书详细的了解。简单的概括,操作系统提供了程序能够获得的多种服务,通过被叫做系统调用的特殊指令。在以后的章节中,我们会调查一些更加普通的系统调用。操作系统做为资源管理器把操作系统的概念做为主要提供给用户一个简洁的界面是一种自上而下的观点。换言之,自下而上的观点认为,操作系统管理着所有复杂的系统。现代的计算机是由处理器、存储器、时钟、磁盘、鼠标(MICE)、网络、接口、打印件和其他的多种设备组成。从交互的观点看,操作系统的工作是为不同程序间竞争处理器、存储器和I/O设备的使用,提供一个有序的、可控制的分配。想象一下,如果某台计算机正运行三个程序,并且都想要同时将输出打印在同一个打印机上,那么会发生什么呢前几行的输出可能来自于程序1,接下来的几行出自程序2,然后一些是程序3的结果将会是混乱的。操作系统能够通过缓冲将所有的输出预先指定在打印机的磁盘上,以控制潜在的混乱。当一个程序结束的时候,操作系统会从已经存储到打印机中的磁盘文件中拷贝其输出,于此同时,其他的程序能够继续产生更多的输出,很显然,事实上这些输出还没有真正的到达打印机。当计算机(或网络)有多个用户时,管理和保护存储器,I/O设备和其他一些资源的要求就更高,因为用户间可能相互干扰。另外,用户经常不仅需要共享硬盘,还有信息(文件、数据等等)。总之,操作系统的观点认为其首要任务是掌握谁在利用哪个资源,赋予资源权限,说明用法,调停不同程序和用户间的相矛盾的要求。资源管理器包括两种方式多元化(共享)资源时间上和空间上。当一个资源被时间多元化,那么不同的程序和用户就会轮流的使用它。首先第一个使用,然后是下一个。例如,多个程序想在仅有的CPU上运行时,操作系统首先会分配CPU给一个程序,然后在运行了足够长时间后,另一个得到了CPU,接下来是另一个,然后最终又回到了第一个。决定资源怎样处理的是时间的多元化,谁是下一个和操作系统的任务为其多长时间。另一个时间多元化的例子就是共享打印机。当多个打印工作在排队等候一个打印机时,一个决策决定着接下来谁将被打印。另一种类的多元化是空间的多元化。替代用户的轮流方式,每一个会得到部分的资源。例如,主存储器通常在多个运行程序间被分割,所有每一个都能够在同一时间常驻内存。(比如,为了轮流使用CPU)。假如有足够的内存支持多个程序,那么同时在内存中支持多个程序要比把所有内存赋予其中一个程序有效率的多,尤其是如果它只需要总体中的一个小片段。当然,这就提出了适当、保护等观点,并且提升到了操作系统去解决他们。另一个空间多元化资源的是硬盘。在很多系统中,一个独立的硬盘能够在同一时间从多个用户处保留文件。分配磁盘空间,掌握谁在使用那一块磁盘分区是典型的操作系统资源管理器的任务。操作系统的历史操作系统已经经历了多年的进化。在接下来的部分中,我们会简要的看看一些亮点。自从操作系统在历史上已经与其运行的计算机体系紧密的联系起来,我们要通过连续几代的计算机去看一看它们的操作系统是什么样子。从操作系统的产生映射到计算机的产生是粗俗的,但它确实提供了某种结构,否则就不会存在。第一台真正的一位计算机是由英国数学家CHARLESBABBAGE设计的。尽管BABBAGE花费了大部分的生命和财富试着建造他的“分析机”,但是他却没能使它正确的工作,因为它是纯机械的,并且在他所在时代的技术还不能够生产出符合要求的车轮、齿轮和嵌齿以迎合高精度的需要。不必说,这台分析机并没有操作系统。在有趣的历史的一边,BABBAGE意识到他的分析机需要软件,所以他雇用了一位年轻的女士,叫做ADALOVELACE,英国著名诗人LORDBYRON的女儿,作为世界上的第一个程序员。编程语言ADA就是以她的名字命名的。121第一代电子管和线路连接板在BABBAGE的努力失败后,直到第二次世界大战,在构建数字计算机方面有了一点进展。大约在19世纪40年代中页,哈佛大学的HOWARDAIKEN,在普林斯顿学院进修的JOHNNEUMANN,宾夕法尼亚州大学的JPRESPERECKERT和JOHNMAUCHLEY,以及德国的KONRADZUSE,他们中间的这些人都在建造计算机方面取得了成功。第一批使用了机械继电器,但是效率非常低,在很短的时间内,需要测量周期。继电器在后来被电子管取代。这些机器十分庞大,上万台电子管就会填满整个房间,但它们的效率甚至比今天最便宜的个人计算机低数百万次。在早期岁月里,单独的一群人要设计、构造、编程、执行以及维护每一台机器。所有的程序都是用纯机器语言编写的,经常用金属丝卷起线路板来控制机器的基本功能。编程语言是不被人知的(甚至汇编语言)。操作系统还未问世。普通的操作模式是程序员在墙上的签名版上,写下时间,然后顺次到机器房间,把他(她)的线路板插入计算机中,然后花费接下来的数个小时去祈祷2万多个电子管不会在运行过程中烧坏。事实上,所有的问题都是直接的数字计算,诸如机械的做出表的正弦、余弦和对数。到了19世纪50年代早期,由于穿孔卡片的引进,程序稍微有了改进。就可以在卡片上读写程序而不是利用线路板。然而,过程还是相同的。122第二代晶体管和BATCH系统在19世纪50年代中期,晶体管的引进彻底的改变了局面。计算机可以被人造并且以客户的期待出售,它们能够长时间的持续运作完成有价值的工作,这使得计算机变得可以信赖。第一次,在设计者、编译者、运行人员、程序员以及维护人员之间有了清晰的界限。这些机器,现在被称作主机,被锁在特殊的可调节空气装置的机房里,并配有特殊培训过的专业操作人员来运行。只有大企业或者政府机关或是学院才能够付得起上百万的标价。执行一个工作(例如,一个程序或是一批程序),程序员必须先在纸上编写程序(以FORTRAN语言或者甚至是汇编语言),然后在卡片上打孔。之后,他将带着这个卡片到输入房间,把它交给其中一名操作人员,接着去喝咖啡直到有结果出来。计算机正在运行无论什么工作,当完成的时候,操作员会去检查打印机,得到结果,然后把它带到输出房间,以便程序员能够在之后得到它。然后他会拿已经从输入室带来的其中一张卡片并且把它读入计算机。如果需要FORTRAN编译器,操作员会文件柜中把它拿出来并且读入。在操作员游走于机器室的时候,大部分的计算时间被浪费掉。假如设备的成本很高,那么人们快速的寻找着降低浪费时间的方法也就不感到惊讶。解决方案一般采用BATCH系统。思路是在输入室整理一垛工作,然后把它们读入用相对便宜些的磁带中,诸如IBM1401,适合读卡,拷贝磁带和打印输出,但却在数值计算方面表现一般。另外,一些较贵的机器,像IBM7094,经常被用来做真正的计算处理。在大约一小时的整理工作之后,磁带被重绕并带入机器室,在那被加到一个磁带驱动上。然后,操作员加载一个特殊的程序(现代操作系统的祖先),它会从磁带中读入第一个工作并且运行。输出会被写到第二个磁盘中,而不是被打印。在每一个工作完成后,操作系统自动的从磁带中读入下一个工作,然后开始运行。当全部工作完成的时候,操作员移除输入和输出的磁带,用下一项工作取代输入磁带,并且把输出结果磁带带到1401复制(也就是,不连到主机上)。典型的输入工作结构如图13。以工作卡片开始,详细说明每分钟的最长运行时间,加载计算数目以及程序员的名字。然后是FORTRAN卡片,通知操作系统从系统磁带中加载FORTRAN编译器。接着程序被编译,然后是加载卡片,指导操作系统加载刚编译好的目标程序。(编译程序经常被写在暂存带上并被明确的加载。)接下来是运行卡片,通知操作系统运行下面的数据。最终,结束卡片标记工作结束。这些原始的控制卡片是现代工作控制语言和命令解释程序的先驱。巨型的第二代计算机大部分被用做科学和工程计算,例如解决在物理学和工程学中出现的偏微分方程。它们绝大部分被编写成FORTRAN和汇编语言。典型的操作系统是FMS(FORTRAN监视器系统)和IBSYS,IBM的7094操作系统。123第三代集成电路和多道程序设计到了19世纪
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年安徽高级档案职称测试题及答案
- 手术室专科理论知识考试试题及答案
- VTE防治知识考试试题(附答案)
- 化学实验室安全考试试题-及答案
- 2025年新疆特产白糖海外销售代理合作协议
- 2025年度社区医院慢性病管理服务合作协议
- 2025年度电子商务平台开发与运营一体化服务合同
- 2025高性能医疗器械绿色包装设计与市场销售联合协议
- 2025年定制化印刷品防伪解决方案合同
- 2025年大型餐饮集团中央厨房设备升级改造及维护保养合同
- 指挥部安保方案(3篇)
- 银行独立授信审批官工作手册模板
- Unit 8 Let's Communicate!Section A(1a-1d)同步练习(含答案)2025-2026学年人教版(2024)八年级英语上册
- DB65∕T 4791-2024 水工隧洞敞开式TBM施工技术规范
- 工行金库资产管理办法
- 小岗位大作用班会课件
- GB/T 22080-2025网络安全技术信息安全管理体系要求
- 认证产品一致性管理办法
- 中国海权战略课件
- 2025年现代物流与采购管理考试试题及答案
- 顶管培训课件
评论
0/150
提交评论