浙江大学操作系统课件,徐宗元
- 格式:ppt
- 大小:357.50 KB
- 文档页数:76
3.7.2 实验2:Windows 2000 内存管理API函数的使用一.实习要求在Windows 环境下,模拟Windows2000的本地过程调用LPC通信方式之一,用内存映射文件(共享内存方式)实现client/server架构进程间较大数据量的通信。
用VC编程,创建一个server进程和一个client进程,server进程用共享内存的名(lpName)调用CreateFileMapping()函数产生并初始化共享内存,client进程使用相同的共享内存的名来调用OpenFileMapping()函数,打开一个已命名的文件映射对象。
client进程先向共享存储区写信息,server进程再从共享存储区读信息,用信号量对象实现client和server进程间的同步。
二.与实验相关的API 介绍1. Windows进程控制API函数---CreateProcess函数当一个线程调用CreateProcess时,系统就会创建一个进程内核对象,为新进程创建一个虚拟地址空间,并将可执行文件加载到该进程的地址空间中。
然后系统再为新进程的主线程创建一个线程内核对象。
通过执行启动代码,该主线程便开始运行,它最终调用WinMain、wWinMain、main或wmain函数。
如果系统成功地创建了新进程和主线程,该函数便返回TRUE。
格式:BOOL CreateProcess( PCTSTR pszAppliCationName ,PTSTR pszCommandLine ,PSECURITY_ATTRIBUTES pSaProcess ,PSECURITY_ATTRIBUTES psaThread , BOOL bInheritHandles ,DWORD fdwCreate , PVOID pvEnvironment , PCTSTR pszCurDir ,PSTARTUPINF0 psiStartInfo , PPROCESS_INFORMATION ppiProcInfo ) ;参数:pszAppicationName:参数用于设定新进程将要使用的可执行文件的名字,该参数99%以上的情况是NULL。