μCOS-II是一个经典的RTOS。 任务切换对于RTOS来说是最基本也是最核心的部分,除此之外还有任务调度算法。 先来看看基于stm32f107的任务切换代码: OSPendSV()是 PendSV Handler 的中断处理函数(的名称),它实现了上下文切换。这种实现方式对于 ARM Corte ...
分类:
其他好文 时间:
2017-08-19 18:30:47
阅读次数:
792
1.什么是上下文切换(Context Switch)? 上下文切换,有时也称做进程切换或任务切换,是指CPU从一个进程或线程切换到另一个进程或线程。 操作系统可以同时运行多个进程, 然而一颗CPU同时只能执行一项任务,操作系统利用时间片轮转的方式,让用户感觉这些任务正在同时进行。 CPU给每个任务都 ...
分类:
其他好文 时间:
2017-08-15 15:58:46
阅读次数:
141
一、CPU 1.良好状态指标 CPU利用率:User Time <= 70%,System Time <= 35%,User Time + System Time <= 70% 上下文切换:与CPU利用率相关联,如果CPU利用率状态良好,大量的上下文切换也是可以接受的 可运行队列:每个处理器的可运行 ...
分类:
Web程序 时间:
2017-08-09 23:59:00
阅读次数:
514
一、上下文切换技术简述在进一步之前,让我们先回顾一下各种上下文切换技术。不过首先说明一点术语。当我们说“上下文”的时候,指的是程序在执行中的一个状态。通常我们会用调用栈来表示这个状态——栈记载了每个调用层级执行到哪里,还有执行时的环境情况等所有有关的信息。..
分类:
编程语言 时间:
2017-08-09 23:49:04
阅读次数:
224
http://blog.csdn.net/aiai5251/article/details/50015745 Context Switches 上下文切换,有时也被称为进程切换(process switch)或任务切换。是一个重要的性能指标。 CPU从一个线程切换到另外一个线程,需要保存当前任务的运 ...
分类:
其他好文 时间:
2017-08-03 15:02:05
阅读次数:
284
一次简单网络读写的性能测试,TPS8W,vmstat监控到CS为12W,后来查阅资料这个CS具体包括哪些内容。大部分网络资料显示CS包括:模式切换(软中断),上下文切换。但后来一同志论证认为不正确,TPS8w,每个TPS有一次读写,就会发生16w的上下文切换。那CS应该只包括:上下文切换。什..
分类:
其他好文 时间:
2017-07-28 22:09:59
阅读次数:
120
背景: 上篇博文介绍了dcm4chee中使用的Leader/Follower线程池模型。主要目的是节省上下文切换,提高运行效率。本博文同属【DICOM开源库多线程分析】系列。着重介绍fo-dicom中使用的ThreadPoolQueue线程池。 ThreadPoolQueue in fo-dicom ...
分类:
编程语言 时间:
2017-07-21 18:16:39
阅读次数:
285
一、常用概念 进程 进程就是一个程序在一个数据集上的一次动态执行过程。进程一般由程序、数据集、进程控制块三部分组成。 线程 线程的出现是为了降低上下文切换的消耗,提高系统的并发性,并突破一个进程只能干一样事的缺陷,使到进程内并发成为可能。 线程也叫轻量级进程,它是一个基本的CPU执行单元,也是程序执 ...
分类:
编程语言 时间:
2017-07-21 01:18:53
阅读次数:
177
公司服务器上安装了contly,是一个开源的node.js项目,用于统计手机app使用情况,后端数据储存使用的mongodb,使用的时候经常发现mongodb占用cpu非常高,打到了210%的爆表值 仔细查看是中断很多,命令是pid -w 1 vmstat 中断和上下文切换多,是因为nodejs一直 ...
分类:
数据库 时间:
2017-07-19 14:02:29
阅读次数:
2097
基本概念 在实践中,为了更好的利用资源提高系统整体的吞吐量,会选择并发编程。但由于上下文切换和死锁等问题,并发编程不一定能提高性能,因此如何合理的进行并发编程时本文的重点,接下来介绍关于锁最基本的一些知识(选学)。 volatile:轻量,保证共享变量的可见性,使得多个线程对共享变量的变更都能及时获 ...
分类:
编程语言 时间:
2017-07-14 14:59:38
阅读次数:
185