第四章计算机操作系统by gyb_第1页
第四章计算机操作系统by gyb_第2页
第四章计算机操作系统by gyb_第3页
第四章计算机操作系统by gyb_第4页
第四章计算机操作系统by gyb_第5页
已阅读5页,还剩68页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第四章计算机操作系统操作系统是计算机系统的基本组成部分,是配置在计算机硬件上的第一层软件,是对硬件系统的第一次扩充。本章主要讲述操作系统概念及构成操作系统类别与计算环境操作系统中的基本组件和功能介绍典型的操作系统产品。4.1

操作系统概念及构成4.1.1

操作系统的概念操作系统:是管理计算机软硬件资源的程序,同时它又是用户与计算机硬件的接口。用户系统程序和应用程序操作系统硬件层计算机硬件设备如何使用?应

件操作系统底层硬件控制用户输入处理结果课程导论4.1

操作系统概念及构成4.1.2

操作系统的构成4.1

操作系统概念及构成操作系统①进程管理②内存管理③文件管理④输入/输出系统管理⑤二级存储管理用户接口⑥联网、保护系统和命令解释程序系统就是对就是如何合

CPU的理分配和使管理。用内存。就是对文件及文件夹进行管理。就是对外部各种输入输出设备进行管理。主要是指对虚拟内存进行管理。就是提供对网络管理、对进程工作过程的保护及提供用户与操作系统的接口程序。操作系统的发展手工操纵阶段(无操作系统)批处理操作系统多道程序系统分时系统实时系统网络操作系统分布式操作系统1.

手工操纵方式用户直接用机器语言编制程序,并在上机时独占全部计算机资源。用户既是程序员,又是操作员。程序一般通过控制板的开关和状态灯来调试。据说图灵能非常熟练地用这种方法操作Manchester

Mark

I机器。2.

单道批处理系统机器引入帮助程序输入输出等工作的代码库。这是现代操作系统的起源。然而,机器每次只能执行一件任务。在英国剑桥大学,这些任务的磁带从前是排成一排挂在衣钩上的,衣钩的颜色代表任务的优先所谓批处理系统是指加载在计算机上的一个系统软件,在它的控制下,计算机能够自动地成批地处理一个或

多个用户的作业。用户一次可以提交多个作业,但系统一次只处理一个作业,处理完一个作业后,再调入下一个作业进行处理。2.

单道批处理系统时间(a)单道程序设计运行等待运行等待运行等待运行等待程序B程序A3.

多道批处理系统把内存分为若干部分,属于同一批次的若干个作业调入内存,存放在内存的不同部分。一个作业由于等待输入输出操作而让处理机出现空闲时,系统自动进行切换,处理另一个作业。3.

多道批处理系统运行等待运行等待等待运行等待运行等待程序A程序B混合运行A运行B等待运行A运行B等待时间(b)多道程序设计4.

分时系统分时技术是把处理机的时间分成很短的时间片,这些时间片轮流地分配给各个联机的各作业使用。如果某作业在分配给它的时间片用完时仍未完成,则该作业就暂时中断,等待下一轮运行,并把处理机的控制权让给另一个作业使用。这样在一个相对较短的时间间隔内,每个用户作业都能得到快速响应,以实现人机交互。分时系统特点:多路性独立性及时性交互性5.

实时系统实时系统必须具有在一个事先定义好的时间限制内,对外部或内部的事件进行响应和处理的能力。实时系统要求有高可靠性和安全性,因此,在实时系统中,往往都采取了多级容错措施来保证系统的安全及数据的安全。6.

网络操作系统网络操作系统,具有以下基本功能:网络通信功能网络资源的管理和使用网格技术是近几年兴起的一种重要信息技术,它的目标是在网络环境上实现各种资源的共享和大范围协同工作。7.

分布式操作系统一个分布式系统是若干计算机的集合,它们都有自己的局部存储器和外部设备,但整个是一个一体化的系统。在系统中有一个全局操作系统,即分布式操作系统,它负责整个系统的资源分配和调度、任务划分、信息传输、控制协调等工作,为用户提供一个统一的界面,标准的接口,用户所做的操作和对系统资源使用,在哪一台计算机上执行或使用哪个计算机的资源则由操作系统自动完成,用户不用知道,即分布或操作系统是透明的。4.2.1

操作系统的类别4.2

操作系统类别与计算环境批处理系统

多道程序系统分时系统实时系统桌面系统12345多处理机系统网络系统分布式系统嵌入式系统67894.2

操作系统类别与计算环境4.2.2

