优先权

抢占式与非抢占式调度算法

雨燕双飞 提交于 2019-12-21 23:41:48
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 为照顾紧迫性作业,使之在进入系统后便获得优先处理,引入了最高优先权优先(FPF)调度算法。它分为两种: (一)非抢占式优先权算法; (二)抢占式优先权调度算法。 1.非抢占式优先权算法:系统一旦把处理机分配给就绪队列中优先权最高的进程后,该进程便一直执行下去,直至完成。 2.抢占式优先权调度算法:系统同样把处理机分配给优先权最高的进程,使之执行.但在其执行期间,只要又出现了另一个其优先权更高的进程,进程调度程序就立即停止当前进程(原优先权最高的进程)的执行,重新将处理机分配给新到的优先权最高的进程。 来源: oschina 链接: https://my.oschina.net/u/2244961/blog/1608035

线程调度及进程调度

|▌冷眼眸甩不掉的悲伤 提交于 2019-12-05 09:06:02
一、Java线程调度    1.抢占式调度: 指的是每条线程执行的时间、线程的切换都由系统控制。 系统控制指的是在系统某种运行机制下,可能每条线程都分同样的执行时间片,也可能是某些线程执行的时间片较长,甚至某些线程得不到执行的时间片。在这种机制下,一个线程的堵塞不会导致整个进程堵塞。    2.协同式调度: 指某一线程执行完后主动通知系统切换到另一线程上执行。 线程的执行时间由线程本身控制,线程切换可以预知,不存在多线程同步问题,但它有一个致命缺点:如果一个线程编写有问题,运行到一半就一直阻塞,那么可能导致整个系统崩溃。    3.JVM的线程调度的实现(抢占式调度): Java使用的线程调度使用抢占式调度,Java中线程会按优先级分配CPU时间片运行,且优先级越高越优先执行,但优先级高并不代表能独自占用执行时间片,可能是优先级高得到越多的执行时间片,反之,优先级低的分到的执行时间少但不会分配不到执行时间。    4.线程让出CPU的情况:     1)当前运行线程主动放弃CPU,JVM暂时放弃CPU操作(基于时间片轮转调度的JVM操作系统不会让线程永久放弃CPU,或者说放弃本次时间片的执行权),例如调用yield方法。     2)当前运行线程因为某些原因进入阻塞状态,例如阻塞在IO上。     3)当前运行线程结束,即运行完run方法里面的任务。 实例: 1 public

linux进程优先级、进程nice值(转载)

夙愿已清 提交于 2019-12-05 08:14:17
网络收集,自学自用~ 进程cpu资源分配就是指进程的优先权(priority)。优先权高的进程有优先执行权利。配置进程优先权对多任务环境的linux很有用,可以改善系统性能。还可以把进程运行到指定的CPU上,这样一来,把不重要的进程安排到某个CPU,可以大大改善系统整体性能。 一、先看系统进程: 首先,我想用一个简单的命令来引起这个议题。 无论在linux或者unix系统中,用ps –l命令则会类似输出以下几个内容: [root@dbbak root]# ps –l --- 这里用的是linux测试 F S UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIME CMD 4 S 0 20538 20534 0 75 0 - 1063 wait4 pts/2 00:00:00 bash 4 R 0 20663 20538 0 75 0 - 828 - pts/2 00:00:00 ps 我们很容易注意到其中的几个重要信息,有下: UID : 代表执行者的身份 PID : 代表这个进程的代号 PPID :代表这个进程是由哪个进程发展衍生而来的,亦即父进程的代号 PRI :代表这个进程可被执行的优先级,其值越小越早被执行 NI :代表这个进程的nice值 这里的前面的三个信息,我们都是比较好容易理解的,但是后面的两个奇怪的信息,一个是PRI,一个是NI

计算机操作系统第三章测试题及答案

你。 提交于 2019-12-02 10:03:24
大项 1 of 5 - 选择题 26.0/ 26.0 得分 题目 1 of 57 1.0/ 1.0 得分 在为多道程序所提供的可共享的系统资源不足时,可能出现死锁。但是,不适当的( )也可能产生死锁。 A. 进程推进顺序 B. 进程优先权 C. 分配队列优先权 D. 资源的线性分配 答案: A 题目 2 of 57 1.0/ 1.0 得分 采用资源剥夺法可解除死锁,还可以采用( )方法解除死锁。 A. 执行并行操作 B. 修改信号量 C. 拒绝分配新资源 D. 撤消进程 答案: D 题目 3 of 57 1.0/ 1.0 得分 产生死锁的四个必要条件是:互斥、( )、循环等待和不剥夺。 A. 请求与释放 B. 请求与保持 C. 请求与阻塞 D. 释放与阻塞 答案: B 题目 4 of 57 1.0/ 1.0 得分 发生死锁的必要条件有四个,要防止死锁的发生,可以破坏这四个必要条件,但破坏( )条件是不太实际的。 A. 不可抢占 B. 部分分配 C. 循环等待 D. 互斥 答案: D 题目 5 of 57 1.0/ 1.0 得分 在分时操作系统中,进程调度经常采用( )算法。 A. 先来先服务 B. 时间片轮转 C. 最高优先权 D. 随机 答案: B 题目 6 of 57 1.0/ 1.0 得分 资源的按序分配策略可以破坏( )的条件。 A. 互斥使用资源 B. 非抢夺资源 C.

mongodb 副本集的主的选举

笑着哭i 提交于 2019-11-27 10:02:54
primary的选举依赖于各个实例的优先权重,默认权重都是1 复本集的主挑选权重最高的,权重一样的无法控制谁为主 设置各个实例的优先权重,挑选自己想要的实例为主,只有primary可以更改权重配置 conf = rs.config() #获取副本集的配置,默认权重都是1 conf.members[0].priority = 10 #索引号从0开始,每次递增1,类似数组 conf.members[1].priority = 5 conf.members[2].priority = 2 rs.reconfig(conf) #更新mongodb副本集的配置,优先权重最高的提升为primary,关闭启动后也为主 来源: https://www.cnblogs.com/xibuhaohao/p/11357685.html