当前位置:文档之家› 操作系统笔记

操作系统笔记

操作系统的定义:操作系统(Operating System, OS)是配置在计算机硬件上的第一层软件,是对硬件系统的首次扩充操作系统的目标和作用在计算机系统上配置操作系统主要目标与计算机系统的规模和应用环境有关。

操作系统的目标方便性硬件只能识别机器代码(0、1)OS提供命令,方便用户使用计算机有效性使CPU、I/O保持忙碌,充分利用使内存、外存数据存放有序,节省空间合理组织工作流程,改善资源利用率,提高吞吐量可扩充性计算机技术的发展:硬件/体系结构/网络/InternetOS应采用层次化结构,便于扩充和修改功能层次和模块开放性支持网络环境,兼容遵循OSI标准开发的硬件和软件操作系统的作用1. 用户与计算机硬件系统之间的接口命令方式用户通过键盘输入联机命令(语言)系统调用方式用户程序通过系统调用,操纵计算机图形、窗口方式用户通过窗口、图标等图形界面操纵计算机2.计算机系统资源管理者4大类资源:处理机;存储器;I/O设备;信息(文件:程序、数据)3.对计算机资源的抽象(扩充机器)裸机:只有硬件的计算机,难以使用虚机器:在裸机增加软件(OS等),功能增强,使用方便推动操作系统发展的主要动力1.不断提高计算机资源利用率早期计算机很昂贵,为提高资源利用率,产生了批处理系统2.方便用户为改善用户上机、调试程序时的条件,产生了分时系统3.器件的不断更新换代OS随之更新换代,如:8位->16位->32位4.计算机体系结构的不断发展单处理机OS->多处理机OS->网络操作系统操作系统的发展过程无操作系统时代OS尚未出现,人们如何使用计算机人工操作方式人工操作方式的缺点用户独占全机CPU等待人工操作结果:资源利用率低下脱机输入输出系统低速设备纸带机/卡片机高速设备磁带/磁盘I/O速度提高,缓解了I/O设备与CPU的速度矛盾主机:用于计算的主计算机外围机:也是计算机,处理输入输出,使之不占用主机CPU时间外围机控制输入/输出输入:低速设备->高速设备输出:高速设备->低速设备输入和输出使用独立于主机的外围机,不占用主机的CPU时间,是脱机过程,因此叫做脱机输入/输出方式单道批处理系统计算机发展的早期,没有任何用于管理的软件,所有的运行管理和具体操作都由用户自己承担,任何操作出错都要重做作业,CPU的利用率甚低。

解决的方法有两个:首先配备专门的计算机操作员,程序员不再直接操作机器,减少操作机器的错误。

另一个是进行批处理,操作员把用户提交的作业分类,把一批中的作业编成一个作业执行序列。

每一批作业将有专门编制的监督程序(monitor)自动依次处理。

说明:监督程序的作用:用来装入用户作业,和用户作业交替地使用CPU。

“批”的含义:供一次加载的磁带或磁盘,通常由若干个作业组装成,在处理中使用一组相同的系统软件(系统带)。

关于“作业”的说明:通常,把计算机完成用户算题任务所需进行的各项工作称为一道作业。

多道批处理系统早期的批处理可能出现两种情况:对于以计算为主的作业,输入输出量少,外围设备空闲;对于以输入输出为主的作业,主机空闲。

问题的提出在早期的单道批处理系统中,内存中仅有单个作业在运行,致使系统中仍有许多资源空闲,设备利用率低,系统性能较差。

多道程序设计技术若当前作业因等待I/O而暂停,CPU只能空闲直至该I/O完成对于科学计算问题,CPU操作密集,CPU浪费时间少对于商业数据处理,I/O操作密集,I/O等待时间常占80%-90%解决办法将内存分几个部分,每部分放不同的作业当一个作业等待I/O时,CPU可被另一作业使用在主存中同时驻留多个作业多道程序设计多道程序设计是指允许多个程序同时进入一个计算机系统的主存储器并启动进行计算的方法。

合理搭配I/O为主和计算为主的程序交替运行,充分利用资源,提高系统效率。

多道程序的运行特点:多道:计算机内存中同时存放多道相互独立的程序。

宏观上并行运行:同时进入系统的几道程序都处于运行状态,但都未运行完。

微观上串行运行:各作业轮流使用CPU,交替执行。

实现技术:当正在运行的程序因I/O暂停执行时,系统可调度另一道程序运行,使CPU保持忙碌。

例题:有两道程序A、B,按下图以多道程序方式运行,要求在右图画出它们的运行轨迹,并计算在60ms内,CPU的利用率,假设起始时首先运行B,并允许忽略监督程序切换A、B的时间(不考虑I/O的冲突)。

分时系统概念:时间片、终端、响应时间分时(Time Sharing)是把计算机的系统资源(尤其是CPU时间)进行时间上的分割,每个时间段称为一个时间片(Time Slice) ,每个用户依次轮流使用时间片。

分时技术:把处理机的运行时间分为很短的时间片,按时间片轮流把处理机分配给各联机作业使用分时系统的定义分时操作系统:是一种联机的多用户交互式的操作系统。

一般采用时间片轮转的方式,使一台计算机为多个终端服务。

对每个用户能保证足够快的响应时间,并提供交互会话能力。

分时系统的特点多路性系统支持单主机多个终端,按分时原则服务独立性各用户独立操作,互不干扰。

及时性对用户请求的响应时间短(1~3s)交互性用户向系统提出服务请求更方便,也更广泛通过终端实时系统产生背景:虽然多道批处理操作系统和分时操作系统获得了较佳的资源利用率和快速的响应时间,从而使计算机的应用范围日益扩大但它们难以满足实时控制和实时信息处理领域的需要。

