计算机操作系统原理培训及实操第1章.pdf
《计算机操作系统原理培训及实操第1章.pdf》由会员分享,可在线阅读,更多相关《计算机操作系统原理培训及实操第1章.pdf(72页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第1 1章 引 论 第1 1章 引 论 1.1 操作系统的基本概念操作系统的基本概念1.2 操作系统的发展操作系统的发展1.3 操作系统的特征与功能操作系统的特征与功能1.4 操作系统的结构设计操作系统的结构设计第1 1章 引 论 1.1 操作系统的基本概念操作系统的基本概念 我们将未配置任何软件的计算机称为裸机,即由中央处理器(CPU)、存储器、输入/输出(I/O)设备等硬件组成的计算机。裸机是无法充分发挥硬件性能的,不适合一般的用户使用,只有配备了软件以后,计算机才可以更好地完成对信息的存储、检索和处理等一系列工作。所以我们可以把计算机系统划分为两大部分:硬件和软件。硬件是计算机系统的物质
2、基础,它包括多种多样的物理设备。而软件可以分为应用软件和系统软件。应用软件,例如字处理软件Word、图像处理软件Photoshop、Web浏览器 IE、编译软件等,可以为用户解决具体的问题。而系统软件是指使计算机能够工作的一些基础软件,只有在系统软件的支持下,应用软件才能够正常的运行。我们将要研究的操作系统(Operating System)就是系统软件的典型代表。1.1.1 操作系统的定义操作系统的定义 第1 1章 引 论 图1-1 计算机系统组成用户1Word用户2Photoshop用户3IE用户nDelphi应用软件与部分系统软件操作系统(Operating System)硬件(物理设备
3、)第1 1章 引 论 从操作系统在计算机系统中所处的位置,我们可以看到,操作系统处在硬件与其它软件之间的一个特殊位置上,引入操作系统主要可完成以下两个方面的工作:(1)方便用户使用。操作系统应该提供给用户一个良好的界面,用户不必了解硬件和其它软件的细节,就可以方便地使用计算机。(2)充分利用资源。操作系统应该最大限度地发挥计算机系统资源的使用效率,合理地组织工作流程,使得计算机资源能为多用户共享。据此,我们可以给出操作系统的定义:操作系统是为了方便用户和提高计算机的利用率,而对计算机资源进行组织和管理的程序集合。其中,用户是一个广义的概念,包括一般用户和软件开发人员等;资源包括处理器、存储器、
4、输入/输出设备等硬件资源和程序与数据等软件资源。第1 1章 引 论 1.1.2 操作系统在计算机系统中的作用操作系统在计算机系统中的作用 1对外职能对外职能用户与计算机之间的接口用户与计算机之间的接口 操作系统作为用户与计算机之间的接口,必须为用户提供良好的界面,使用户能够感觉计算机是可用而且易用的。这是一个最主要的职能。早期的计算机没有操作系统,使用计算机时只能使用机器语言,既繁琐又费时,没有计算机专业知识的人使用计算机时会感到困难重重。有了操作系统,用户通过操作系统提供的操作命令和系统调用命令就可以方便、快捷、安全、可靠地操纵计算机,运行自己的程序。这些命令对于用户来说要容易掌握得多。而随
5、着图形用户接口的出现,使用户尤其是普通用户操作计算机变得更为简单。第1 1章 引 论 2对内职能组织和管理计算机资源,充分发挥资源的效能,提高利用率在一个计算机系统中,通常包含了多种硬件与软件资源,为了实现某种功能需要使用相应的资源,在分配资源时首先不能“张冠李戴”,比如某用户程序要求打印一篇文档,系统就不应该为其分配一台扫描仪。另外,系统的资源数目是有限的,因此在一些环境下用户程序在执行过程中会发生资源竞争的现象,引起冲突,造成系统的一些工作无法继续进行,这就需要一个仲裁者在相互竞争资源的程序间有序地控制资源的分配,操作系统就起这样的作用。操作系统可以跟踪资源的使用情况,满足用户资源请求,做
6、到合理分配,尽可能使得系统中的各类资源处于“忙”状态,缩短任务完成时间,提高资源利用率。第1 1章 引 论 1.1.3 研究操作系统的几种观点研究操作系统的几种观点 操作系统本身是一个相当复杂的系统,为了彻底了解它,我们可以从不同的角度研究操作系统。1用户观点用户观点 用户是计算机的使用主体,软件开发的主要目的就是让用户能够方便地使用计算机。用户观点是指站在用户立场上对计算机提出要求。用户对操作系统的内部结构没有太大兴趣,他们主要从功能要求、服务质量、使用维护及安装价格等方面提出要求。作为使用者,最关心的是如何利用操作系统提供的服务有效地使用计算机,即操作系统提供什么样的用户界面。第1 1章
7、引 论 2资源管理的观点资源管理的观点 资源管理的观点是从系统资源的角度刻画整个操作系统的组成及其功能。通常把计算机系统资源按性质归纳为四类:CPU、内存、外部设备以及信息文件,这些资源是操作系统和用户程序赖以活动的物质基础和工作环境。用户使用计算机的过程就是通过使用这些资源达到解决问题的一个过程。资源管理是指对上述硬、软件资源进行管理。一般说来,一个计算机系统中常常同时运行多个程序,操作系统的任务就是在相互竞争资源的程序之间有序地控制资源的分配。对于操作系统来说,资源管理要做如下工作:第1 1章 引 论 (1)对资源使用情况进行登记,这是资源管理的依据。(2)决定分配策略。根据资源使用情况分
8、析分配的可行性,并决定分配所应采取的策略。(3)提供分配与回收算法。通过资源分配的具体程序达到资源分配的目的,为了保证资源的后续利用,在当前使用完该资源后应该立即释放,即执行资源回收程序。第1 1章 引 论 如图1-2所示,系统中存在两个不同的队列,分别为请求分配资源队列和请求释放资源队列。这两个队列按照某种原则形成,系统首先根据它们不同的请求方式加以判断。如果是请求分配资源方式,系统将进一步判断所需资源是否可用,如果资源可用并且够用,就进行资源分配并修改资源分配状态表,否则这次请求就没有被成功响应,该请求将被插入到请求分配资源队列,等待下一次系统响应。如果不是请求分配资源方式,那么就有两种可
9、能:一种是请求释放资源方式,这时系统正常回收资源;另一种是异常方式,系统将调用出错处理程序进行相应的处理。第1 1章 引 论 图1-2 资源分配与释放过程请求分配?该资源可用?释放?资源够用?插队NYYN分配Y回收修改资源分配状态表请求分配资源队列按原则进入请求释放资源队列NYN出错处理第1 1章 引 论 3进程观点进程观点 通过以前的学习,我们了解到计算机是通过运行程序来满足用户要求的,但是我们并不清楚程序在计算机内运行的基本过程和一些规则,只是“知其然而不知其所以然”,操作系统将会解决一些存在于我们思想中的疑问。在澄清这些疑问的过程中,有一个非常重要的动态对象进程,它是分析计算机操作系统在
10、处理过程中的基本对象,是系统中的活动实体。我们在后面的章节中会详细描述并经常用到它来研究系统的工作状况。第1 1章 引 论 1.2 操作系统的发展操作系统的发展1.2.1 问题的提出问题的提出 1速度问题速度问题 20世纪40年代出现的第一台计算机由电子真空管和插板组成。这种机器运算速度很低。在计算机出现的早期,每台计算机都有一个小组专门进行设计、编程和维护。所有的程序都采用机器语言,计算机上没有操作系统,更没有其它软件。机器的使用方式是程序员提前预约机时,上机时用手工方式启动设备。将记录程序的卡片或纸带用输入机送入计算机,接着在控制台上用按钮启动程序运行。在程序运行的几个小时里用户独占计算机
11、,他既是程序员又是操作员。第1 1章 引 论 20世纪60年代,晶体管的发明改变了计算机的状况,使处理机的速度提高了几十倍。当时计算机的价格十分昂贵,大学或研究所的机房已经配有专门的操作员。程序员要使用计算机时,将程序写在纸上,利用穿孔机制成卡片,称为一个作业,然后交给操作员。由于在计算机的使用过程中操作员需要手工操作的工作很多,例如取一个作业,操作运行,打印输出,再取下一个作业等,造成机器长时间空闲,人工操作的速度和处理机的计算速度严重不匹配。由此可见,减少人工干预对提高机器利用率有着重要意义,人们开始希望有专门的监督程序或管理程序来进行作业的自动依次处理。第1 1章 引 论 2作业差异作业
12、差异 除了速度问题之外,由于每个作业使用的语言不同,也给操作员带来了很大的麻烦。因为不同语言的作业在进行处理前,首先必须将相应的编译系统装入计算机并置换旧的程序,这样就使计算机的大量时间耗费在输入/输出上。例如,为了完成一道也许计算机处理只需要两分钟的程序,而将相应的编译系统装入也许会花费两个小时,且在这两个小时中,宝贵的CPU资源却一直处于空闲状态,白白浪费,另外也使操作员不胜其烦。因此设计使用专门程序进行作业自动转换和处理的想法被提了出来。第1 1章 引 论 另外,作业也有I/O繁忙型与CPU繁忙型之分。对于I/O繁忙型作业,在完成过程中大部分时间利用外部设备进行I/O操作,在这些时间内,
13、宝贵的CPU资源却处于空闲状态,成为一种严重的资源浪费。对于CPU繁忙型作业,虽然CPU利用率比较高,但是外部设备却经常处于空闲状态,仍然属于一种资源浪费。也就是说,对于不同应用的作业来说,计算机系统给予了“一视同仁”的对待。虽然在控制上比较简单,却付出了宝贵的时间代价。第1 1章 引 论 1.2.2 解决办法解决办法 1减少人工干预减少人工干预 为了尽量减少多个作业交接时的人工负担,批处理技术应运而生。操作员把用户提交的作业分类,把一批作业编成一个作业执行序列,成批地提交给计算机进行输入、运行和输出,同时也专门编制了监督程序或管理程序,对它们进行自动地依次处理,实现作业的自动转换。在早期的批
14、处理中,操作员通过输入设备将多个作业一次存入磁带,然后监督程序先从磁带上读入一个作业,接着又调入编译程序来将用户作业翻译成目标代码,经连接和装配后执行并输出结果。紧接着又调入下一个作业,不断地循环反复操作。这样大大减少了人工操作的时间,这种处理方式被称为联机批处理方式。第1 1章 引 论 2改善速度匹配改善速度匹配 批处理方式解决了作业的自动转接,但其缺点是无论成批输入还是作业的转接执行都是在主机CPU控制下完成的。在系统进行慢速的输入/输出工作的时候,CPU只好停止工作,处于等待状态。为了改善速度匹配问题,产生了脱机批处理技术。该技术是增加不与主机相连而专门用于输入/输出的外围计算机,由外围
15、输入计算机负责将作业送入磁带,由主机和磁带机配合读入作业,主机完成程序的执行后将输出结果送到磁带,再由外围输出计算机将结果送到输出设备并显示给用户。这样,主机不是直接与慢速的输入/输出设备打交道,而是与速度相对快得多的磁带机发生联系。主机和外围计算机分工明确,在监督程序的管理下,充分发挥了主机的高速度处理能力,大大减少了因手工操作而带来的主机机时浪费,提高了主机的使用效率,比较明显地缓解了高速主机和低速输入/输出设备之间的矛盾。第1 1章 引 论 3实现多道程序系统实现多道程序系统 20世纪60年代中期,处理机速度进一步提高,主存容量加大,出现了大容量的辅助存储器。计算机的系统结构从以中央处理
16、机为中心改变为以主存为中心。其中最重要的是中断技术和通道技术的出现和发展,使操作系统有了进一步发展。借助通道和中断技术,主机可以在中断的时刻向I/O通道中的缓冲区进行读/写操作,更迅速地完成输入/输出任务。但是包括CPU和I/O设备在内的各种资源不能并行工作仍然是造成系统性能低效的主要原因,所以在硬件系统的支持下,通过软件技术使得系统中的CPU和其它的I/O设备并行工作,推出了多道程序系统。我们从图1-3中可以了解CPU与I/O并行的大致协调过程。第1 1章 引 论 所谓多道程序系统,是指允许多个相互独立的程序同时存在于内存中,而且处于同时运行的过程中。各道程序轮流占用CPU,交替执行。这里需
17、要解决一些技术问题,例如,如何共享硬件、软件资源,怎样解决同步和互斥的问题,如何提高内存的使用效率,如何保证程序的安全等,这些将是操作系统这门课程要介绍的重要内容。第1 1章 引 论 图1-3 CPU与I/O并行图程序A程序B程序C调度程序I/O请求I/O请求I/O请求I/O结束A再调度I/O结束B再调度A完成B完成CPU执行:I/O操作:T第1 1章 引 论 1.2.3 基本操作系统类型基本操作系统类型 1批处理系统批处理系统 批处理系统中,用户的作业分批提交并处理,即系统将作业成批地输入系统并暂存在外存中,组成后备作业队列,每次按一定的调度原则从后备作业中选择一个或多个装入主存进行处理,作
18、业完成后退出。这些操作由系统自动实现,大大缩短了两个作业之间的转接时间,在系统中形成了一个自动转接的作业流,当一批作业运行完毕,输出结果后,系统便接收下一批作业。第1 1章 引 论 在批处理系统中,用户不能直接干预作业的运行过程,而是将其对作业的控制意图在作业提交之前用作业控制语言编制成作业说明书或作业控制卡,这些控制意图可以是作业运行时的资源请求,或是对可能产生的运行错误的相应处理等。作业说明书或作业控制卡在提交作业时,与程序和数据一起提交给系统,由作业控制程序或命令解释程序解释执行,并且提供相应的服务。在引入多道程序设计技术后,批处理系统具有以下的特征:(1)多道性:在内存中同时驻留多道程
19、序,它们并发执行,以提高系统的资源利用率和系统的吞吐量。第1 1章 引 论 (2)无序性:作业的执行顺序与作业进入系统的先后顺序没有严格的对应关系。(3)调度性:作业从提交到运行完成需要经过两次调度,即作业调度和进程调度。作业调度是指按照一定作业调度算法,从后备作业队列中选择一个或几个作业调入内存。进程调度是指按照一定进程调度算法,从在内存的进程中选择一个进程,将处理机分配给它,使之执行。批处理系统,特别是多道批处理系统的主要优点是资源利用率高。由于在内存中装入了多道程序,系统中的资源被它们充分共享和利用,而且它们之间的切换所造成的系统开销较小,使系统在单位时间内所完成的总的工作量增加,即提高
20、了系统的吞吐量。第1 1章 引 论 批处理系统的缺点主要体现在以下两个方面:(1)平均周转时间长。作业的周转时间是指从作业进入系统开始,直到作业完成并退出系统为止所经历的时间。在批处理系统中,由于作业需要排队来依次进行处理,因而作业的周转时间较长。(2)无交互能力。在作业提交后,用户不能与自己的作业进行交互,不便于对作业的控制。第1 1章 引 论 2分时系统分时系统 所谓“分时”,就是多个用户对系统资源进行时间上的分享。在分时操作系统中,一个计算机系统与若干台本地或远程终端相连,每个用户可以在所使用的终端上以人机会话的交互方式使用计算机。微观上,每个用户作业轮流运行一个时间片;宏观上,多个用户
21、同时工作,共享系统资源。当用户通过键盘或者鼠标向系统提交一个请求后,会在1 s(甚至更短)之内给出响应,实现了及时交互。“分时”的设想最初是在20世纪60年代提出的,但是具体的分时系统的设计实现是很困难的,成本非常昂贵,所以直到20世70年代才得到逐步推广。目前尽管批处理系统仍然在某些方面继续使用,但是分时系统作为多道程序系统的一个典型代表,集中体现了多道程序系统的一些技术特征,成为当今的计算机操作系统主流,所以我们将会以分时系统为主要对象来学习操作系统。第1 1章 引 论 3实时系统实时系统 “实时”是指系统能够及时响应发生的外部事件(一般为一些随机事件),并以足够快的速度完成对事件的处理。
22、从这个定义中我们可以看到,在对时间响应的要求上,实时系统比分时系统要严格得多,一般在毫秒级、微秒级;而批处理系统甚至可以不作响应时间的要求。为了保证程序可靠运行,系统应提供安全措施,比如多级容错、硬件冗余等,避免因发生错误或丢失信息而造成重大经济损失甚至导致灾难性的后果。实时系统相对于其它操作系统来说,其优点是系统的及时响应以及系统的可靠性。第1 1章 引 论 实时系统可以分为两种类型:一种称作硬实时系统,另一种称作软实时系统。硬实时系统对响应时间的要求最为严格,一个实时任务绝对不允许出现等待的情况。一旦有实时任务到来,系统核心必须立即中止正在处理的任务而转去处理它,一定要在规定的延迟时间之内
23、作出信息反馈。从辅存中存取数据的方式在硬实时系统中是被限制使用甚至被禁止使用的,数据被存放在可以高速访问的内存或者只读存储器ROM中。ROM是一种系统断电后仍然能够保留其信息的存储介质,而内存中存储的信息在系统断电后将会丢失。实际上大部分先进的系统并不采用这种硬实时方式,因为在这些系统中更倾向于使用户能够与计算机硬件尽可能分离,这种分离会导致延迟时间难以确定。比如我们将要在存储器管理中学习的虚拟存储技术,在实时系统当中几乎都没有使用,而且硬实时系统与分时系统会产生冲突,没有一个通用的分时系统支持硬实时功能,所以我们在本书中对这种技术不予分析。第1 1章 引 论 在软实时系统中,系统通过用户任务
24、的优先级来保证实时性。一个实时任务需要在一定的截止时间内作出反馈,它的优先级通常是高于其它任务的。软实时系统可以应用于多媒体、虚拟现实、海底探测等科学领域以及一些工业自动化控制领域和军事自动化控制领域中。软实时系统有相对“宽松”的延迟,允许它很好地与其它类型的操作系统相混合,比如在UNIX中我们就可以看到软实时的控制技术。以上介绍的是三种基本的操作系统类型,实际的操作系统可能兼有三者或其中两种系统的功能。第1 1章 引 论 1.2.4 新型操作系统新型操作系统 操作系统经过一个大发展时期,到20世纪80年代已趋于成熟,随着集成电路技术和计算机体系结构的发展,操作系统也在不断地发展,先后形成了微
25、型计算机操作系统、多处理机操作系统、网络操作系统和分布式操作系统。1微机操作系统微机操作系统 随着超大规模集成电路(简称VLSI)的发展而产生了微型计算机,配置在微型计算机上的操作系统称为微型计算机操作系统(简称微机操作系统)。微机操作系统按照处理机的字长可分成8位、16位以及32位等操作系统。典型的操作系统有DOS、Windows、OS/2,以及近年来引起广泛关注的Linux等一些自由软件操作系统。第1 1章 引 论 MSDOS是单用户单任务操作系统的代表。单用户单任务的操作系统每次只允许一个用户上机,且一个用户程序只能作为一个任务运行。早期的DOS因为配置在IBMPC机上,而随着该机种及其
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 操作系统 原理 培训 实操第
限制150内