1 可执行队列
(基于实时进程调度)
调度程序中最基本的数据结构式运行队列(runqueue)。可执行队列是给定处理器上的可执行进程的链表,每个处理器一个。每个可投入运行的进程都唯一的归属于一个可执行队列。此外,可执行队列中还包含每个处理器的调度信息。所以,可执行队列也是每个处理器最重要的数据结构。
为了避免死锁,要锁住多个运行队列的代码必须总是按照同样的顺序获取这些锁:按照可...
分类:
系统相关 时间:
2015-06-07 01:06:37
阅读次数:
202
Linux中的ps命令是Process Status的缩写。ps命令用来列出系统中当前运行的那些进程。ps命令列出的是当前那些进程的快照,就是执行ps命令的那个时刻的那些进程,如果想要动态的显示进程信息,就可以使用top命令。要对进程进行监测和控制,首先必须要了解当前进程的情况,也就是需要查看当前进...
分类:
系统相关 时间:
2015-06-05 11:41:51
阅读次数:
158
linux下线程
线程与进程的关系:
之前转载的微信文章,进程与线程的区别已经说得比较清楚了,可以查看之前转载的文章,linux进程与线程的区别。
创建一个线程:
#include
int pthread_creat(pthread_t * thread,pthread_attr_t * attr,void *(*stat_routine)(void *),...
分类:
编程语言 时间:
2015-06-05 10:15:55
阅读次数:
184
#define switch_to(prev,next,last) do { \ unsigned long esi,edi; \ asm volatile("pushfl\n\t" \ "pushl %%ebp\n\t" \ ...
分类:
系统相关 时间:
2015-06-02 17:21:36
阅读次数:
231
linux线程私有的部分:每个线程都拥有一个独立的程序计数器,进程栈和一组进程寄存器linux进程切换时通过TSS段,TSS中的esp0和ss0都是系统初始化设置的,指向进程创建时候,分配的栈空间。当进程切换的时候,在内核态下才进行进程切换,在0.11版本中,当前进程的寄存器被压入当前进程的TSS中...
分类:
编程语言 时间:
2015-06-02 00:15:06
阅读次数:
166
信号是 Linux 进程间通信的最古老的方式。信号是软件中断,它是在软件层次上对中断机制的一种模拟。信号可以导致一个正在运行的进程被另一个正在运行的异步进程中断,转而处理某一个突发事件。
“中断”在我们生活中经常遇到,譬如,我正在房间里打游戏,突然送快递的来了,把正在玩游戏的我给“中断”了,我去签收快递( 处理中断 ),处理完成后,再继续玩我的游戏。这里我们学习的“信号”就是属于这么一种“中断”。我们在终端上敲“ctrl + c”,就产生一个“中断”,相当于产生一个信号,接着就会处理这么一个“中断任务”(默...
分类:
系统相关 时间:
2015-06-01 20:33:54
阅读次数:
254
转载:http://www.cnblogs.com/fangshenghui/p/4039720.html一共享内存介绍共享内存可以从字面上去理解,就把一片逻辑内存共享出来,让不同的进程去访问它,修改它。共享内存是在两个正在运行的进程之间共享和传递数据的一种非常有效的方式。不同进程之间共享的内存通常...
分类:
系统相关 时间:
2015-05-31 19:56:20
阅读次数:
148
我们知道有些进程无须借助终端来运行,它们的TTY这一列显示为“?”,-a选项会过滤掉这类进程;同时-a还会过滤掉控制进程,到底什么是控制进程呢?莫非就是终端本身?...
分类:
系统相关 时间:
2015-05-31 18:29:59
阅读次数:
217
Linux进程与线程的区别 cnyinlinux 本文较长,耐心阅读,必有收获! 进程与线程的区别,早已经成为了经典问题。自线程概念诞生起,关于这个问题的讨论就没有停止过。无论是初级程序员,还是资深专家,都应该考虑过...
分类:
编程语言 时间:
2015-05-29 14:09:40
阅读次数:
278