于是,便产生了实时操作系统,目前典型的实时系统:实时控制系统、实时信息处理系统。

什么是实时系统有高可靠性和安全性,系统的效率则放在第二位典型的实时系统(1)实时控制系统:计算机用于生产过程控制时,要求系统能现场实时采集数据,并对采集的数据进行及时处理,进而能自动地发出控制信号控制相应执行机构,使某些参数(压力、温度、距离、湿度)能按予定规律变化,以保证产品质量。

导弹制导系统,飞机自动驾驶系统,火炮自动控制系统都是实时过程控制系统。

典型的实时系统(2)实时信息处理系统:计算机还可用于控制进行实时信息处理。

计算机接收成干上百从各处终端发来的服务请求和提问,系统应在极快的时间内做出回答和响应。

机票订购系统、情报检索系统是典型的实时信息处理系统微机操作系统1.单用户单任务OS只允许一个用户上机,且只允许用户程序作为一个任务运行。

典型代表:CP/M8位机上的主流操作系统MS-DOS最早的PC操作系统16位机上的主流操作系统2.单用户多任务操作系统只允许一个用户上机,但允许用户把程序分为若干个任务,使它们并发执行。

典型代表:微软公司推出的windows3.多用户多任务OS允许多个用户通过各自的终端使用同一台机器,共享主机系统中的各种资源,而每个用户程序又可进一步分为几个任务,使它们能并发执行。

典型代表:UNIX操作系统的基本特性以多道程序设计为基础的现代操作系统具有以下几个主要特征:并发性(Concurrence)共享性(Sharing)异步性(Asynchronism)或称不确定性(Nondeterministic)虚拟性(Virtual)并发性概念:并发、并行、进程并发性(Concurrence)是指两个或两个以上的运行程序在同一时间间隔段内同时执行。

操作系统是一个并发系统,并发性是它的重要特征,它应该具有:处理多个同时执行的程序的能力。

并行与并发的不同:①并行性是指两个或多个事件在同一时刻发生②并发性是指两个或多个事件在同一时间间隔内发生引入进程在多道程序系统中,为了能够并发执行,系统必须为每个程序建立进程。

程序是静态的,进程是动态的。

进程能支持并发,程序不能。

进程由一组机器指令、数据和堆栈组成,是一个能独立运行的活动实体。

进程是资源分配的独立单位。

多个进程能并发执行,进程运行时要占用一定的系统资源,如CPU、存储空间和I/O设备等。

共享性(sharing)概念:互斥访问、临界资源、同时访问共享指操作系统中的资源(包括硬件资源和信息资源)可被多个并发执行的进程所使用。

发生条件多个进程并发执行多个进程需要同一资源资源共享的方式资源共享的方式可以分成两种:第一种是互斥共享。

系统中的某些资源如打印机、磁带机、卡片机,虽然它们可提供给多个进程使用,但在同一时间内却只允许一个进程访问这些资源。

这种同一时间内只允许一个进程访问的资源称临界资源,许多物理设备,以及某些数据和表格都是临界资源,它们只能互斥地被共享。

第二种是同时访问。

系统中的还有许多资源,允许同一时间内多个进程对它进行访问,这里“同时”是宏观上的说法。

典型的可供多进程同时访问的资源是磁盘。

共享与并发共享性和并发性是操作系统两个最基本的特征,它们互为依存:一方面,资源的共享是因为运行程序的并发执行而引起的,若系统不允许运行程序并发执行,自然也就不存在资源共享问题。

另一方面,若系统不能对资源共享实施有效地管理,必然会影响到运行程序的并发执行,甚至运行程序无法并发执行,操作系统也就失去了并发性,导致整个系统效率低下。

虚拟技术虚拟是指操作系统中的一种管理技术,它是把物理上的一个实体变成逻辑上的多个对应物,显然,前者是实际存在的而后者是虚构假想的。

时分复用虚拟处理机通过多道程序和分时使用CPU技术,物理上的一个CPU变成逻辑上的多个CPU虚拟设备打印机若某物理设备通过时分复用虚拟为N台,则虚拟设备速度是原设备的1/N空分复用虚拟磁盘1个硬盘实体->多个逻辑卷虚拟存储器虚拟存储器则是把物理上的多个存储器(主存和辅存)变成逻辑上的一个(虚存)的例子内存空分复用提高内存空间利用率结合时分复用,可实现在逻辑上扩大内存,使程序中远小于它的空间运行若某物理设备通过空分复用虚拟为N台,则虚拟设备占用空间是原设备的1/N异步性异步性(Asynchronism)亦称不确定性,( Nondeterministic )进程以人们不可预知的速度向前推进,即进程的异步性。

在多道程序环境中,允许多个进程并发执行,由于资源有限而进程众多,进程的执行往往不是一气呵成,而是“走走停停”,其运行、暂停和完成的时间都无法确定。

a.系统中的进程何时执行b.何时暂停c.以什么样的速度向前推进d.进程总共要多少时间执行才能完成这些都是不可预知的,或者说该进程是以不确定的方式运行的,不确定性给系统带来了潜在的危险,有可能导致与时间有关的错误。

但只要运行环境相同,操作系统必须保证多次运行作业,都会获得完全相同的结果。

设计操作系统必修考虑异步性带来的问题。

\1.4操作系统功能操作系统有如下几个基本功能:处理机管理存储器管理设备管理文件管理用户接口(一)处理机管理在传统的多道程序系统中,处理机的分配和运行都是以进程为基本单位,因而对处理机的管理可归结为对进程的管理:进程控制创建、撤销、状态转换进程同步访问临界资源、协调合作次序进程通信合作进程的消息交换调度作业调度、进程调度(二)存储器管理存储管理的主要任务是管理存储器资源,为多道程序运行提供有力支撑。

相关主题