转自:http://www.cnblogs.com/wz19860913/archive/2008/08/04/1259807.html 每个线程都有一个“优先级”,范围是0-31,0为最低优先级,31为最高优先级.当系统决定哪个线程需要调度的时候,首先查看是否存在优先级为31的可调度线程,如果存在,就从中选择一个进行调度.当该线程的时间片到达之后,系统查看是否存在另一个优先级为31的可调度线程,如果存在,就调度它. 只要有一个可调度的优先级为31的线程存在,那么系统绝对不会调度优先级为0-30…
Windows平台下Makefile学习笔记(一) 作者:朱金灿 来源:http://blog.csdn.net/clever101 决心学习Makefile,一方面是为了解决编译开源代码时需要跨编译平台的问题(发现一些开源代码已经在使用VS2010开发,但我还没安装VS2010,我想在VS2008下编译这些代码):另一方面源码在服务器端编译的话,使用IDE的方式编译还是不太方便. 本文主要分为三部分:第一部分讲述namke工具使用makefile的用法:第二部分讲述makefile的主要语法:…
本文转自:http://blog.csdn.net/clever101/article/details/8286066 上次我们学习了怎么用Makefile编译一个控制台工程.这次我们学习一下如何使用Makefile来编译一个win 32的GUI程序.win 32的GUI程序其编译过程大部分和控制台程序一样,不同的是多了一步RC编译器将资源文件编译成res文件,然后在最后一步链接中需要把这个res文件链接到exe文件中. 好,现在让我们在实践中学习吧.新建一个win32 应用程序工程——Win3…
1.每个线程都被赋予0(最低)~31(最高)的优先级数.当系统确定给哪个线程分配CPU时,它会首先查看优先级为31的线程,并以循环的方式进行调度.如果有优先级为31的线程可供调度,那么系统就会将CPU分配给该线程.在该线程的时间片结束时,系统查看是否还存在另一个优先级为31的线程可以运行,如果存在,它将获得CPU. 2.只要有优先级为31的线程可供调度,系统就不会给优先级0~30的线程分配CPU.这种情况称为饥饿.在多处理器机器上饥饿发生的可能性要小得多,因为这种机器上优先级为31和30的线程可…
在SYS/BIOS中,广义上指被处理器执行的任何独立的指令流.线程是一个能够调用一个函数或者中断服务程序的单点控制.在sysbios系统中一共有硬件中断(HWI).软件中断(SWI).任务(Task).空闲线程(Idle)这四种线程,它们的优先级依次从高到低.关于HWI与SWI的创建笔者分别在SYSBIOS学习笔记---硬件中断(HWI)的创建和SYSBIOS学习笔记---软件中断(SWI)的创建这两篇博客中进行了详细的讲解,本次将继续介绍Task与Idle线程的创建,并对比这四种的线程的特点及…
前言:休整一个多月之后,终于开始投简历了.这段时间休息了一阵子,又病了几天,真正用来复习准备的时间其实并不多.说实话,心里不是非常有底气. 这可能是学生时代遗留的思维惯性--总想着做好万全准备才去做事.当然,在学校里考试之前当然要把所有内容学一遍和复习一遍.但是,到了社会里做事,很多时候都是边做边学.应聘如此,工作如此,很多的挑战都是如此.没办法,硬着头皮上吧. 3.5 线程的分组管理 在实际的开发过程当中,可能会有多个线程同时存在,这对批量处理有了需求.这就有点像用迅雷下载电视剧,假设你在同时…
线程: 定义:线程是程序内的一个单一的顺序控制流程,也被称为“轻型进程(lightweight process)” 或“执行上下文(execution context )” 线程用于分隔任务 线程类似于传统的顺序程序,都有一个执行的起点,经过一系列指令后到达终点.线程在执行过程中的任何时刻只能有一个执行点 main()是一个特殊的线程 实现方法: 1.继承Thread 2.实现runnable接口 启动方式: 1.start() 交叉执行线程,一个等待即执行下一个,各个线程的xc1.start(…
有点笨,参考了好几篇大佬们写的文章才整理出来的笔记.... 字面意思上解释,线程池就是装有线程的池,我们可以把要执行的多线程交给线程池来处理,和连接池的概念一样,通过维护一定数量的线程池来达到多个线程的复用. 好处 多线程产生的问题 一般我们使用到多线程的编程的时候,需要通过new Thread(xxRunnable).start()创建并开启线程,我们可以使用多线程来达到最优效率(如多线程下载). 但是,线程不是越多就越好,线程过多,创建和销毁就会消耗系统的资源,也不方便管理. 除此之外,多线…
测试 5.2 windows 中断与异常 1.外部硬件中断是通过处理器上的中断引脚管或者本地APIC的内置模块来发生的:对于一个处理器,一旦被中单, 某个预先被设定的中断服务例程就被执行! 2.处理器的内部的IDTR寄存器记录着IDT的位置和它的最大限制,IDTR寄存器为48位. 每个中断描述符号是8字节(共64位)对于 软中断的情形,可避免低特权的代码通过软中断的形式 去执行关键的异常或中断处理的代码! 3. APC_LEVEL 一个线程插入一个APC可以打断该线程 DISPATCH_LEVE…
目前正在阅读毛老师的<windows内核情景分析>一书对象管理章节,作此笔记. Win内核中是使用对象概念来描述管理内核中使用到的数据结构.此对象(Object)均是由对象头(Object Header)组成,实际上由于对象头概念的特殊结构,还有些可选成分.于是一个对象实际上是分为三部分. OBJECT_HEADER对象头. 数据本体(比如文件对象File Object.Event等) 附加信息(比如Object Header Name Info等) 结构如下: //摘录自 Reactos代码…