Windows Via C/C++ Part Ⅰ Chapter4: 进程(1)_概述
来源:互联网 发布:青岛seo雪无痕 编辑:程序博客网 时间:2024/06/05 18:35
概述(Overview)
进程常被定义为正在运行的程序实例,它由两部分组成:(1) 操作系统用来管理进程、统计进程状态的内核对象。(2) 包含进程加载的所有可执行模块和动态链接库模块代码和数据的地址空间,其中也包括像线程堆栈和堆这样的动态内存空间。
进程是惰性的。一个进程为了完成任务必须让一个线程运行在其上下文中,该线程用来执行包含在进程地址空间的代码。事实上,一个进程可以包含若干个线程,它们可以“同时”执行进程地址空间的代码,这时每个线程都拥有独立的CPU寄存器和堆栈。每个进程必须至少包含一个线程来执行其代码,在进程创建时,系统自动为其创建一个称为主线程的线程来执行其代码。如果进程中没有任何线程存在,系统将自动销毁该进程对象及其地址空间。
当进程中含有若干个线程时,操作系统必须为每个线程调度CPU时间。图4-1显示了一种单核心处理器的调度方式,其中系统采用轮循方式为每个线程分配时间片:
在拥有多个处理器的计算机上,操作系统将使用更加复杂的算法为线程分配CPU时间。Windows可以在不同的处理器中调度线程以实现真正的并行执行,而无需应用程序开发人员的干预。然而有些时候开发人员必须考虑其程序采用的算法,以利用多核特性获取更高性能。
- Windows Via C/C++ Part Ⅰ Chapter4: 进程(1)_概述
- Windows Via C/C++ Part Ⅰ Chapter4: 进程—第一个Windows程序(1)
- Windows Via C/C++ Part Ⅰ Chapter4: 进程—第一个Windows程序(2)
- Windows Via C/C++ Part Ⅰ Chapter4: 进程—第一个Windows程序(3)
- Windows Via C/C++ Part Ⅰ Chapter4: 进程—第一个Windows程序(4)
- Windows Via C/C++ Part Ⅰ Chapter3: 内核对象(1)
- Windows Via C/C++ Part Ⅰ Chapter3: 内核对象(2)
- Windows Via C/C++ Part Ⅰ Chapter3: 内核对象(3)
- Windows Via C/C++:线程概述
- Windows via C/C++:终止进程
- Windows via C/C++: 子进程
- Windows Via C/C++ Part Ⅰ Chapter 2: 字符和字符串(1)
- Windows via C/C++:线程调度——概述
- Windows Via C/C++ Part Ⅰ Chapter 2: 字符和字符串(2)
- Windows Via C/C++ Part Ⅰ Chapter 2: 字符和字符串(3)
- Windows Via C/C++ Part Ⅰ Chapter 2: 字符和字符串(4)
- 《CLR via C#》Part2之Chapter4 类型基础(二)
- Windows via C/C++ Part 1: Required Reading - Chapter1 错误处理
- 多页签中的控件锚定问题解决办法。
- jQuery-toggle()与toggle(fn,fn)的用法
- GetWindowLong Function
- 2个用到数学归纳法的有意思的证明
- ThinkPHP对Ajax完全支持
- Windows Via C/C++ Part Ⅰ Chapter4: 进程(1)_概述
- 中国与印度软件开发之比较
- 为 PHP 添加 CURL 模块
- FreeBSD下安装MySQL+Apache+PHP
- 二维码生成及源码
- Windows Via C/C++ Part Ⅰ Chapter4: 进程—第一个Windows程序(1)
- Oracle自增数据类型的实现方法
- 如何建立符号表
- Java之split()方法简介