第3章 处理机调度与死锁

news2024/11/20 23:14:07

3.1  作业管理

3.1.1  作业的概念及分类

1.作业的概念

       作业是用户在一 次事务处理过程中要求计算机系统所做工作的集合。 从系统的角度讲,作业是一个比较广泛的概念,它由程序、数据和作业说明书组成

2.作业的分类    

       依据计算机系统作业处理方式的不同,可把作业分成两大类:脱机作业和联机作业。    

       脱机作业是指用户不能直接与计算机系统交互,中间必须通过操作员干预的作业。这种作业通常在批处理系统中使用,所以称为批处理作业。    

       联机作业是指用户和计算机系统直接交互,这种作业也称为交互式作业或终端型作业。    

       操作系统对这两类作业的管理方式是不同的。    

       脱机作业多出现在批处理系统中;联机作业多出现在分时系统中。

3.1.2  作业的状态    

一个作业从提交给计算机到执行结束退出系统,一般要经历提交、后备、执行、完成4个状态。 (1)提交状态:从输入设备进入到外部存储设备的过程。因其信息未全部进入系统,不能被调度程序选中。

(2)后备状态:也称收容状态。全部信息输入完毕,未被调度执行之前的状态。

(3)执行状态:从后备状态到内存投入运行,分配必要的资源,作业处于执行状态。

(4)完成状态:作业运行完毕,系统收回资源。

3.1.3 作业管理的功能

       作业管理的功能包括:作业调度作业控制。      

       作业调度,就是按照某种作业调度算法从后备作业队列中选择一个作业加载内存并运行。      

       作业控制就是按照作业控制语言的解释程序读取用户作业说明书,具体控制作业的执行,并按照规定的步骤对作业进行处理。

1、作业控制块

作业控制块包括:作业名、作业类型、资源要求、当前状态、资源使用情况、作业优先级等。

2、JCB的组织方式

(1)作业表    

       每个作业有一个作业控制块,所有作业的控制块构成作业表。存放在外存固定区域,其长度是固定的,这就限制了系统同时容纳的作业数量。

(2)作业队列

      对于系统中的作业,系统将它们的JCB构一个或多个队列,便于系统控制和访问。

3.1.4 作业与进程的关系

       作业是用户向计算机提交任务的任务实体。    

       进程是计算机为完成用户任务实体,而设置的执行实体,是系统分配资源的基本单位。    

       一个作业总是由一个或多个进程组成的。      

3.2  分级调度

       一个批处理型作业,从进入系统并驻留在外存的后备队列上开始,直至作业运行完毕,可能要经历以下三级调度:        

       作业调度(高级调度);        

       对换(中级调度);        

       进程调度(低级调度)。

1.作业调度      

       作业调度又称为高级调度或长调度,用于选择把外存上处于后备队列中的哪些作业调入内存,并为它们创建进程、分配必要的资源。然后,再将新创建的进程排在就绪队列上,准备执行。               在批处理系统中,需要有作业调度的过程,以便将它们分批地装入内存。      

       在分时系统和实时系统中,用户通过键盘输入的命令或数据,都是被直接送入内存,通常也不需要作业调度。

2.对换

      又称交换调度或中级调度。   第4章介绍

3.进程调度

       进程调度又称为低级调度或微观调度。其主要任务是按照某种策略和算法,将处理机分配给一个处于就绪状态的进程。    

       进程调度可分为下列两种方式:

     (1) 非抢占方式:非抢占方式不允许进程抢占已经分配出去的处理机。

     (2) 抢占方式 :抢占调度方式允许调度程序根据某种原则,暂停某个正在执行的进程,将处理机收回,重新分配给另一个进程。

3.3  作业调度

3.3.1  作业调度的功能

       作业调度的主要任务:    

       根据作业控制块中的信息,审查系统能否满足用户作业的资源需求,以及按照某一作业调度算法,从外存的后备状态作业队列中选择某些作业将其装入内存并执行

 作业调度程序应完成以下功能:

