【操作系统 进程调度】

操作系统

1.操作系统的概念:

​ 操作系统(OS,Operating System)是配置在计算机硬件上的第一层软件,是对硬件系统的首次扩充。它在计算机系统中占据了重要地位,汇编程序、编译程序、数据库管理系统等系统软件,都依赖于操作系统的支持,需要取得操作系统的服务。

​ 通俗来讲,OS是管理,协调,分配者。主要研究如何高效公平低耗地进行资源的分配、协调工作以及在其中遇到的种种问题。

在这里插入图片描述

2.操作系统的主要功能:

1.进程管理:

①进程控制:创建和撤销进程,分配资源、资源回收,控制进程运行过程中的状态转换。

②进程同步:多进程运行进行协调–进程互斥(临界资源上锁)、进程同步。

③进程通信:实现相互合作之间的进程的信息交换。

④调度:作业调度,进程调度。

2.内存管理:

为多道程序的运行提供良好的环境,提高存储器的利用率,方便用户使用,并能从逻辑上扩充内存。

①内存分配:静态分配、动态分配。

②内存保护:各在其内存空间内运行(设两界限寄存器),互不干扰。

③地址映射:地址空间中的逻辑地址转换为内存空间中与之对应的物理地址。

④内存扩充:借助于虚拟存储技术,逻辑上扩充内存容量。

3.设备管理:

完成用户进程提出的I/O请求,为其分配所需I/O设备,完成指定I/O操作;提高CPU和I/O设备的利用率,提高I/O速度,方便用户使用I/O设备。

①缓冲管理

②设备分配

③设备处理:设备驱动程序,用于实现CPU和设备控制器之间的通信。

4.文件管理:

对用户文件和系统文件进行管理以方便用户使用,并保证文件的安全性。

①文件存储空间的管理:为文件分配合理外存空间,文件存储空间的使用情况。

②目录管理:为每个文件建立一个目录项。

③文件的读/写管理和保护

5.提供操作系统与用户之间的接口:

用户接口包括三类:联机用户接口、脱口用户接口和程序用户接口;

3.程序与进程:

3.1 程序与进程的概念:

程序:完成特定任务的一系列指令集合

程序=代码段+数据段

进程:进行就是正在进行中的程序

1、用户角度: 进程是程序的一次动态执行过程

2、操作系统: 进程是操作系统分配资源的基本单位,也是最小实体。

3.2 程序与进程的区别

​ 程序是静态的,进程是动态的,程序是存储在某种介质上的二进制代码,进程对应了程序的执行过程,系统不需要为一个不执行的程序创建进程,一旦进程被创建,就处于不断变化的动态过程中,对应了一个不断变化的上下文环境。

​ 程序是永久的,进程是暂时存在的。程序的永久性是相对于进程而言的,只要不去删除它,它可以永久的存储在介质当中。

3.3 进程与程序的联系

​ 进程是程序的一次执行,而进程总是对应至少一个特定的程序。一个程序可以对应多个进程,同一个程序可以在不同的数据集合上运行,因而构成若干个不同的进程。几个进程能并发地执行相同的程序代码,而同一个进程能顺序地执行几个程序。

​ 关于进程和程序的区别,《现代操作系统》中用了一个比喻形象说明:一位有一手好厨艺的计算机科学家正在为他的女儿烘制生日蛋糕。他有做生日蛋糕的食谱,厨房里有所需要的原料,在这个比喻中,做蛋糕的食谱就是程序(即用适当形式描述的算法),计算机科学家就是处理机(CPU),而做蛋糕的各种原料就是输入数据。进程就是厨师阅读食谱,取来各种原料以及烘制蛋糕等一系列动作的总和。

4.操作系统的进程调度:

4.1 进程的特征:

  • 动态性:进程的实质是程序的一次执行过程,进程是动态产生,动态消亡的。
  • 并发性:任何进程都可以同其他进程一起并发执行。
  • 独立性:进程是一个能独立运行的基本单位,同时也是系统分配资源和调度的独立单位。
  • 异步性:由于进程间的相互制约,使进程具有执行的间断性,即进程按各自独立的、不可预知的速度向前推进。
  • 结构性:进程由程序段,数据段和PCB组成

4.2 进程的三态:

在这里插入图片描述

三态之间的转换:

就绪 → 执行:为就绪线程分配CPU即可变为执行状态"

执行 → 就绪:正在执行的线程由于时间片用完被剥夺CPU暂停执行,就变为就绪状态

执行 → 阻塞:由于发生某事件,使正在执行的线程受阻,无法执行,则由执行变为阻塞

4.3 进程调度的时机:

第一,创建新进程的时候,到底是让父进程运行还是让子进程运行,这就需要进行进程调度。

第二,当有进程退出时,需要进行进程调度,从其他的就绪状态的进程集合中挑选一个运行。

第三,当有进程因为I/O、或者信号量或者别的什么原因阻塞时,需要进行进程调度。

第四,当I/O中断发生,需要做进程调度。

第五,假设硬件始终提供50-60Hz频率的时钟中断,那么,在每个时钟中断,或者每第k个时钟中断需要进行进程调度。

4.4进程调度的算法:

批处理系统常用调度算法:
①、先来先服务
②、最短作业优先
③、最短剩余时间优先
④、响应比最高者优先

分时系统调度算法:
①、轮转调度
②、优先级调度
③、多级队列调度
④、彩票调度

实时系统调度算法:
①、单比率调度
②、限期调度
③、最少裕度法

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值