进程就是一段执行的程序,每当一个程序运行时,对于操作系统本身来说,就创建了一个进程,并且分配了对应的资源。进程可以分为3个类别:
1.交互式进程(I/O)
2.批处理进程 (CPU)
3.实时进程 (REAL-TIME)
对于交互式进程来说,一般其占用的cpu时间片很段,但是优先级偏高;批处理进程占用的cpu时间片很长,但是优先级偏底;实时进程是...
分类:
其他好文 时间:
2014-06-19 11:37:32
阅读次数:
334
1.在单线程中,我们每次只能做一件事情。
而在多线程中,其实最本质的也是一次只能做一件事情,只是CPU给定的时间片完成之后,切换到另一个线程,然后这个分配CPU的时间片完成之后,再次切换到另一个线程,如此反复,其间切换的速度很快,给人一种同时进行的错觉而已。
但在多线程中,往往会发生两个线程抢占资源的问题,所以我们需要防止这些资源访问的冲突。
C#提供线程同步机制来防止资源访问的冲突,其中主...
分类:
编程语言 时间:
2014-06-15 19:38:36
阅读次数:
293
调度策略
Linux的调度基于分时(time sharing)技术:多个进程以“时间多路复用”方式运行,因为CPU的时间被分成“片(slice)”,给每个可运行进程一片。当然,单处理器在任何给定的时刻只能运行一个进程。如果当前运行的时间片或时限(quantum)到期时,该进程还没有运行完毕,进程切换就可以发生。分时依赖于定时中断,因此对进程是透明。不需要在程序中插入额外的代码来保证CPU分时。...
分类:
其他好文 时间:
2014-05-25 10:08:46
阅读次数:
191
上下文切换(Context Switch)
或者环境切换多任务系统中,上下文切换是指CPU的控制权由运行任务转移到另外一个就绪任务时所发生的事件。(时间片切换)在操作系统中,CPU切换到另一个进程需要保存当前进程的状态并恢复另一个进程的状态:当前运行任务转为就绪(或者挂起、删除)状态,另一个被选定的...
分类:
其他好文 时间:
2014-05-24 01:04:08
阅读次数:
337
线程是一种使程序在同一时间做多件事的机制,和进程一样是并发执行的。linux内核调度为每个线程分配一个时间片,使用完后等待下次调度。和进程相比,线程是一种更小的执行单位。
每个进程启动后都会有一个线程在运行,称为主线程,可以在主线程中启动多个子线程,这些线程在同一个进程中,不同线程在给定时间内执行不同的代码片段。
我们可以fork一个子进程,这个子进程就是对父进...
分类:
编程语言 时间:
2014-05-18 04:58:16
阅读次数:
307
一、SysTick(系统滴答定时器)概述
操作系统需要一个滴答定时器周期性产生中断,以产生系统运行的节拍。在中断服务程序里,基于优先级调度的操作系统会根据进程优先级切换任务,基于时间片轮转系统会根据时间片切换任务。总之,滴答定时器是一个操作系统的“心跳”。
Cortex-M3在内核部分封装了一个.....
分类:
其他好文 时间:
2014-05-15 22:46:21
阅读次数:
4320
1.切换任务并记录位置,保证在时间到后能切换回来。(在任务中切换出去,在定时器中切换回来。)(时间片轮转)...
分类:
其他好文 时间:
2014-05-15 04:16:18
阅读次数:
322
(大部分为翻译)Concurrency vs. Parallelism 并发 vs
并行并发并不一定同时运行,比如使用时间片,使得两个任务交替执行。而并行是执两个任务真正的同时执行。Asynchronous vs. Synchronous 同步
vs 异步 如果一个方法被调用后,调用者只能等到此方....
分类:
其他好文 时间:
2014-05-14 23:12:26
阅读次数:
374
进程
是应用程序的一个实例要使用的资源的一个集合,每个进程都被赋予了一个虚拟空间,以确保另一个其它进程无法访问。进程在者创建时需要分配大量的内存并且初始化加载EXE以及大量的DLL资源。线程相当于逻辑CPU用以解决进程长时间占用资源的问题,在创建时被分配大约1M的内存。线程以CPU时间片单位运行,当...
分类:
编程语言 时间:
2014-05-08 13:21:19
阅读次数:
337