(1)确定数据结构。

         作业调度程序根据各个作业的JCB提供的信息对作业进行调度和管理

(2)确定调度算法。

(3)分配资源。

(4)善后处理。

3.3.2  调度算法的目标

1.面向系统的目标

     设计调度算法时应考虑整个系统的效率,具体包括如下因素:

   (1)处理机及各类资源的利用率。 (2)平衡性。 (3)优先权准则。 (4)公平性。

2.批处理系统的目标

3.分时系统的目标

(1)响应时间快。

(2)均衡性。均衡性是指,系统响应时间的快慢与用户所请求服务的复杂性相适应。

4.实时系统的目标

(1)截止时间的保证。 (2)可预测性。系统根据用户需求的可预测性,选择适当的调度算法实现预测的功能,进而提高系统的实时性。

 

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/540944.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

redis集群+哨兵配置实操宝典

本地安装redis 配置集群和哨兵 1、下载安装redis #wget http://download.redis.io/releases/redis-5.0.12.tar.gz #下载安装包 #yum -y install gcc #安装依赖包 #tar -zxvf redis-5.0.12.tar.gz #cd redis-5.0.12 #make 2、主备配置 我们采用一主两备的结构 主机 192.168.3.…

AITM - 多任务模型之顺序依赖性建模(美团)

文章目录 1、动机与挑战(信用卡业务广告)2、信用卡用户整体架构:3、模型结构3.1、核心部分 Modeling the Sequential Dependence among Audience Multi-step Conversions with Multi-task Learning in Targeted Display Advertising 论文发表…

【Linux的基本指令】

目录 01.ls指令02.pwd指令03.cd指令04.touch指令05.mkdir指令06.rmdir指令 && rm 指令07.*通配符08.man指令09.cp指令10.mv指令11.cat指令13.more指令14.less指令15.head指令16.tail指令17.date指令18.Cal指令19.find指令20.grep指令21.zip/unzip指令22.tar指令23.bc指…

OpenCL编程指南-5.1工作项函数-整数函数-公共函数

工作项函数 应用程序使用clEnqueueNDRangeKernel和 clEnqueueTask API将OpenCL中的数据并行和任务并行内核排队。对于一个数据并行内核(使用clEnqueueNDRangeKernel排队等待执行),应用程序会指定全局工作大小,即可以并行执行这个内核的工作项…

PSP - AlphaFold2 中单链 MSA 特征的源码简读

欢迎关注我的CSDN:https://spike.blog.csdn.net/ 本文地址:https://blog.csdn.net/caroline_wendy/article/details/130752004 AlphaFold2 是基于深度学习的方法,可以根据氨基酸序列,预测蛋白质的三维结构。在 2020 年的 CASP14 竞赛中,展示了惊人的准确性,达到了原子级别…

python读取linux系统的cpu以及内存占用

直接贴代码 import subprocessdef get_system_stats():# 通过 shell 命令获取 CPU 使用率和内存使用率cpu_command "top -bn1 | grep %Cpu(s) | awk {print $2}"memory_command "free | grep Mem | awk {print $3/$2 * 100.0}"# 执行命令并获取输出结果…

鸿蒙Hi3861学习十六-Huawei LiteOS-M(Socket服务端)

一、简介 具体概念可以参考上一章内容:鸿蒙Hi3861学习十五-Huawei LiteOS-M(Socket客户端)_t_guest的博客-CSDN博客 WIFI学习一(socket介绍)_wifi socket_t_guest的博客-CSDN博客 二、API介绍 bind 函数功能&#xff1…

pdf怎么转换成jpg图片?转换方式说明

将PDF转换为JPG图片是一种常见的文件格式转换操作,通常用于在不同设备上查看和共享PDF文档。但是,大多数情况下,将PDF转换为JPG图片可能并不总是可行或有效的。在本文中,我们将讨论为什么不能将PDF转换为JPG图片,以及如…

了解设备健康报表的关键指标与分析方法

