当前位置: 首页 > news >正文

操作系统简介,中断,通道,调度算法

1.什么是操作系统?

操作系统(英语:operating system,缩写作 OS)是管理计算机硬件与软件资源的计算机程序,同时也是计算机系统的内核与基石。操作系统需要处理如管理与配置内存、决定系统资源供需的优先次序、控制输入设备与输出设备、操作网络与管理文件系统等基本事务。操作系统也提供一个让用户与系统交互的操作界面。(来源于百度)

2.现代计算机系统?

现代操作系统多以多道程序设计技术。硬件作出两个支持:中断系统(重点)和通信技术

3.什么是中断系统?

对异步事件的相应
响应同时保护cpu状态(主要为了重新启动)
自动转入中断处理程序


4.通道技术

为了获得cpu最高与外设的并行能力,引入了通道结构。通道技术又被称为i/o处理机

作用是:通道技术实现了i/o系统的独立性和各个部件的并行性。(可以理解为不同的cpu主存可以通过不同的通道,执行不同的通道指令,控制控制器执行不同操作)

通道是一种通过执行通道程序管理I/O操作控制器,它使主机(CPU和内存)与I/O操作间达到更高的并行程度。由于它的任务是管理实现输入/输出操作,提供一种传送通道,所以将这种部件称作“通道”。

CPU把数据传输功能下放给通道,这样,通道与CPU分时使用内存(资源),就可以实现CPU与外设的并行工作。

采用通道方式的指令系统中:

  • 除了供CPU编程使用的机器指令系统外,
  • 还设置另外供通道专用的一组通道指令,

用通道指令编制通道程序,存入存储器

  • 当需要进I/O操作时,CPU只需启动通道,然后可以继续执行自身程序
  • 通道则执行通道程序,管理与实现I/O操作。

整个系统分为二级管理:

  • 一级是CPU对通道的管理
  • 二级是通道对设备控制的管理。


简单理解:通道就是可以通数据的CPU发出一条通道命令,然后由通道和外设交换数据,之后CPU就做其它的事情,通道和外设交换完数据后再向CPU汇报,CPU再处理

5.cpu和通道的关系

cpu和通道的关系是主从关系。

当允许程序要求进行数据传输时,cpu向通道发送i/o指令,命令通道工作

6.什么是陷入

cpu内部事件引起的中断,叫做内中断或者陷入,通常往往是指令错误,运算过程中出现异常

7.多道程序设计实现的目的是什么?

为了提高cpu与外部设备更高的并行能力。

8.多道程序设计的实现必须解决的问题?

程序存储的内存保护和地址的重定向
处理机的管理与调度
资源管理与分配


9.多道程序的设计特点?

宏观上是并行,因为它们像是在同时运行,分配时间片;

微观上来说是串行,因为在一台处理上,同一时刻只能处理同一条指令

就是将cpu利用率增加到最大,我们有很多调度算法(根据系统的资源分配策略所规定的资源分配算法

调度算法:

操作系统中调度是指一种资源分配,因而调度算法是指:根据系统的资源分配策略所规定的资源分配算法。

对于不同的的系统和系统目标,通常采用不同的调度算法

例如,在批处理系统中,为了照顾为数众多的段作业,应采用短作业优先的调度算法;

又如在分时系统中,为了保证系统具有合理的响应时间,应当采用轮转法进行调度。

目前存在的多种调度算法中,有的算法适用于作业调度,有的算法适用于进程调度;但也有些调度算法既可以用于作业调度,也可以用于进程调度。


一、先来先服务和短作业(进程)优先调度算法

1. 先来先服务调度算法。先来先服务(FCFS)调度算法是一种最简单的调度算法,该算法既可用于e79fa5e98193e58685e5aeb931333365633837作业调度, 也可用于进程调度。FCFS算法比较有利于长作业(进程),而不利于短作业(进程)。由此可知,本算法适合于CPU繁忙型作业, 而不利于I/O繁忙型的作业(进程)。
2. 短作业(进程)优先调度算法。短作业(进程)优先调度算法(SJ/PF)是指对短作业或短进程优先调度的算法,该算法既可用于作业调度, 也可用于进程调度。但其对长作业不利;不能保证紧迫性作业(进程)被及时处理;作业的长短只是被估算出来的。

二、高优先权优先调度算法

1. 优先权调度算法的类型。为了照顾紧迫性作业,使之进入系统后便获得优先处理,引入了最高优先权优先(FPF)调度算法。 此算法常被用在批处理系统中,作为作业调度算法,也作为多种操作系统中的进程调度,还可以用于实时系统中。当其用于作业调度, 将后备队列中若干个优先权最高的作业装入内存。当其用于进程调度时,把处理机分配给就绪队列中优先权最高的进程,此时, 又可以进一步把该算法分成以下两种:
1)非抢占式优先权算法
2)抢占式优先权调度算法(高性能计算机操作系统)
2. 优先权类型 。对于最高优先权优先调度算法,其核心在于:它是使用静态优先权还是动态优先权, 以及如何确定进程的优先权。
3. 高响应比优先调度算法
为了弥补短作业优先算法的不足,我们引入动态优先权,使作业的优先等级随着等待时间的增加而以速率a提高。 该优先权变化规律可描述为:优先权=(等待时间+要求服务时间)/要求服务时间;即 =(响应时间)/要求服务时间

