`
meikebo
  • 浏览: 16048 次
社区版块
存档分类
最新评论

进程调度方式及通信方式

阅读更多
进程的调度方式
<1>进程的调度方式包括非剥夺方式和剥夺方式。
非剥夺方式: 分派程序一旦把处理机分配给某进程后便让它一直运行下去,直到进程完成或发生某事件而阻塞时,才把处理机分配给另一个进程。
剥夺方式: 当一个进程正在运行时,系统可以基于某种原则,剥夺已分配给它的处理机,将之分配给其它进程。剥夺原则有:优先权原则、短进程优先原则、时间片原则。
<2>进程调度算法
一、先来先服务和短作业(进程)优先调度算法
  1. 先来先服务调度算法。先来先服务(FCFS)调度算法是一种最简单的调度算法,该算法既可用于作业调度, 也可用于进程调度。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队列的队尾。
进程间通信方式
一,文件映射:文件映射(Memory-Mapped Files)能使进程把文件内容当作进程地址区间一块内存那样来对待。因此,进程不必使用文件I/O操作,只需简单的指针操作就可读取和修改文件的内容。 
二,共享内存:Win32 API中共享内存(Shared Memory)实际就是文件映射的一种特殊情况。进程在创建文件映射对象时用0xFFFFFFFF来代替 文件句柄(HANDLE),就表示了对应的文件映射对象是从操作系统页面文件访问内存,其它进程打开该文件映射对象就可以访问该内存块。
三,匿名管道:匿名管道(Anonymous Pipe)是 在父进程和子进程之间,或同一父进程的两个子进程之间传输数据的无名字的单向管道。通常由父进程创建管 道,然后由要通信的子进程继承通道的读端点句柄或写 端点句柄,然后实现通信。
四,命名管道:命名管道(Named Pipe)是服务器进程和一个或多个客户进程之间通信的单向或双向管道。
五,邮件槽:邮件槽(Mailslots)提 供进程间单向通信能力,任何进程都能建立邮件槽成为邮件槽服务器。
六,剪贴板:剪贴板(Clipped Board)实质是Win32 API中一组用来传输数据的函数和消息,为Windows应用程序之间进行数据共享提供了一个 中介,  Windows已建立的剪切(复制)-粘贴的机制为不同应用程序之间共享不同格式数据提供了一条捷径。
分享到:
评论

相关推荐

    基于C++实现的操作系统进程调度可视化与模拟源码+实验报告.zip

    基于C++实现的操作系统进程调度可视化与模拟源码+实验报告.zip 1、该资源内项目代码都是经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、...

    Python实现处理机和进程调度算法及内存分配回收机制源码+项目说明+代码注释(附Vue前端源码).zip

    Python实现处理机和进程调度算法及内存分配回收机制源码+项目说明+代码注释(附Vue前端源码).zip 多道程序系统中,进程与进程之间存在同步与互斥关系。当就绪进程数大于处理机数时,需按照某种策略决定哪些进程先占用...

    操作系统 c程序-进程调度1.txt

    操作系统 c程序-进程调度1.txt 操作系统考题2.doc 练习答案 下列操作系统中,交互性最强的是(分时系统);批处理操作系统的缺点是(交互能力弱);(多样性)不是分时操作系统的特征;下列系统中,(火炮的自动化控制系统)是...

    arungoooo112#CppNote#进程调度1

    时间片完成在进程通信或同步过程中执行了某种原语操作,如P操作(wait操作)阻塞高优先者进入进程调度的方式这里需要注意,存在两种进程抢占处理器的调度方式:可抢占

    处理机调度与死锁非抢占方式

    在采用非抢占调度方式时,可能引起进程调度的因素可归结为这样几个:① 正在执行的进程执行完毕, 或因发生某事件而不能再继续执行; ② 执行中的进程因提出I/O请求而暂停执行;③ 在进程通信或同步过程中执行了某种...

    操作系统作业(进程控制管理实现)

    随机方法指产生1-6的随机数,分别代表创建进程(c)、结束进程(e)、进程阻塞(b)、激活进程(w)、调度进程(p)、时间片到(t)等事件;键盘模拟方法指定义6种按键代表以上6种事件。 3、 根据四种事件处理就绪队列、阻塞...

    课设操作系统实验课作业,短进程优先调度,动态分区分配方式模拟,请求调页存储管理方式的模拟,多级反馈调度队列调度算法

    【课设】操作系统实验课作业,短进程优先调度,动态分区分配方式模拟,请求调页存储管理方式的模拟,多级反馈调度队列调度算法 - 小白不懂运行,下载完可以私聊问,可远程教学 该资源内项目源码是个人的课程设计,...

    操作系统上机实验报告-进程的管道通信

    在Linux系统下实现进程从创建到终止的全过程,从中体会进程的创建过程、父进程和子进程之间的关系、进程状态的变化、进程之间的互斥、同步机制、进程调度的原理和以管道为代表的进程间的通信方式的实现。 2. 内容及...

    基于C++,QT的进程调度模拟系统.zip

    网络与通信:数据传输、信号处理、网络协议、网络与通信硬件、网络安全网络与通信是一个非常广泛的领域,它涉及到计算机科学、电子工程、数学等多个学科的知识。 云计算与大数据:数据集、包括云计算平台、大数据...

    操作系统课程设计---作业调度模拟.doc

    进程调度算法的设计 设计要求: A.设计进程控制块PCB表结构,分别适用于优先数调度算法和循环轮转调度算法。 B.建立进程就绪队列。对两种不同算法编制入链子程序。 C.编制两种进程调度算法:1)优先数调度;2)循环...

    操作系统考研指导(北京邮电大学)

    4.2.2进程调度的方式 4.2.3进程调度算法 4.3死锁 4.3.l死锁的概念 4.3.2死锁产生的原因和必要条件 4.3.3处理死锁的基本方法 4.3.4死锁的预防 4.3.5死锁的避免 4.3.6死锁的检测和解除 4.4本章基础要点 4.5练习题及...

    【嵌入式软件工程师面经】Linux系统编程(线程进程).pdf

    线程提供了一种方式使得进程可以在一个共享内存空间内并行执行多个任务。因为线程间共享相同的数据,它们之间的通信可以比进程间通信更方便和高效。但这也意味着必须小心同步操作,避免由于同时访问共享资源引起的...

    操作系统原理ppt

    了解进程通信的概念和通信方式。 了解线程。 掌握作业调度和进程调度的功能;理解作业调度与进程调度的关系;理解作业的四种状态:提交、后备、执行和完成。 掌握常用调度算法的评价指标:吞吐量、周转时间、平均...

    Unix操作系统设计

    第8章 进程调度和时间 8.1 进程调度 8.1.1 算法 8.1.2 调度参数 8.1.3 进程调度的例子 8.1.4 进程优先权的控制 8.1.5 公平共享调度 8.1.6 实时处理 8.2 有关时间的系统调用 8.3 时钟 8.3.1 重新启动时钟 8.3.2 系统...

    操作系统课件

    采用该方式可能引起进程调度的因素: ① 正在执行的进程执行完毕, 或因发生某事件而不能再继续执行; ② 执行中的进程因提出I/O请求而暂停执行; ③在进程通信或同步过程中执行了某种原语操作,如P操作(wait操作...

    计算机操作系统作业二.doc

    信号量及wait、signal操作 加锁与解锁 信箱方式 消息缓冲方式 特权指令方式 A. 、 与 B. 与 C. 与 D. 与 24.在操作系统中,每个进程具有独立性,进程之间又具有相互制约性。对于任何两个 并发进程,它们___C___。 A....

    操作系统各部分内容详细思维导图.zip

    包括操作系统各部分内容,适合考试及复习使用。搭配Xmind软件可打开 操作系统的概念、特征、功能和提供的服务  (二)操作系统的发展与分类  (三)操作系统的运行环境  1.内核态与用户态  2.中断、异常  3....

    西南交通大学2020届操作系统实验1——7

    ①掌握进程调度的概念②学习Linux内核源码编写风格,重点理解进程调度策略算法,包括FCFS、RR、SRT、Feedback的调度算法。 实验4 线程同步实验 ①掌握操作系统并发的概念②理解并发中的生产-消费者问题③熟悉Linux...

    操作系统重点

     4.Linux系统的进程调度方式、策略和常用调度命令:nohup,at,batch,jobs,fg,bg。  5.中断处理过程:保存现场、分析原因、处理中断和中断返回。  6.shell命令的一般执行过程。  【了解】  1.调度的三个级别...

    采用QT进行可视化,模拟了两个处理机调度进程的过程,以及模拟操作系统如何分配内存给各个进程.zip

    网络与通信:数据传输、信号处理、网络协议、网络与通信硬件、网络安全网络与通信是一个非常广泛的领域,它涉及到计算机科学、电子工程、数学等多个学科的知识。 云计算与大数据:数据集、包括云计算平台、大数据...

Global site tag (gtag.js) - Google Analytics