【读书笔记】Windows CE嵌入式系统_【3】_进程、线程与调度
2014-06-17 23:41
399 查看
进程
1、进程是程序的一次动态执行实例。有创建、执行、结束完整的生命周期。2、进程消耗的系统资源只有它所占用的内存。
3、winCE最多只支持32个进程同时运行。每个进程占用32MB的虚拟地址空间。也被称为一个s1ot 。
4、WinCE不支持环境变量,也不支持当前目录。--------------WinCE先查找” \Windows“目录,然后查找根目录。如果找不到就报错。
----解决方案1:通过GetModuleFileName()获取当前执行文件所在的目录。
eg:
5、进程的创建
应用程序可以使用CreateProcess()函数创建一个新的进程。
第一个参数 是可执行文件的路径和名称。如果路径未明确指定,则按照如下搜索:
Windows目录 (”\ Windows“)
对象存储的根目录 (”\ “)
OEM所制定的搜索目录 ( 注册表的中
)第二个参数 指定要传递给新进程的命令行参数,须以Unicode字符串形式传递。参数fdwCreate 指定进程夹在后的初始状态。
参数pProcInfo指向一个PROCESS_INFORMATION结构体,PROCESS_INFORMATION结构体返回进程和主线程的句柄以及ID。不需要得到时,可以设置为空。
6、进程终止方法:
最佳方法-------从WinMain()函数返回。
ExitThread()让进程的主线程退出从而终止进程。
ExitProcess()和TerminateProcess()函数用来使进程终止。
线程
1、线程是Windows CE中最小的可执行单元。一个进程可以拥有的线程数理论上是没有限制的。进程中所有的线程共享进程所占有的资源,包括地址空间、打开的文件等内核对象。
2、线程可以运行核心态或用户态。
操作系统线程和中断服务例程(ISR,Interrupt Service Routine)运行在核心态,
应用程序和设备驱动程序的中断服务线程(IST,Interrupt Service Thread)运行在用户态。
WinCE允许让所有的线程都运行在核心态下,从而增加系统的效率。
3、线程的创建
创建成功,返回新创建线程的句柄。否则,返回NULL。
可以把参数fdwCreate设置成CREATE_SUSPENDED状态来创建一个起始状态为挂起的线程。否则线程创建结束后会立即执行。
4、恢复线程。ResumeThread
5、结束线程。
ExitThread()和TerminateThread()函数使线程结束执行。
调度
1、WinCE是抢占式多任务操作系统。调度程序基于优先级的时间片算法对线程进行调度。线程优先级通过GetThreadPriority()函数获取,SetThreadPriority()函数设置。
BOOL SetThreadPriority( HANDLE hThread, int nPriority );
其中,nPriority值为
默认时间片100毫秒。通过CeGetThreadQuantum()函数获得。
DWORD CeGetThreadQuantum( HANDLE hThread );
失败时,返回MAXDWORD 。
2、线程状态切换
相关文章推荐
- 读书笔记-现代操作系统-2进程与线程-2.4调度
- 读书笔记--深入分析Linux内核源码-第五章进程调度
- 剖析Android中进程与线程调度之nice
- 《Linux内核设计与实现》第4章读书笔记:进程调度
- WinCE 编程实验(第三章 进程与线程的描述和调度)
- 2013337朱荟潼 Linux第四章读书笔记——进程调度
- 读书笔记-现代操作系统-7多媒体操作系统-7.5多媒体进程调度
- 《深入理解Linux内核》--第七章:进程调度:读书笔记
- 内功修炼(二)---操作系统---线程、进程,资源调度,资源调度算法
- 《LINUX内核设计与实现》读书笔记 第四章 进程调度
- 报名:《Linux的进程、线程以及调度》4节系列微课(5.22-25)
- 进程与线程的关系和区别 CPU调度简介
- 读书笔记:第七章 线程的调度、优先级和亲缘性
- 操作系统回忆录:进程、线程、资源调度
- 进程线程调度方式
- Android中进程线程调度的命令之cgroups
- 【读书笔记】Windows CE嵌入式系统_【5】_进程间通讯u
- 读书笔记-现代操作系统-2进程与线程-2.2线程
- 进程、线程与处理器的调度(转)
- 进程、线程与处理器的关系和调度