三、基于时间片的轮转调度算法

1. 时间片轮转法。时间片轮转法一般用于进程调度,每次调度,把CPU分配队首进程,并令其执行一个时间片。 当执行的时间片用完时,由一个记时器发出一个时钟中断请求,该进程被停止,并被送往就绪队列末尾;依次循环。 2. 多级反馈队列调度算法 多级反馈队列调度算法多级反馈队列调度算法,不必事先知道各种进程所需要执行的时间,它是目前被公认的一种较好的进程调度算法。 其实施过程如下:
1) 设置多个就绪队列,并为各个队列赋予不同的优先级。在优先权越高的队列中, 为每个进程所规定的执行时间片就越小。
2) 当一个新进程进入内存后,首先放入第一队列的末尾,按FCFS原则排队等候调度。 如果他能在一个时间片中完成,便可撤离;如果未完成,就转入第二队列的末尾,在同样等待调度…… 如此下去,当一个长作业(进程)从第一队列依次将到第n队列(最后队列)后,便按第n队列时间片轮转运行。
3) 仅当第一队列空闲时,调度程序才调度第二队列中的进程运行;仅当第1到第(i-1)队列空时, 才会调度第i队列中的进程运行,并执行相应的时间片轮转。
4) 如果处理机正在处理第i队列中某进程,又有新进程进入优先权较高的队列, 则此新队列抢占正在运行的处理机,并把正在运行的进程放在第i队列的队尾。

 

 

相关文章:

  • 计算机操作系统中处理机和cpu和内核三者的区别?
  • 想要学习人工智能?这里有一条完整路径
  • android ANR产生原因和解决办法
  • Handler的作用与用法,handler在Thread中传递,Activity像service 传递信息:使用广播
  • java中创建线程的三种方法
  • java环境搭建,jdk和jre的区别,android studio安装
  • Android Studio 常用快捷方式
  • svn初步安装以及使用
  • Android Studio 连接真机不识别
  • 什么是Retrofit? 使用Retrofit MediaType的详细介绍
  • 学习方式
  • telnet 和ping区别 笔记本无线打叉首先点击开始,打开控制版面。
  • 2018年Android最新面试题
  • 关于 Android 进程保活,你所需要知道的一切
  • 考研经验总结
  • SegmentFault for Android 3.0 发布
  • (三)从jvm层面了解线程的启动和停止
  • 【技术性】Search知识
  • 4月23日世界读书日 网络营销论坛推荐《正在爆发的营销革命》
  • Android交互
  • create-react-app做的留言板
  • CSS实用技巧
  • ESLint简单操作
  • js递归,无限分级树形折叠菜单
  • SpingCloudBus整合RabbitMQ
  • 力扣(LeetCode)21
  • 盘点那些不知名却常用的 Git 操作
  • 直播平台建设千万不要忘记流媒体服务器的存在 ...
  • ​学习一下,什么是预包装食品?​
  • #define 用法
  • #Js篇:单线程模式同步任务异步任务任务队列事件循环setTimeout() setInterval()
  • (145)光线追踪距离场柔和阴影
  • (4)事件处理——(2)在页面加载的时候执行任务(Performing tasks on page load)...
  • (C语言)输入自定义个数的整数,打印出最大值和最小值
  • (HAL库版)freeRTOS移植STMF103
  • (附源码)计算机毕业设计SSM基于java的云顶博客系统
  • (六) ES6 新特性 —— 迭代器(iterator)
  • (免费领源码)Java#ssm#MySQL 创意商城03663-计算机毕业设计项目选题推荐
  • (三)c52学习之旅-点亮LED灯
  • (四)Android布局类型(线性布局LinearLayout)
  • (转) RFS+AutoItLibrary测试web对话框
  • (转)http-server应用
  • (转)项目管理杂谈-我所期望的新人
  • .NET 2.0中新增的一些TryGet,TryParse等方法
  • .Net 4.0并行库实用性演练
  • .net framework 4.0中如何 输出 form 的name属性。
  • .Net Web窗口页属性
  • .net程序集学习心得
  • /dev/VolGroup00/LogVol00:unexpected inconsistency;run fsck manually
  • [ Algorithm ] N次方算法 N Square 动态规划解决
  • [ 攻防演练演示篇 ] 利用通达OA 文件上传漏洞上传webshell获取主机权限
  • [] 与 [[]], -gt 与 > 的比较
  • [AX]AX2012 AIF(四):文档服务应用实例
  • [C#]winform部署yolov9的onnx模型
  • [C和指针].(美)Kenneth.A.Reek(ED2000.COM)pdf