计算环境传统计算环境指普通意义下的通用计算机工作环境。主要是指独立或联网工作的通用计算机所形成的计算环境。基于Web的计算环境随着互联网的普及,使得计算被延伸到Web环境。嵌入式计算环境嵌入式计算机就是安装在某些设备上的计算部件,其计算相对比较简单。4.3

进程管理4.3.1

进程的概念进程可以简单地被看作是正在执行的程序。但是进程需要一定的资源(例如CPU时间、内存、文件和I/O设备)来完成它的任务。进程与程序的区别在于进程是动态的、有生命力的,而程序是静态的。一个程序加载到内存,系统就创建一个进程,程序执行结束后,该进程也就消亡了。4.3

进程管理程序、作业和进程分界状态图作业调度器进程调度器4.3

进程管理程序B程序A程序CCPU时间程序C计算机采用多道程序的目的是使得计算机系统无论何时都有进程运行,单处理器的计算机在某一时刻CPU只能运行一个进程,如果存在多个进程,其它进程就要等待被CPU调度执行。多道程序系统(并发执行)程序A程序B4.3.2

进程的状态转移新的就绪运行终止等待允许中断退出允许I/O操作或事件的完成(因等待原因解除而唤醒)I/O操作或事件的等待(因某个设备需要进行输入输出、或某个事件的发生而睡眠)进程状态及转换图4.3

进程管理如CPU时间片被用完迫使进程让出CPU进程得到了除CPU

之外的其它资源,等待分配CPU

。当一个进程已分配到CPU,正在被执行时进程状态转换转换后状态原状态创建运行就绪阻塞终止创建××OS准备运行新的进程××运行××超时响应具有更高优先级的进程进程释放控制资源请求事件请求进程完成进程夭折就绪×被分配程序选择为下一个即将执行的程序××被父进程终止阻塞××事件发生×被父进程终止4.3

进程管理4.3.3

进程控制块进程控制块是进程的标识、是进程实体的一部分、是操作系统中记录进程的专用数据结构。一个新的进程创建时,操作系统就会为该进程建立一个进程控制块。操作系统根据PCB对并发进程进行控制。4.3

进程管理4.3.4

进程调度及队列图单处理器的计算机在某一时刻CPU只能运行一个进程,如果存在多个进程,其它进程就需要等待CPU空闲时才能被调度执行。当一个进程处于等待或CPU时间片用完时,操作系统就会从该进程中拿走CPU控制权,将CPU变为空闲,然后再将CPU交给其它进程使用,这就是进程的调度。进程管理队列4.3

进程管理4.3

进程管理4.3.5 CPU调度及其准则在设计CPU调度程序时主要应该考虑的准则包括:CPU使用率。CPU调度算法应该使得CPU尽可能地忙。吞吐量。CPU在一定时间内所完成的进程数尽可能地多。周转时间。一个进程从提交到全部运行完成之间的时间间隔应尽可能短。等待时间。一个进程在就绪队列中等待所花的时间之和。应尽可能短。响应时间。进程从提交请求到产生第一响应之间的时间间隔应尽可能短。4.3

进程管理4.3.6

主要的CPU调度算法先到先服务(FCFS)最短作业优先(SJF)优先权(Priority)轮转(RR)多级队列(Multilevel

Queue)4.3

进程管理A进程B进程等待A信号(等待取数据并计算)取缓冲区中的数据进行计算给A发信号(缓冲区数据已取走)把数据从键盘送入缓冲区给B发信号(缓冲区已满)等待B发回信号(再送数据到缓冲区)4.3.7

