文件名称:《操作系统实训》指导书
文件大小:265KB
文件格式:DOC
更新时间:2014-04-19 10:45:23
《操作系统实训》指导书
《操作系统实训》指导书 本实训的内容为实现一个模拟操作系统。要求使用实验室所提供的安装有C语言编程环境的计算机,模拟采用多道程序设计方法的单用户操作系统,该操作系统包括进程管理、存储管理、设备管理和文件管理四部分。 include "windows.h" #include "conio.h" #include "stdio.h" #define MAX 20 //定义缓冲池的最大容量是20 int count=5; //初始产品的数量为5 void Proclucer()//生产者函数 { while(1) { if(count >= MAX) { printf("缓冲池已满!等待 1 秒!\n"); Sleep(3000); } else { count++; printf("生产了一个产品!当前产品的总数量是: %d\n\n",count); Sleep(1300); //注意毫秒为单位 } } } void Consumer() //消费者函数 { while(1) { if(count == 0) { printf("缓冲池已空!等待 2 秒!\n"); Sleep(2000); } else { count--; printf("取出了一个产品!当前产品的数量是: %d \n\n",count); Sleep(2000); } } } HANDLE ahThread; HANDLE bhThread; HANDLE hThread; int tStop() //停止函数 { int l=getchar(); return l; } void Start() //开始函数 { ahThread=CreateThread(NULL,0,(LPTHREAD_START_ROUTINE)Proclucer,NULL,0,NULL); bhThread=CreateThread(NULL,0,(LPTHREAD_START_ROUTINE)Consumer,NULL,0,NULL); hThread=CreateThread(NULL,0,(LPTHREAD_START_ROUTINE)tStop,NULL,0,NULL); //多线程 int IsStop=tStop(); if(IsStop==0) //满足停止条件 { CloseHandle(ahThread); CloseHandle(bhThread); CloseHandle(hThread); } } void shengcanzexiaofeize() //主函数 { printf("**********会出现返回不了主界面的情况*********************"); Start(); //开始 printf("\n"); }