操作系统实验报告:
:
源代码:
// : Defines the entry point for the console application.
//
#include ""
#include ""
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
void GetMemSta(void);
/////////////////////////////////////////////////////////////////////////////
// The one and only application object
CWinApp theApp;
using namespace std;
int _tmain(int argc, TCHAR* argv[], TCHAR* envp[])
{
int nRetCode = 0;
LPVOID BaseAddr ;
char *str ;
GetMemSta();
printf("Now Allocate 32M Virtual Memory and 2M Physical Memory\n\n") ;
BaseAddr = VirtualAlloc(NULL,1024*1024*32,MEM_RESERVE|MIT,PAGE_READWRITE) ;//分配虚拟内存
if (BaseAddr == NULL)
printf ("Virtual Allocate Fail\n") ;
str = (char * )malloc(1024*1024*2) ; //分配内存
GetMemSta() ;
printf("Now Release 32M Virtual Memory and 2M Physical Memory\n\n") ;
if (VirtualFree(BaseAddr,0,MEM_RELEASE) == 0) //释放虚拟内存
printf("Release Allocate Fail\n");
free (str) ; //释放内存
GetMemSta() ;
return nRetCode;
}
void GetMemSta(void) //统计内存的状态
{
MEMORYSTATUS MemInfo ;
GlobalMemoryStatus (&MemInfo) ;
printf("\t Current Memory Status is : \n") ;
printf("\t Total Physical Memory is % dMB\n",MemInfo. dwTotalPhys/(1024*1024)) ;
printf("\t Available Physical Memory is % dMB\n",/(1024*1024));
printf("\t Total Page File is % dMB\n",MemInfo. dwTotalPageFile/(1024*1024)) ;
printf("\t Available Page File is % dMB\n",MemInfo. dwAvailPageFile/(1024*1024)) ;
printf("\t Total Virtual Memory is % dMB\n",MemInfo. dwTotalVirtual/(1024*1024)) ;
printf("\t Available Virtual Memory is % dMB\n",MemInfo. dwAvailVirtual/(1024*1024)) ;
printf("\t Memory Load is % d% %\n\n",MemInfo. dwMemoryLoad) ;
}
运行截图:
,用c语言编程实现:
源代码:
#include<>
#include<>
#include<>
#include<>
/*先来先服务(FCFS)*/
void FCFS(int a[], int n)
{
int sum = 0, i, j, now;
printf("请输入当前磁道号:\n");
scanf("%d", &now);
sum += abs(a
操作系统实验报告-2014012244-杨紫淇 来自淘豆网m.daumloan.com转载请标明出处.