




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第1章绪论1.1操作系统概念操作系统概念(p2)一组控制和管理计算机硬件和软件资源、合理地对各类作业进行调度以及方便用户的程序集合。它就像是指挥者,协调计算机所有的组件,并使得各个组件能依照某个计划协同工作。效率和功能是一个操作系统可用的关键因素。操作系统的效率为计算机上所有软件的性能提高提供了平台,研究操作系统的一个最重要的原因是学习如何获得最好的性能。另外,操作系统提供了一系列功能以支持用户程序的执行。提供较少功能的高性能操作系统实际上会迫使应用程序做更多的工作。为了在编程中充分使用系统的功能,需要理解系统是如何设计的。作为用户与计算机硬件系统之间的接口图1-1OS作为接口的示意图计算机硬件操作系统系统调用,命令,图标,窗口应用程序及实用程序系统设计者程序员用户应用软件:设计用于解决一个专门问题。如电子邮件软件,库存控制软件,文档编辑程序等。系统设计:提供一个一般的编程环境,从而程序员可以生成特定的应用程序以适应他们客户的需要。编程环境由程序设计工具(如编辑器和编译器)和抽象(如文件和对象)组成。为了使机器资源更多的花费在应用程序上,系统软件对机器资源的使用应该尽可能少。一般系统软件设计的最初动机,主要是提供一些程序员可以使用的功能以备应用软件调用。后来,系统软件(特别是操作系统)实现了另一个重要目的:使应用程序能够以有序的方式去共享硬件。共享提高了系统整体的性能。操作系统是系统软件的一部分,它保证共享的实现最安全和有效。它是“最贴近硬件”的软件实现,其它的系统软件和所有的应用软件把操作系统作为使用硬件的一个界面。操作系统程序员编写控制硬件的软件(实现共享和抽象),给应用程序员提供一个可以使用的软件环境。通常的系统软件C运行库:标准输入输出库,如printf()和scanf()。数学库,如sqrt()。图形库,如drawCircle()等。命令行解释程序(也称外壳程序),如windows下使用dir命令,UNIX下使用ls命令可进行目录下的条目列表;Linux的bash程序和Windows的cmd.exe程序都是命令行解释程序。窗口系统:为应用程序提供了虚拟终端,应用程序可以用函数读写窗口,好像该窗口是一个终端设备一样。例如Macintoshdesktop,MicrosoftWindowsdesktop,Linux的Gnomedesktop等。数据库管理系统,如Oracle或MySQL等。操作系统与其它系统软件的区别操作系统直接作用于硬件之上,为其他系统软件和应用软件提供接口。通用的操作系统与应用领域无关。操作系统可支持许多应用领域软件。应用程序使用操作系统所提供的资源抽象,从而使用硬件资源部件。操作系统允许不同的应用程序通过它所提供的资源管理策略来共享硬件资源。研究操作系统的两种观点作为计算机系统资源的管理者处理机管理:分配和控制处理机存储器管理:分配及回收内存I/O(Input/Output)设备管理:I/O分配与操作文件管理:文件存取、共享和保护
作为扩充机器把覆盖了软件的机器称为扩充机或虚拟机。分层扩充的特点。操作系统作为虚拟机#include<studio.h>intmain(){printf(“hello,world\n”);}
Hello程序必需被转化为低级机器语言指令,然后这些指令按照一种称为可执行目标程序的格式打好包,并以二进制磁盘文件的形式存放起来。思考用MCS51编写hello,world程序?用MCS51编写读键盘输入,并输出的程序?翻译过程——编译系统gcc–ohellohello.c翻译过程分为四个阶段,执行这四个阶段的程序一起构成编译系统。预处理阶段:读取头文件stdio.h的内容,并插入到程序文本中去;编译阶段:产生一个汇编语言程序。汇编阶段:翻译成机器语言,并且打包成为一种可重定位目标程序的格式。链接阶段:printf存在于一个名为printf.o的单独的预编译目标文件中,必须以某种方式并入到hello.o中;程序的运行——Shellunix>./helloHello,worldunix>shell执行它的指令,等待输入。当我们输入后,逐一读取字符到寄存器,再把它存放到存储器中。回车时,shell知道我们已经结束了命令输入。然后shell执行一系列指令,将目标文件中的代码和数据从磁盘拷贝到贮存,从而加载hello文件。数据包括最终会被输出的字符串。一旦hello目标文件中的代码和数据被加载到了存储器,处理器就开始执行hello程序的主程序中的机器语言指令,将串中的字节从存储器中拷贝到寄存器堆,再从寄存器中文件拷贝到显示设备,最终显示到屏幕上。程序没有直接访问键盘,显示器,磁盘或者主存,它们依靠操作系统提供的服务。操作系统作为资源的管理者操作系统有两个主要用途:防止硬件被失控的应用程序滥用;在控制复杂而又通常广泛不同的低级硬件设备方面,为应用程序提供简单一致的方法。它通过几个基本的抽象概念(进程,虚拟存储器和文件)实现这两个用途。文件是对I/O设备的抽象表示,虚拟存储器是对主存和磁盘I/O设备的抽象表示,进程则是对处理器、主存和I/O设备的抽象表示。进程进程:操作系统提供一种假象,似乎系统上只有这个程序在运行。程序看上去独占的使用处理器,主存和I/O设备。这些假象是通过进程的概念来实现的。进程是操作系统对运行程序的一种抽象;并发与并行;在并发运行中,交错执行的机制称为上下文切换。在helloworld示例中,有两个同时运行的进程:shell进程和hello进程。最开始,只有shell进程在运行,等待输入。当我们让它运行hello程序时,shell通过调用一个专门的函数,即系统调用,来执行我们的请求,系统调用会将控制权传递给操作系统。操作系统保存shell进程的上下文,创建一个新的hello进程及其上下文,然后将控制权传给新的hello进程。在hello进程终止后,操作系统恢复shell进程的上下文,并将控制权传回给它,继续等待下一命令行输入。处理机管理多道环境下,处理机的运行及分配都是以进程为单位,因此处理机管理可归结为进程管理。一、进程控制创建/撤消进程迁移进程状态一般由进程控制原语完成二、进程同步为使多个进程有条不紊地运行,应建立同步机制。包括进程互斥/同步,次序协调。三、进程通信源于进程合作,如:输入进程、计算进程、打印进程相互间有信息传递类型:直接通信:进程A发message,进程B收message间接通信:进程A发message到中间实体(如mailbox),进程B从中间实体收messageOS的主要功能(3)四、调度(作业与进程)作业调度:为作业分配必要资源,调入内存建立进程,并使之进入就绪队列。进程调度:从就绪队列中选出进程,分配CPU,使之运行。调度算法:FCFS、优先权等虚拟存储器也是一个抽象概念,为每个进程提供一个假象,好像它在独占的使用主存。每个进程看到的存储器都是一致的,称为虚拟地址空间。Linux中,最上面的四分之一的地址空间预留给操作系统中的代码和数据。底部的四分之三用于存放用户进程定义的代码和数据。存储管理目的:方便用户使用,且提高存贮器利用率一、内存分配静态分配:动态分配:作业在内存中可移动为此,需内存分配的数据结构及内存分配和回收功能二、内存保护例:设置上、下界寄存器,每条指令进行越界检查(一般是硬件实现)三、地址映射地址范围 地址逻辑空间 逻辑地址相对地址()物理空间 物理地址(绝对地址)四、内存扩充利用虚存技术,从逻辑上扩充内存容量系统应有:请求调入/置换功能以支持虚存技术文件文件只不过是字节序列。每个I/O设备,包括磁盘,键盘,显示器,甚至网络,都可以被看成是文件。系统中的所有输入输出都是通过使用UnixI/O的一小组系统函数调用读写文件来实现的。这个简单而精致的抽象概念非常强大,它使得应用程序能够同一地看待系统中可能含有的所有各式各样的I/O设备。例如,处理磁盘文件内容的应用程序员可以非常幸福地无需了解具体的磁盘技术。而同一程序可以在使用不同磁盘技术的不同系统上运行。设备管理任务:提高I/O利用率和速度,方便用户一、缓冲管理缓冲区:用来解决CPU-I/O矛盾,如:CPU快则应多创建缓冲区。二、设备分配包括:设备,设备控制器,I/O通信的分配和回收三、设备处理指控制设备进行实际的操作,包括读、写等以及向CPU发中断。设备处理/驱动程序应能根据用户的I/O请求,自动地构成通道程序。四、设备独立性和虚拟设备独立性,即program与设备无关性,使program易于重定向,增加了可移植性。虚拟设备信息管理(文件系统管理)任务:方便用户,提供安全性一、文件存贮空间的管理例:creatfile:文件系统根据文件长度自动分配连续或离散的扇区,并提供“一句柄”表示该文件。二、目录管理使用户按名存取,提高速度。三、文件的读、写管理和存取控制(保护)1.2操作系统的历史和基本类型1.2.1手工操作阶段人工操作方式如纸带输入机。特点是用户独占全机及CPU等待人工操作。脱机I/O方式(图1.2)引入I/O机的概念,解决前者的缺点。特点是减少了CPU的空闲时间且提高I/O速度。1.2.2早期批处理处理过程(图1.3)监督程序(monitor)概念:系统对作业的处理都是成批进行的、且内存中始终只保持一道作业,称为单道批处理系统(simplebatchsystem)。批处理系统的引入是为了提高系统资源的利用率和吞吐量概念:运行控制权特征自动性、顺序性、单道性图1-3还有下一个作业?把下一个作业的源程序转换为目标程序源程序有错吗?装配目标程序运行目标程序开始是否停止是否1.2.3多道批处理系统基本概念多道:系统中同时驻留多个作业多道引入的优点:提高CPU利用率提高内存和I/O设备利用率提高了系统吞吐量特征多道性、无序性、调度性:作业调度、进程调度缺点平均周转时间长、无交互能力1.2.4分时操作系统分时系统的产生概念:指一台主机上连接了多个带有显示器和键盘的终端,同时允许多个用户共享主机中的资源,各个用户都可通过自己的终端以交互方式使用计算机。是用户的需求:人机交互性共享主机便于用户上机分时系统(2)分时系统在实现中的关键问题及时接收:多终端卡、输入缓冲区及时处理:交互作业应在内存、响应时间应短分时系统(3)分时系统的实现方法交互式作业直接进入内存以分配时间片方式实现类型:单道分时系统具有前、后台的分时系统仅当前台无作业或在调进、出时,才运行后台批处理作业。多道分时系统不需要调入、出开销。分时系统(4)分时系统的特征多路性、独立性、及时性、交互性1.2.5实时操作系统引入:要求及时处理的场合概念:系统能及时响应外部事件的请求,在规定时间内完成对该事件的处理。类型实时控制实时信息处理实时系统(2)实时任务类型按任务执行是否呈现周期性来划分周期性的(联系周期);非周期性的(联系开始或完成截止时间)根据对截止时间的要求来划分硬实时任务软实时任务实时系统(3)实时、分时的比较多路性:相同独立性:相同及时性:实时系统要求更高交互性:分时系统交互性更强可靠性:实时系统要求更高1.2.6通用操作系统由批处理系统、分时系统和实时系统中两个或两个以上系统构成,分前后台工作。1.2.7个人计算机上的操作系统联机的单用户操作系统,一般能够实现多任务,以Windows系列和Linux系统为主。1.2.8网络操作系统
计算机网络是通过数据通信系统将地理上分散的具有自主能力的多个计算机和终端设备连接起来,以实现信息交换、资源共享、应用互操作和协作处理的系统。 网络操作系统NOS是建立在主机操作系统基础之上,用于管理网络通信和共享资源,协调各主机上任务的运行,并向用户提供统一的、有效的网络接口的软件的集合。
NOS的功能:数据通信、资源管理、网络管理、提供网络服务、提供网络接口1.2.9分布式操作系统分布式OS的定义:和网络OS类似分布式OS的特点:和网络OS比较分布性、并行性、透明性、共享性、健壮性OS的用户接口1.4.5用户接口一、命令接口由一组“命令”集组成,分为联机和脱机用户接口1.联机用户接口由一组键盘操作命令及命令解释程序所组成2.脱机(批处理用户接口)用JCL写作业说明书OS的用户接口二、程序接口系统调用高级语言的库函数三、图形接口如win的copy文件,采用“拖”来完成,生动,不需记忆
操作系统的结构整体式(无结构)系统层次式系统虚拟机系统客户服务器系统整体式系统一组过程集,各过程可相互调用。在整体式系统中,为了构造最终的目标操作系统,开发人员首先将一些独立的过程进行编译,然后用链接程序将其链接在一起称为一个单独的目标程序。从信息隐藏的观点来看,没有任何程度的隐藏,每个过程都对其它过程可见。存在一些程度很低的结构化。系统调用的过程是:首先将参数放入预先确定的寄存器或堆栈中,然后执行一条特殊的陷入指令,即访管指令或内核调用指令。这条指令将机器由用户态切换到内核态,并将控制转到操作系统。操作系统随后检查调用的参数以确定应该执行哪条系统调用,然后查一张系统调用表,记录了每条系统调用的执行过程,它确定了将调用的服务例程。系统调用结束后,控制返回给用户程序,继续执行系统调用后的语句。这种组织方式提出了操作系统的一种基本结构:1、一个用来调用被请求服务例程的主程序。2、一套执行系统调用的服务例程。3、一套支持服务例程的工具过程。层次式系统虚拟机系统IBM的VM/370。基于如下思想:一个分时系统应该提供以下特性(1)多道程序,(2)一个具有比裸机更方便界面的可扩展的计算机。VM/370将二者彻底隔离开来。该系统的内核称为虚拟机监控程序,它在裸机上运行并具备多道程序功能。向上层提供了若干台虚拟机。与其它操作系统不同的是,这些虚拟机不是那种具有文件等良好特征的扩展计算机,而仅仅是裸机硬件的精确副本。不同的虚拟机可以运行不同的操作系统,而且往往如此。某些虚拟机运行OS/360的后续版本做批处理或事务处理,同时另一些虚拟机运行一个单用户交互系统供分时用户使用,该系统称为CMS(会话监控系统)。当CMS上的程序执行一条系统调用时,该系统调用陷入自己的虚拟机的操作系统,而不是VM/370。然后CMS发出正常的硬件I/O指令来执行系统调用。这些I/O调用被VM/370捕获,随后VM/370执行这些指令。虚拟机的思想被广泛采用:例如在奔腾CPU上运行老的MS-DOS程序。在设计奔腾芯片软硬件时,Intel和Microsoft都意识到要使老软件能够在新硬件下运行,于是Intel在奔腾芯片上提供了一个虚拟8086模式。该模式被Windows等操作系统用于运行MS-DOS程序。实际上,MIT的研究人员构造了一个系统,其中每个用户都
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 特许金融分析师考试科目安排试题及答案
- CFA知识体系全貌与试题及答案
- 投资者情绪对市场的影响试题及答案
- 2024CFA考试全景回顾试题及答案
- 中职商务英语专业口语教学问题及对策研究
- 高速公路交通安全培训
- 给学校设计警示牌
- 2025年宁夏银川一中高考英语一模试卷
- 骨科颈椎护理查房
- CFA考试中应注意的细节试题及答案
- 《梅花》 完整版课件
- 房地产抖音短视频培训课件
- 苏教版数学二年级下册《数学绘本:公主殿下来的那一天》区级展示课(定稿)
- 主观幸福感(GWB)量表
- 中国传媒大学-导演手册-课件
- 健康状况询问与接种禁忌核查表
- 新电务系统作业标准汇编一1现场信号工
- Word版中国空白地图大全
- 面板滑膜专项施工方案
- 钢笔字练习田字格
- 国家开放大学《物流管理基础》形考任务1-4参考答案(2)
评论
0/150
提交评论