班级:姓名:
学号:实验二:进程压力测试。
1.实验要求。
1)用循环的办法产生所要求的进程(线程),循环的退出条件是不能产生进程时,即createprocess()返回0时,统计产生的进程(线程)数目;
2)子进程的运行方式分别考虑:子进程挂起或睡眠,挂起操作在父进程通过create_suspended选项完成;子进程死循环,即父进程产生子进程后子进程立即执行,并且执行一个死循环。
3)在进程被赋予不同的优先级情况下的结果。
/ proccreate项目。
# include <>
# include
# include <>
/ 创建传递过来的进程的克隆过程并赋于其id值。
void startclone(int ncloneid)
// 提取用于当前可执行文件的文件名。
tchar szfilename[max_path] ;
:: getmodulefilename(null, szfilename, max_path) ;
// 格式化用于子进程的命令行并通知其exe文件名和克隆id
tchar szcmdline[max_path] ;
:: sprintf(szcmdline, "s\" d", szfilename, ncloneid) ;
// 用于子进程的startupinfo结构。
startupinfo si;
:: zeromemory(reinterpret_cast (&si) ,sizeof(si) )
= sizeof(si必须是本结构的大小。
// 返回的用于子进程的进程信息。
process_information pi;
// 利用同样的可执行文件和命令行创建进程,并赋于其子进程的性质。
bool bcreateok = createprocess(
szfilename产生这个exe的应用程序的名称。
szcmdline告诉其行为像一个子进程的标志。
null缺省的进程安全性。
null缺省的线程安全性。
false不继承句柄。
create_new_console使用新的控制台。
null新的环境。
null当前目录。
&si启动信息。
&pi返回的进程信息。
// 对子进程释放引用。
if (bcreateok)
int main(int argc, char* ar**
// 确定进程在列表中的位置。
int nclone(0) ;
if (argc > 1)
// 显示进程位置。
std ::cout < << clone id: "nclone << std ::endl; // 检查是否有创建子进程的需要。 const int c_nclonemax = 25; if (nclone < c_nclonemax) // 在终止之前暂停一下 (l/2秒) :: sleep(10000) ; return 0; 结果分析:利用同样的可执行文件和命令行创建子进程,并赋于其子进程的性质,createprocess()返回0时,能得到进程个数为25个,如图,在进程产生过程中cup使用率高。 实验三:使用互斥对象实现线程同步。 两个线程对同一个变量进行访问,其中一个线程对变量做加1操作,一个线程对其做减1操作。改变其数值后将该数值写入输出流中。 分析:不作同步操作和采用同步操作将分别出现什么现象。 / mutex项目。 # include <> # include / 利用互斥体来保护同时访问的共享资源。 class ccountupdown public: 创建者创建两个线程来访问共享值。 ccountupdown(int naccesses) 解除程序释放对对象的引用。 virtual ~ccountupdown() 简单的等待方法,在两个线程终止之前可暂停主调者。 virtual void waitforcompletion() protected: 改变共享资源的简单的方法。 virtual void docount(int nstep) static dword winapi incthreadproc(lpvoid lpparam) static dword winapi decthreadproc(lpvoid lpparam) 将参数解释为 'this' 指针。 ccountupdown* pthis = reinterpret_cast (lpparam) ; 一 填空 14分 1 在设备管理中,为了克服独占设备速度较慢 降低设备资源利用率的缺点,引入了虚拟分配技术即用共享设备模拟独占设备。2 常用的内存管理方法有和。3 动态存储分配时,要靠硬件地址变换机构实现重定位。4 在存储管理中常用虚拟存储器方式来摆脱主存容量的限制。5 在页式管理中,页式虚地址与内... 一 填空 14分 1 在设备管理中,为了克服独占设备速度较慢 降低设备资源利用率的缺点,引入了即用共享设备模拟独占设备。2 常用的内存管理方法有和。3 动态存储分配时,要靠硬件地址变换机构实现。4 在存储管理中常用方式来摆脱主存容量的限制。5 在页式管理中,页式虚地址与内存物理地址的映射是由和完成的... 学号 091401223 姓名 高玉林 本次上机作业使用的软件是microsoft visual studio community 2017 rc,版本 15.0.26020.0,使用的语言是c 第一题 编写求f x 值的程序。f x f1 x f2 x f3 x f1 x 10 x f2 x 10...操作系统大作业a
操作系统大作业a
操作系统大作业