进程是一个正在运行程序的实例,主要包括两部分: 进程内核对象(一个小的数据结构),地址空间(代码,数据)。进程是不活泼的,线程是活泼的,每个进程必须包括一个线程,当创建一个线程的时候进程必须给线程分配一个虚拟的地址空间(堆栈,堆),还要给线程分配CPU时间片(量程)。
进程运行流程:首先创建一个进程内核对象,线程内核对象;然后初始化两个内核对象;加载命令行;环境变量;初始化C/C++运行期的全局变量,对C运行期内存单元分配函数(malloc和calloc)和其他低层输入/输出例程使用的内存栈进行初始化,C++类的全局变量;运行主线程(等线程);撤销进程(强烈建议重主线程中退出结束,不要用ExitProces(),TerminateProcess()).
Main函数
BOOL CreateProcess(
LPCTSTR lpApplicationName, // pointer to name of executable module
LPTSTR lpCommandLine, // pointer to command line string
LPSECURITY_ATTRIBUTES lpProcessAttributes, // process security attributes
LPSECURITY_ATTRIBUTES lpThreadAttributes, // thread security attributes
BOOL bInheritHandles, // handle inheritance flag
DWORD dwCreationFlags, // creation flags
LPVOID lpEnvironment, // pointer to new environment block
LPCTSTR lpCurrentDirectory, // pointer to current directory name
LPSTARTUPINFO lpStartupInfo, // pointer to STARTUPINFO
LPPROCESS_INFORMATION lpProcessInformation // pointer to PROCESS_INFORMATION
);
子进程
枚举进程
分享到:
相关推荐
无论是对SDK的直接操作,还是通过MFC的高级抽象,本书都将提供扎实的基础,帮助你开启Windows程序设计的旅程。通过深入阅读和实践书中的内容,你将能够独立地开发出功能丰富的Windows应用程序。
《Windows API - 函数、接口与编程实例》是深入理解Windows操作系统编程的重要参考资料。Windows API,全称为Windows应用程序接口,是一系列预定义的函数、...这本书提供的详细讲解和实例将是你学习旅程中的宝贵资源。
标题中的"R0进程保护驱动源码"是指这种级别的驱动程序的原始代码,开发者可以通过阅读和理解源码来学习如何创建自己的进程保护机制。源码的学习可以帮助程序员深入理解驱动程序的工作原理,以及如何实现对游戏内存的...
在Linux的学习旅程中,首先会接触到的是Linux的基本概念。Linux是一种自由和开放源代码的操作系统,它的内核由林纳斯·托瓦兹创建,后来发展成为全球开发者共同维护的开源项目。Linux与Windows、Mac OS等商业操作...
总的来说,Linux-Windows编程基础的学习是一次深入计算机操作系统底层的旅程,它将使开发者具备更全面的技能,为编写高效、稳定的应用程序奠定坚实基础。通过阅读《Linux底层笔记》和《Windows底层笔记》,开发者...
对于初次接触Unix的新手而言,学习旅程可以从熟悉的Windows环境起步。 ##### 学习Unix体系结构 首先,理解Unix的体系结构至关重要。这涉及到文件系统、进程管理、内存管理、设备驱动等核心概念。互联网是获取知识...
《新编Windows API参考大全》是一本专注于Windows操作系统编程的权威指南,涵盖了广泛且深入的API函数使用。...无论你是初学者还是经验丰富的开发者,这本书都将是你Windows编程旅程中的重要伙伴。
总的来说,Windows93.net源代码的学习将是一次深入操作系统底层的旅程。它不仅有助于提升开发者的技术能力,也有助于培养对系统设计的整体观。通过解析和理解这些源代码,我们可以更全面地了解计算机科学的基石,...
自主学习让我能够根据自己的节奏和兴趣深入研究,而团队学习则提供了一个交流和互助的平台,加速了学习进程。 我发现,设定明确的学习目标对于掌握新技术至关重要。例如,在学习Flash时,我设定了制作简单动画的...
- **进程管理**:深入剖析Windows如何创建、管理和销毁进程。 - **内存管理**:讲解虚拟内存机制、分页和分段的概念。 - **线程调度**:了解线程的生命周期、调度策略及同步机制。 - **设备驱动**:介绍驱动模型...
8. **进程与线程**:理解Windows中的进程和线程概念,创建和管理线程,以及同步线程间操作。 9. **对话框程序**:创建和使用模态和非模态对话框,以及对话框控件的使用。 10. **错误处理**:学习如何正确地处理...
总结来说,这个压缩包提供的学习资源专注于从底层编程到高级操作系统设计的旅程,特别关注Windows内核。对于那些希望深入理解操作系统工作原理并可能想要参与系统开发的读者,这将是一份宝贵的学习材料。而"173绿软...
通过理解和学习这个源码,我们可以深入了解Windows操作系统内部的工作原理,提升在调试方面的技能。 1. **软硬件断点**: - **软件断点**:这是通过修改目标程序内存中的指令来实现的。当程序执行到该位置时,CPU...
《Windows API 全集:为 Delphi 和 VB 开发者揭示操作系统...总之,这个压缩包是一个宝藏,对于想要深入了解Windows平台开发的Delphi和VB程序员来说,它将是一个不可或缺的学习资料,帮助他们在编程旅程中更进一步。
在Windows程序设计领域,开发者需要理解操作系统的基本原理,熟悉API调用,并能编写高效、稳定...通过深入学习和实践,你将能够编写出高效、稳定且用户友好的Windows应用程序。这份资料将是你踏上这段旅程的重要指南。
通过《Windows API for 2000_XP实例精解》,读者将不仅学习到Windows API的基本用法,还能掌握如何在实际项目中应用这些知识,解决复杂问题。无论你是初学者还是经验丰富的开发者,这本书都能提供宝贵的指导,帮助你...
总的来说,"Windows到Linux之旅"是一个全面的学习过程,涵盖了从基础知识到高级技巧的各个方面。通过这个旅程,你可以逐渐适应Linux的工作环境,提升技术水平,并充分利用Linux的强大功能。无论你是开发者、系统管理...
1. **系统初始化与管理**:讲解如何启动和关闭Windows系统,以及管理进程、线程和内存资源。例如CreateProcess、CreateThread和VirtualAlloc等函数。 2. **文件与I/O操作**:介绍了处理磁盘文件、网络流和设备输入...
其次,Linux 的服务模型和后台进程(daemon)与 Windows 的服务有所不同。Linux 服务通常在系统启动时自动启动,并可以在需要时手动控制,这与 Windows 的服务管理有相似之处,但 Linux 更加注重自动化和脚本化,...