欢迎来到天天文库
浏览记录
ID:6720699
大小:296.00 KB
页数:29页
时间:2018-01-23
《第1章操作系统概论》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、•29•第1章操作系统概论第1章操作系统概论本章学习目标●掌握操作系统的定义及其在计算机系统中的作用。●掌握操作系统的特征及其功能。●了解操作系统的形成过程及其发展趋势,掌握批处理系统、分时系统和实时系统的特点。●了解操作系统的设计结构。●了解常见操作系统的特点。本章概述在现代计算机系统中,一个或多个处理器、主存、外存、网络接口以及各种不同的输入/输出设备共同协作,完成用户的各项需求。用户需求的响应过程是十分复杂和关键的,对编写和监督管理上述各种部件的程序员能力要求极高。为了将部分关键的操作封装起来,同时也达到简化程
2、序员工作的目的,计算机体系中出现了操作系统这个软件层次。它能在管理并正确使用上述部件的同时,为程序员提供一个通用的、相对简单的、能够驱动硬件工作的软件接口。本章首先从操作系统的定义、特征、功能、设计目标、性能指标等方面阐述操作系统的概念。然后从操作系统的发展分析操作系统的发展方向,由此引入不同结构的操作系统的性能比较与分析。最后对最为流行的操作系统实例——Windows系列和Unix/Linux系统进行简要的介绍。1.1操作系统的概念1.1.1操作系统的定义•29•第1章操作系统概论在现代计算机体系结构中,操作系统起
3、着至关重要的作用。如图1-1所示为操作系统在计算机体系结构中的位置。操作系统是硬件之上的第一层软件,在操作系统之上的是各种应用程序。其中每个层次又可以细分为更多的子层,如硬件层从底向上可分为物理设备、由各种寄存器和数据通道组成的微体系层以及主要由指令集组成的机器语言层,提供的是基本的计算资源。应用程序层则通常是基于特定操作系统的、满足特定功能的、直接面向用户的软件,这些软件能够根据用户的具体需求申请特定的资源,并按照应用程序规定的方法来使用这些资源。操作系统处于这两个层次之间,用来协调与控制应用程序对硬件资源的使用。
4、图1-1计算机体系结构在当今社会,几乎每个人都与操作系统打过交道,但是要精确地给出操作系统的定义却并非易事。由于每个人看待操作系统的角度不同,使用操作系统的目的不同,看到的操作系统也就表现出不同的特征。下面我们将从不同角度来探讨这个问题,并总结操作系统的定义。1.资源管理角度从资源管理角度来看,操作系统可以被视为资源管理与分配器。操作系统是硬件之上的第一层软件,可以与硬件直接交互,对硬件资源具有最直接有效的控制和管理权限。同时,作为应用程序层的基础,操作系统又要为应用程序提供各种使用硬件的方法,即应用程序接口。因此,
5、这个层次的软件应该能够直接操控各种计算机资源。计算机资源分为硬件资源与软件资源。硬件资源是指作为计算机运算基础的所有物理设备,以及为方便用户所使用的鼠标、键盘、打印机等各种不同类型的外部设备。这类资源使用特定的电子信号来指挥,由电子工程师设计并提供相应的驱动程序。而在操作系统中则使用这些驱动程序以及特定的指令集来告知硬件如何工作,同时接收硬件发送来的反馈数据与状态信息。根据硬件资源的功能不同,又将其分为处理器、存储器、I/O设备。相应地,操作系统也针对不同类型的硬件专门规划了处理机管理模块、存储器管理模块以及I/O设
6、备管理模块。计算机的软件资源通常是指各种程序与数据资源,它们以程序的形式或各种不同类型的文件形式存放于外存上,操作系统要将其进行合理化存储,以保证空间利用率和读写效率之间的均衡与有效。2.用户观点从用户观点来看,操作系统是用户与计算机硬件系统之间的接口,该接口在使用便捷性、资源利用率方面表现突出。由于操作系统是一般用户可以接触到的最底层的软件,只有通过它所提供的接口,用户才能使用各种硬件资源。换句话说,操作系统将复杂的底层机器语言和操作屏蔽起来,并将常用操作和指令序列组合后以命令、系统函数调用、图形用户界面等方式呈现
7、给用户,帮助用户以更安全、高效、便捷的方式使用系统资源。因此我们称操作系统是一种人机交互接口。•29•第1章操作系统概论在大型机和工作站端,这个接口除了能够帮助本机用户更方便地使用资源外,通常还肩负着为该用户与其他联机用户分配资源的重任。而分配资源的最重要原则就是确保CPU时间、内存和I/O设备得到最充分的利用,以达到资源利用率最大化的目的。3.机器扩充角度由计算机所完成的工作,无论繁简,总是可以分解为各个不同硬件的序列性动作。这些动作通过控制器命令来完成。控制器命令有不同的种类,可以完成数据读写、磁头臂移动、磁道格
8、式化、状态检测等不同工作。每条控制器命令均需要读写特定位置的数据,并从中分析所要执行的动作和被操作的数据等信息,然后按照分析结果完成命令动作,最后反馈新的状态信息和返回值到指定位置。显然,要求一般程序员使用控制器命令完成任务是不现实的,程序员需要的是高度抽象的、简单的操作方法。基于上述原因,一个专门用来隐藏硬件的实际工作细节,并提供了一个可以读
此文档下载收益归作者所有