进程的同步与互斥进程的同步就是指相互协作的进程不断调整它们之间的相对速度,以实现共同有序地推进。换句话说,进程之间本身存在某种联系,它们在系统中需要一种协作,以保证进程能正确有序地执行并维护数据的一致性。例:A、B两进程同步工作如下图(A进程负责从键盘读数据到缓冲区,B进程从缓冲区取数据并计算。–现实应用中存在大量的类似实例进程通信司机进程售票员进程正确运行过程While(True){While(True){While(True){启动公交车;关车门;(司机)启动公交车;驾驶公交车;卖车票;(售票员)关车门;停止公交车;开车门;(司机)驾驶公交车;}}(售票员)卖车票(司机)停止公交车;(售票员)开车门;}4.3

进程管理4.3

进程管理在操作系统中,可能存在着多个进程。而系统中一些资源一次只允许一个进程使用,这类资源被称为临界资源或共享变量。在进程中访问临界资源的那段程序称为临界区。多个进程并发执行时,只允许一个进程进入临界区运

行,这就是进程的互斥。例如:多个进程在竞争使用打印机时表现为互斥。一个文件可供多个进程共享,其中有一个进程在写操作时,其它进程则不允许同时写或读,表现为互斥。4.3

进程管理4.3.8

进程的死锁及处理方法在多道程序设计中,多个进程可能竞争一定数量的资源。一个进程在申请资源时,如果所申请资源不足,该进程就必须处于等待状态。如果所申请的资源被其它进程占有,那么进程的等待状态就可能无法改变,从而形成进程之间相互一直等待的局面,这就是死锁。竞争资源引起死锁引起死锁的四个必要条件:互斥:占有并等待:非抢占:循环等待:4.3

进程管理死锁举例进程A:获得CD-ROM使用权,申请打印机进程B:获得打印机使用权,申请CD-ROM死锁:此时进程A、B均被阻塞,无法运行进程死锁进程A进程B打印机CD-ROM4.3

进程管理进程的死锁举例1:进程的死锁举例2:4.3

进程管理4.3

进程管理处理死锁问题的三种方式:可使用协议预防和避免死锁,确保系统从不会进入死锁状态。可允许系统进入死锁状态,然后检测出死锁状态,并加以恢复。可忽略进程死锁问题,并假装系统中死锁从来不会发生。处理死锁优先考虑的顺序:先预防和避免

再检测和恢复补充:4.

线程(threads)对进程时行“细分”,一个进程可再分为多个线程轻量级的进程(lightweight

threads,简称LWP)传统进程可认为重量级线程(weightthreads,简称LWP)线程:核心级线程和用户级线程UNIX:进程是CPU的分配单位Windows:线程是CPU的分配单位除了CPU以外,进程肯定是在UNIX和WINDOWS中资源的分配单位线程与进程的结构差异引入线程的优点:充分共享共源减少内存开销提高并发性切换速度相对较快4.4

内存管理内存用于容纳操作系统和各种用户进程,是可以被CPU和I/O设备所共同访问的数据仓库。内存的每个字节都有自己的地址。计算机的所有程序运行时都要调入内存。内存空间一般分为两部分:系统区和用户区。系统区主要存放操作系统系统、标准子程序、系统数据等;用户区主要用于存放用户程序和数据等。内存管理主要是对用户区进行管理。4.4

内存管理4.4.1

用户程序执行与地址映射用户编写程序在执行前,需要多个步骤,这些步骤可将源程序转变为二进制源程序编译器或汇编器目标模块链接编辑器加载模块加载器内存中

二进制内存映像其它目标模块系统库动态装入的系统库动态链接编译阶段加载阶段执行阶段图4.4

用户程序多步骤处理机器代码,然后在内存中等待执行。当然有时并非每个步骤都是必需的。说明:编译器和汇编器用于创建目标文件(包含由源程序生成的二进制代码和数据)。链接器将多个目标文件合并成一个,加载器读取这些目标文件并将它们加载到内存中。在调入内存前加载的库文件就是静态链接库文件。运行时动态装入的库文件叫动态链接库文件。4.4

内存管理通常,将指令和数据的地址映射成内存地址可以发生在以下三个执行阶段。编译阶段:如果在编译时就知道进程将在内存中的什么位置驻留,那么编译器就可以直接以生成绝对地址代码。加载阶段:不知道进程将驻留在什么位置,那么编译器就必须生成程序的逻辑地址,在加载阶段再转变成内存的绝对地址。执行阶段:如果进程在执行时可以从一个内存段移动到另一个内存段,那么进程的绝对地址映射工作只能延迟到执行时进行。4.4

内存管理4.4.2

物理地址空间与逻辑地址空间几个相关概念物理地址:是计算机内存单元的真实地址。物理地址空间:由物理地址所构成的地址范围。逻辑地址:用户程序地址,从0开始编址。逻辑地址空间:由逻辑地址所构成的地址范围。地址映射:用户在逻辑地址安排指令和数据,而用户程序在运行时要装入内存,这就需要将逻辑地址变换成物理地址,这个过程称为地址映射,也称重定位。用户编写的源程序是不考虑地址的,源程序经

CPU编译后产生逻辑地址。从CPU产生的逻辑地址转换为内存中的物理地址的映射是由计算机中被称为内存管理单元的硬件设备来实现的,将逻辑地址与内存管理单元中的重定位寄存器中存放的内存基址相加就得到了物理地址。物理地址Base

+

X逻辑地址XCPU重定位寄存器Base+内存内存管理单元4.4

内存管理4.4.3

进程使用内存的交换技术为了更加有效地使用内存,进程在不运行时,可以暂时从内存中调出到备份存储器上,直到需要再运行时再重新调回到内存中。也就是说内存管理程序可将刚刚运行过的进程从内存中换出以释放出占用的内存空间,然后将另一个要运行的进程换入到刚刚释放出的内存空间。4.4

内存管理4.4.4

内存分配方案-连续连续内存分配(将连续的一块内存区域分配给进程)找孔在内存分配中,常常把内存中还没有被分配的可用空间称为孔(hole)。方法有:首次适应(First-fit)策略最佳适应(Best-fit)策略最差适应(Worst-fit)策略4.4

内存管理分页式内存管理4.4.5

内存分配方案-分页式物理地址页框(Frame)页面(Page)硬件支持4.4

内存管理逻辑地址一、分页管理基本思想:内存划分为若干个大小相等的块(页框)进程的逻辑地址空间也划分为同样大小的块(页面)内存分配:每个页面对应地分配一个页框,而一个进程所分得页框在位置上不必是连续的。0页1页2页3页4页5页6页7页01234567891011……页号块号051224364751069711页表:每个用户程序的一张页表。记录用户程序的每个逻辑页面存放在哪一个内存物理页面。内存页表用户程序4.4

内存管理pdfCPUpdf

dff

0000…0000f

1111…1111逻辑地址物理地址页表物理内存分页式内存管理从逻辑地址到物理地址的映射:页号p页内地址d(偏移量)注:逻辑地址的表示:4.4

内存管理4.5

虚拟内存方案4.5.1

基本思想虚拟内存只是一个容量很大的存储器的逻辑模型,它不是任何实际的物理存储器,它一般是借助于硬盘来扩大主存的容量,使之为更大或更多的程序所使用。虚拟内存包括物理内存和一部分外存(这里所用到的外存一般是指硬盘)。4.5

虚拟内存方案对于一个进程来讲,如果仅将当前要运行的几个页面装入内存,便可以开始运行,而其余页面可暂时留在磁盘上,待需要时再调入到内存,并且调入时也不占用新的内存空间,而是对原来运行过的页面进行置换。这样,就可以在计算机有限的内存中同时驻留多个进程并运行。而对用户来讲感觉到系统提供了足够大的物理内存,而实际上并非真实的,这就是虚拟内存。4.5

虚拟内存方案4.5.2

页面请求与页面置换算法先进先出(FIFO)最佳(Optimal)最近最少使用(LRU)基于计数的算法4.6

文件管理文件的概念文件:保存在外部存储设备上的相关信息的集合。文件命名:文件主名+扩展名文件存取属性:只读:只允许授权用户进行读操作。读写:只允许授权用户进行读和写的操作。文档:允许任何用户进行读写操作。隐藏:不允许用户直接看到文件名。4.6

文件管理文件系统:是操作系统中负责对文件进行存取和管理的软件,是用户与外存之间的接口。该系统将所有文件组织成目录结构保存在外存,一个文件对应其中的一个目录条。目录条记录有文件名、文件位置等信息。操作系统对文件的基本操作包括:创建文件、文件写、文件读、文件重定位、文件删除、文件截短。对文件的其它操作包括:文件复制、重命名、更改属性等。4.6.2

文件的物理结构和逻辑结构文件的物理结构

文件的逻辑结构(顺序结构、链接结构、索引结构)无结构文件有结构文件流式文件索引顺序文件顺序文件索引文件4.6

文件管理main(

){int a,

b,

sum;scanf("%d

%d",

&a,

&b);sum=a+b;printf("sum=%d",

sum);}4.6

文件管理有结构的记录式文件学号姓名性别电话邮箱地址0001张为华男621162880002赵国迎男516856110003韩莹莹女51685633无结构的流式文件是一维的、连续的、无结构的字符序列,可以看成是由一条无结构的记录组成的文件。是带有结构的、性质相同的记录的集合。4.6

文件管理顺序文件:是指记录按进入文件的先后顺序存放、其逻辑顺序和物理顺序一致的文件。索引文件:由主文件和索引表构成。可以实现快速访问。按输入记录的先后次序建立数据区和索引表。待全部记录输入完毕后对索引表进行排序,排序后的索引表和主文件一起就形成了索引文件。索引顺序文件:顺序文件和索引文件特点的结合。顺序文件是按主关键字有序排列的,将顺序文件的所有记录分组,索引表中为每组的首记录建立一索引项,组与组之间按关键字大小有序排列,组内记录顺序查找。4.6

文件管理4.6

文件管理4.6.3

文件的访问方式1.

顺序访问方式顺序访问方式主要适合于对顺序文件的访问。其访问的位置是由指针定位的。读操作是读取指针所指示位置的内容,并自动将指针向后移动,以指示下一次读的位置。而对写操作,所写的内容总是添加到文件的尾部。顺序访问方式是基于磁带的模型,对直接存储设备(如磁盘)也适合。4.6

文件管理2.

直接访问方式直接访问也称随机访问,它指的是允许跳跃式

地随意存取文件中的任何记录,而不需要任何顺序

限制。直接访问是最为常见和高效的文件访问方式。直接访问方式是基于磁盘的模型。3.索引访问方式在进行文件访问时,首先对索引文件按关键字进行检索,查找到指向数据记录的指针,根据该指针实现对具体数据记录的访问。4.6

文件管理4.6.4

文件的目录管理文件目录:操作系统对于文件系统的管理是以目录结构来进行的。文件目录的组成:每个文件有一个文件控制块

FCB,它是文件存在的标志,存放了为管理文件所需的所有有关信息。把所有的文件控制块组织在一起,就构成了文件目录,每个文件控制块就是其中的一个目录项。通常,一个磁盘至少应包含一个分区。每个分区用来保存文件和目录低层机构。4.7

输入/输出系统管理输入/输出系统管理的主要目标是:为计算机用户隐藏I/O设备的特性,即实现程序与设备的无关性。完成用户提出的I/O请求、加快I/O信息传送速度、提高I/O设备的并行性和利用率,为I/O设备提供设备驱动程序和中断处理程序等。基本概念端口(port)I/O设备与计算机通信的连接点被称为端口。控制器(controller)用于操作端口、总线和设备的一组电子器件,是设备与总线的连接装置。4.7

输入/输出系统管理4.7.2

输入/输出控制方式(1)程序控制方式早期计算机采用的方式。CPU向设备控制器发出一条I/O指令启动设备进行一个字(节)的输入或输出,然后CPU就等待I/O设备进行数据传送,直到一个字(节)传送完毕。接下来,CPU按以上方式处理下一个字(节)的输入或输出。CPU绝大部分时间都用于循环等待及测试I/O是否完成,造成CPU资源的极大浪费。CPU和外围设备只能串行工作。4.7

输入/输出系统管理(2)中断驱动方式举例:(将数据由硬盘传入内存的过程)①进程向CPU传送指令,要求CPU向硬盘发出输入输出命令。②CPU向硬盘控制器发出数据传送命令,然后CPU返回继续执行原来的任务。③硬盘控制器从硬盘中取出数据放入硬盘数据寄存器中。④接着向CPU发出中断请求。⑤CPU执行中断服务程序(硬盘驱动程序)向硬盘控制器发送取数据信号。⑥将数据寄存器的的数据送入内存,完成一次数据传输。4.7

输入/输出系统管理直接存储器访问方式为了减少CPU对I/O设备的干预,传送数据以块为单位进行,并直接在内存和设备之间进行,当一个或多个数据块传送完毕时才需要CPU干预,整块数据的传送是在设备控制器的控制下完成。这就是I/O控制中

的直接存储器访问(DMA,

Direct

Memory

Access)方式。采用这种方式CPU的利用率高。通道控制方式I/O通道控制方式是DMA的发展,它把对每一块数据读写的干预,变成对一组数据块读写的干预,可以进一步减少CPU的干预。这在更大程度上提高了系统资源的利用率。4.7.3 I/O缓冲管理现代操作系统中,I/O设备与CPU(内存)交换数据时,需要使用缓冲技术。也就是为I/O设备设置缓冲区,暂存数据,等到数据积累到一定程度时,再做批量处理。引入缓冲:缓和CPU与I/O设备间速度不匹配的矛盾;减少对CPU中断频率;提高CPU与I/O设备间的并行性。4.7

输入/输出系统管理4.7

输入/输出系统管理4.7.4

设备驱动程序设备驱动程序与具体设备相关,用户安装好硬件后还要再安装驱动程序,计算机才能识别和使用该设备。设备驱动程序也是硬件的身份识别标志,它负责完成设备具体的各种动作(输入/输出操作)。一旦为I/O设备安装了驱动程序,那么应用程序在使用I/O设备时,就不必关心设备的特性、I/O控制方式。这样就实现了应用程序与设备的无关性。4.8

典型操作系统UnixUnix是一个通用、交互式的、分时多用户并支持网络的操作系统

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论