- 1、本文档共50页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
3.循环缓冲 采用双缓冲技术虽然提高了I/O 设备的并行工作程度,减少了进程调度开销,但在输入设备、输出设备和处理进程速度不匹配的情况下仍不十分理想。为改善上述情形,获得较高的并行度,常常采用多缓冲组成的循环缓冲(circular buffer)技术。 操作系统从自由主存区域中分配一组缓冲区,每个缓冲区有一个链接指针指向下一个缓冲区,最后一个缓冲区指针指向第一个缓冲区,组成了循环缓冲,每个缓冲区的大小可以等于物理记录的大小。多缓冲的缓冲区是系统的公共资源,可供各个进程共享,并由系统统一分配和管理。缓冲区用途分为:输入缓冲区,处理缓冲区和输出缓冲区。为了管理各类缓冲区,进行各种操作,必须设计专门的软件,这就是缓冲区自动管理系统。 6.2.4 设备分配 设备分配是设备管理的功能之一。设备分配的任务就是要按照一定的算法将设备及有关资源分配给申请设备的进程。 在多道程序环境中,请求设备的进程数通常多于设备数,必然会引起进程对设备的竞争。为了使系统能平衡运行,协调进程的设备之间的分配关系,进行设备分配时应考虑如下几个因素: 1.设备固有属性 应根据设备的固有属性采取不同的分配策略。 (1)独占分配。独占设备应采用独占分配方式,即将一个设备分配给某进程后一直由其独占,直至该进程完成或释放该设备后,系统才能再将该设备分配给其他进程使用。 (2)共享分配。可将共享设备同时分配给多个进程使用。 (3)虚拟分配。虚拟分配是针对虚拟设备而言的。虚拟设备是指通过某些共享设备把独占设备改造成可供多个进程的访问的设备。当进程申请独占设备时,系统给它分配共享设备上的一部分存储空间;当进程与设备交换信息时,系统就把要交换的信息存放在共享设备上的这部分存储空间中。在适当的时候,共享设备上的这部分存储空间再与独占设备交换信息。这样对用户来说,每个用户都感觉到系统为自己提供了一个独占设备。 2.设备分配策略 设备分配包含两种分配策略,静态分配和动态分配。 (1)静态分配 进程在开始执行之前,由系统一次分配给该进程所要求的全部设备。进程执行过程中,这些设备一直为该进程所占有,其它进程不能使用,直到该进程被撤销。静态分配策略实现简单,能防止系统死锁,但采用这种分配方式,会降低设备的利用率。 (2)动态分配 在进程执行过程中,根据执行需要进行设备分配。当进程需要设备时,向系统提出设备申请,系统按照一定的设备分配算法给进程分配所需的设备。动态分配策略能提高设备的利用率,但有可能会造成进程死锁。 3.设备分配算法 设备分配主要采用先请求先服务和优先级高者优先两种算法。 (1)先请求先服务算法 按照进程申请的先后次序分配设备。当有多个进程同时申请使用某一设备时,根据这些进程发出请求的先后次序,将这些进程排成一个设备请求队列。分配时按照先申请先得到的策略进行分配。 (2)优先级高者优先算法 按照进程优先级的高低分配设备。当有多个进程同时申请使用某一设备时,根据这些进程的优先级,优先级高的进程先得到设备。当申请进程的优先级相同时,按照先请求先服务的算法分配设备。 6.3 Linux设备管理 在Linux 操作系统中,输入输出设备可以分为字符设备、块设备和网络设备。块设备把信息存储在可寻址的固定大小的数据块中,数据块均可以被独立地读写,建立块缓冲,能随机访问数据块。字符设备可以发送或接收字符流,通常无法编址,也不存在任何寻址操作。网络设备在Linux 中是一种独立的设备类型,有一些特殊的处理方法。还有一些设备无法利用上述方法分类,如时钟,它们也需要特殊的处理。在Linux 中,所有的硬件设备均当作特殊的设备文件处理,可以使用标准的文件操作。对于字符设备和块设备,其设备文件用mknod 命令创建,用主设备号和次设备号标识,同一个设备驱动程序控制的所有设备具有相同的主设备号,并用不同的次设备号加以区别。网络设备也是当作设备文件来处理,不同的是这类设备由Linux 创建,并由网络控制器初始化。 6.3.1 设备文件 Linux 操作系统中,每台设备用一个特殊的设备文件来代替,每个文件用主设备号和次设备号描述,主设备号表示设备的种类,次设备号用来区分同一类设备中的不同设备。有了设备文件之后,用户对设备的操作与对普通文件的操作就完全一样了。用户打开和关闭数据文件对应于对设备的打开和关闭,用户从设备文件读数据相当于从设备输入数据,向设备输出数据等同于向设备文件写入数据。Linux的设备文件存放在目录/dev或其子目录下。 6.3.2 常见设备的使用 1.查看设备信息 (1)硬件浏览器 在Gnome中,如果用户要查看计算机的设备信息,可以选择“主菜单”→“系统工具” →“硬件浏览器”,之后出现一个认证对话框,要求输入root用户的口令。当root口令输入正确后,即可见到如图6-3所示的硬
文档评论(0)