在现代工业领域中,设备健康报表是一项关键工具,通过收集和分析设备的运行数据,它提供了关于设备状态和性能的重要指标。设备健康报表对于企业的设备管理和维护决策至关重要。本文将介绍设备健康报表的关键指标,并提供解读和分析方…

苹果手机、电脑如何进行屏幕录制?苹果录屏功能在哪?

随着人们生活水平的提高,不少小伙伴都会选择苹果手机、苹果电脑作为主要的设备。因为使用苹果电脑进行办公,不仅仅能够提升效率,对于文件的安全性也是有一些保障的。那么,在使用苹果电脑的时候,如果需要有录屏的需求该…

【JAVA】this关键字和static关键字

目录 1.this关键字 2.static关键字 容易混淆的问题 1.this关键字 一个对象一个this。this是一个变量,是一个关键字,是一个引用。this保存当前对象的内存地址,指向自身。所以,严格意义上来说,this代表的就是“当前对象…

Avada学习之-如何加入谷歌地图

如何正确设置谷歌地图 在给Wordpress网站配置谷歌地图时,常常会出现谷歌地图无法显示的问题。具体提示为Oops! something went wrong,如下图。出现这种问题有如下原因。 内容 隐藏 一、地址不正确 二、API 没填 三、插件冲突 一、地址不正确 很多…

iOS正确获取图片参数深入探究及CGImageRef的使用

一 图片参数的正确获取 先拿一张图片作为测试使用 图片参数如下: 图片的尺寸为: -宽1236个像素点 -高748个像素点 -色彩空间为RGB -描述文件为彩色LCD -带有Alpha通道 请记住这几个参数,待会儿我们演示如何正确获取。 将这张图片分别放在…

光纤衰减器作用及使用说明

在光纤通信中,光信号的强度过大或过小都会对信号的传输和接收产生不良的影响,因此光衰减器在光通信系统中起到了重要的作用。那什么是光衰减器呢?它又有什么作用呢?下面跟着小易一起来了解一下吧! 一、什么是光纤衰减…

APP自动化测试工具的作用和特点

随着移动应用的迅速发展,APP的自动化测试工具变得越来越重要。APP自动化测试工具可以帮助开发者在应用程序的不同平台上执行测试,从而检测和确保应用程序的完整性、稳定性和可靠性。下面将介绍APP自动化测试工具的作用和特点。 一、作用 提高测试效率&am…

Android自定义控件——控件的测量和绘制

控件的测量和绘制 控件架构setContentView()MeasureSpecViewView的测量View的绘制 ViewGroupViewGroup的测量ViewGroup的绘制 自定义View对现有控件进行扩展案例一:添加背景案例二:文字闪动 创建复合控件重写View实现全新控件案例一:弧线展示…

FLEXPART--空气块轨迹-扩散模式

模式简介: FLEXPART(Flexible Particle Dispersion Model)模式是由挪威大气研究所(Norwegian Institute for Air Research)和德国慕尼黑工业大学(Technical University of Munich)联合开发的空气块轨迹-扩散模式, 其通过计算区域内所有气块的运动轨迹进…

PLE - 多任务模型(腾讯)

文章目录 1、动机2、模型结构3、代码实现细节: Progressive Layered Extraction (PLE): A Novel Multi-Task Learning (MTL) Model for Personalized Recommendations论文发表在 RecSys-2020, best paper。ple主要缓解了mtl里两大问题:负迁移…

如何在海量、庞杂、混合的数据中发现价值?

数字时代,数据上升为国家战略,数据成为重要的生产要素和资产,得到了越来越多企业的重视,也成为企业数字化转型的重要抓手。据IDC中国预测,2025年中国大数据生产量有望增长至48.6ZB。 随着越来越大的数据量&#xff0c…

【C++从0到王者】第六站:类和对象(下)

文章目录 一、再谈构造函数1.构造函数体赋值2.初始化列表1>初始化列表的使用2>初始化列表的注意事项 3.explicit关键词 二、static成员1.如何统计当前程序中变量的个数2.static的特性3.从1加到n4.设计一个类,只能在栈或者堆上开辟空间 三、友元1.友元函数2.友…