91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 691KB
    文件類型: .rar
    金幣: 2
    下載: 0 次
    發(fā)布日期: 2024-01-27
  • 語言: C/C++
  • 標簽:

資源簡介

這個是我操作系統(tǒng)課設的進程管理模塊,用c++做的,希望對你有用

資源截圖

代碼片段和文件信息

#include?“stdafx.h“
#include?“stdio.h“??
#include?“stdlib.h“??
#include?“string.h“
#include?“iostream.h“
#include??//要用到格式控制符
//定義“空”
#define?null?0
//定義不再切割的剩余分區(qū)大小
#define?size?5
//定義內存總量大小
#define?memory_totalsize?100
//定義時間片
#define??TIME_PIECE?5
//定義優(yōu)先級減少的數量
#define?PRIORITY?0

//定義進程結構體
struct?process
{
char?name[40];//進程名字
float?memory_need;//進程所需內存
char?state[10];?//進程狀態(tài)?
int?priorty;??//優(yōu)先級
int?alltime;??//總共所需運行時間
int?cputime;??//該進程在CPU中運行的總時間
struct?process?*next;//指向下一個進程
}*process_ready?*process_blocked?*process_e;????//將正在執(zhí)行的進程設置為一全局變量

//定義內存分配結構體
struct?memory_allocation
{
struct?memory_allocation?*forward;//指向前一個空間
char?process_name[40];//進程名
float?start_address;//進程開始地址
float?memory_size;//進程占用內存大小
int?state;//內存占用狀態(tài)
struct?memory_allocation?*after;//指向后一個空間
}*free_chain;



void?process_excute();//把就緒隊列的第一個轉換成執(zhí)行狀態(tài)
void?process_ready_delete();//在就緒隊列刪除一個進程
void?process_blocked_delete();//在阻塞隊列中刪除一個進程
struct?memory_allocation?*memory_largestselect();
int?process_createjudge(struct?process?*process_temp);
void?memory_allo(struct?process?*temp_process);
void?memory_free(struct?process?*temp_process);
struct?memory_allocation?*memory_bestselect(struct?process?*temp_process);
void?process_display();//顯示系統(tǒng)中所有進程的信息
void?process_end();//終止正在運行的進程
void?sort_process_ready(process?*p);//按優(yōu)先級把進程插入到就緒鏈表的適當位置
void?sort_process_block(process?*p);


//初始化內存
void?memory_init(){
free_chain?=?(struct?memory_allocation?*)malloc(sizeof(struct?memory_allocation));//分配空間
strcpy(free_chain->process_name?“null“);
free_chain->start_address?=?0;
free_chain->memory_size?=?memory_totalsize;
free_chain->state?=?0;
free_chain->forward?=?null;
free_chain->after?=?null;
}

//創(chuàng)建進程函數?process_create()
void?process_create()
{
struct?process?*process_temp?*process_p;

//申請內存空間并賦值
process_temp?=?(struct?process?*)malloc(sizeof(struct?process));
printf(“\n創(chuàng)建進程:\n“);
printf(“請輸入所要創(chuàng)建的進程的“名字”:?“);
scanf(“%s“process_temp->name);

do{
printf(“請輸入所要創(chuàng)建的進程“內存需求(0 scanf(“%f“&process_temp->memory_need);
}while((process_temp->memory_need)<=0);

do{
printf(“請輸入所要創(chuàng)建的進程的“優(yōu)先級(0 scanf(“%d“&process_temp->priorty);
}while((process_temp->priorty)<=0||(process_temp->priorty)>10);

do{
printf(“請輸入所要創(chuàng)建的進程總共所需的“運行時間(0 scanf(“%d“&process_temp->alltime);
}while((process_temp->alltime)<=0||(process_temp->alltime)>=50);


strcpy(process_temp->state“ready“);//剛創(chuàng)建的進程設置成ready態(tài)
process_temp->cputime=0;//剛創(chuàng)建的進程在CPU中運行了0次

process_temp->next?=?null;

int?temp?=?process_createjudge(process_temp);
if(temp?==?0){
//分配內存
memory_allo(process_temp);

//將新建的進程加入到就緒隊列中
if(process_ready?==?null){//如果就緒隊列為空,那么把新進程加到就緒隊列的第一位
process_ready?=?process_temp;
}else{//如果就緒隊列不為空,那么按優(yōu)先級把新進程加到就緒隊列的適當位置
sort_process_ready(process_temp);
}

printf(“進程?%s?已經創(chuàng)建成功并加入到就緒隊列中...\n“?process

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件?????451584??2008-11-13?18:16??操作系統(tǒng)進程管理模擬\Debug\process.bsc

?????文件?????225409??2010-12-24?09:07??操作系統(tǒng)進程管理模擬\Debug\process.exe

?????文件?????311748??2010-12-24?09:07??操作系統(tǒng)進程管理模擬\Debug\process.ilk

?????文件??????44240??2010-12-24?09:07??操作系統(tǒng)進程管理模擬\Debug\process.obj

?????文件????2075512??2010-12-21?19:51??操作系統(tǒng)進程管理模擬\Debug\process.pch

?????文件?????582656??2010-12-24?09:07??操作系統(tǒng)進程管理模擬\Debug\process.pdb

?????文件??????????0??2008-11-13?18:16??操作系統(tǒng)進程管理模擬\Debug\process.sbr

?????文件???????2261??2008-11-12?22:47??操作系統(tǒng)進程管理模擬\Debug\StdAfx.obj

?????文件???????4073??2008-11-12?22:47??操作系統(tǒng)進程管理模擬\Debug\StdAfx.sbr

?????文件?????148480??2010-12-24?09:07??操作系統(tǒng)進程管理模擬\Debug\vc60.idb

?????文件?????118784??2010-12-24?09:07??操作系統(tǒng)進程管理模擬\Debug\vc60.pdb

?????文件??????26872??2010-12-24?09:08??操作系統(tǒng)進程管理模擬\process.cpp

?????文件???????3413??2010-12-24?09:07??操作系統(tǒng)進程管理模擬\process.dsp

?????文件????????539??2010-12-24?09:10??操作系統(tǒng)進程管理模擬\process.dsw

?????文件??????58368??2010-12-24?09:10??操作系統(tǒng)進程管理模擬\process.ncb

?????文件??????48640??2010-12-24?09:10??操作系統(tǒng)進程管理模擬\process.opt

?????文件???????2079??2010-12-24?09:07??操作系統(tǒng)進程管理模擬\process.plg

?????文件???????2506??2008-11-13?18:22??操作系統(tǒng)進程管理模擬\ReadMe.txt

?????文件????????294??2008-11-12?22:44??操作系統(tǒng)進程管理模擬\StdAfx.cpp

?????文件????????769??2008-11-12?22:44??操作系統(tǒng)進程管理模擬\StdAfx.h

?????目錄??????????0??2010-12-24?09:07??操作系統(tǒng)進程管理模擬\Debug

?????目錄??????????0??2010-12-24?09:10??操作系統(tǒng)進程管理模擬

-----------?---------??----------?-----??----

??????????????4108227????????????????????22


評論

共有 條評論

相關資源