资源简介
模拟操作系统进程管理,存储管理和文件管理等功能,界面为dos选择界面。
代码片段和文件信息
#include“file_system.h“
#include“memory_management.h“
#include“process_dispatch.h“
void File_menu();
void Memory_menu();
void Process_menu();
int ff = 0;//标记内存管理
//文件管理
void File_menu()
{
char command[100];
int flag;
char way[100];
char cway[100];
while(1)
{
printf(“%s:>“path);
scanf(“%s“command);
if(strcmp(command“exit“) == 0)
break;
if(strcmp(command“dir“) != 0 && strcmp(command“help“) != 0)
scanf(“%s“way);
if(strcmp(command“copy“) == 0)
{
scanf(“%s“cway);
Is_copy = 1;
}
else
Is_copy = 0;
flag = order(command);
switch(flag)
{
case 1:
Make_Dir(way);
break;
case 2:
Delete_Dir(way);
break;
case 3:
Change_Dir(way);
break;
case 4:
Show_Dir();
break;
case 5:
Create_File(way);
break;
case 6:
Show_Content_File(way);
break;
case 7:
Change_Property_File(way);
break;
case 8:
Close_File(way);
break;
case 9:
Open_File(way);
break;
case 10:
Read_File(way);
break;
case 11:
Write_File(way);
break;
case 12:
Delete_File(way);
break;
case 13:
Copy_File(waycway);
break;
case 14:
Help();
break;
default:
printf(“命令错误!可输入help获取帮助\n“);
break;
}
}
}
//内存管理
void Memory_menu()
{
int flag = 1;
int slect;
if(ff == 0)
{
CreateMemory();
InitProcess(&process);
CreateProcess();
ApplyMemory();
system(“cls“);
}
while(flag)
{
printf(“\t\t\t 1.申请内存\n“);
printf(“\t\t\t 2.回收内存\n“);
printf(“\t\t\t 3.显示内存信息\n“);
printf(“\t\t\t 4.显示进程页表信息\n“);
printf(“\t\t\t 5.地址转换\n“);
printf(“\t\t\t 6.退出\n“);
printf(“请选择:“);
scanf(“%d“&slect);
switch(slect)
{
case 1:
system(“cls“);
Apply();
break;
case 2:
system(“cls“);
Recycle();
break;
case 3:
system(“cls“);
PrintMemory();
break;
case 4:
system(“cls“);
PrintProcessSegment();
break;
case 5:
system(“cls“);
AddressExchange();
break;
case 6:
flag = 0;
break;
default:
printf(“输入错误请重新选择!\n“);
break;
}
}
}
//进程调度
void Process_menu()
{
int i = 0;
PCB *r;
r = process->next;
printf(“请选择调度方法:\n1:FCFS 2: PRIORITY\n“);
scanf(“%d“&i);
if(!r)
{
free(process);
switch(i)
{
case 1:
flag = 1;
CreateList(pcb_ready);
Show_State(pcb_readypcb_runningpcb_finished);
printf(“\n开始调度:\n“);
Dispatch_FCFS(pcb_readypcb_runningpcb_finished);
Show_State(pcb_readypcb_runningpcb_finished);
break;
case 2:
flag = 2;
CreateList(pcb_ready);
Show_State(pcb_readypcb_runningpcb_finished);
printf(“\n开始调度:\n“);
Dispatch_PRI(pcb_readypcb_runningpcb_finished);
Show_State(pcb_readypcb_runningpcb_finished);
break;
default:
break;
}
free(pcb_running);
free(pcb_ready);
free(pcb_finished);
ff = 0;
}
else
{
switch(i)
{
case 1:
flag = 1;
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2014-04-07 20:07 OS_TEST4\
目录 0 2014-04-07 20:07 OS_TEST4\Debug\
文件 237677 2014-03-08 09:44 OS_TEST4\Debug\OS_TEST4.exe
文件 298332 2014-03-08 09:44 OS_TEST4\Debug\OS_TEST4.ilk
文件 3666992 2014-03-08 09:44 OS_TEST4\Debug\OS_TEST4.pch
文件 607232 2014-03-08 09:44 OS_TEST4\Debug\OS_TEST4.pdb
文件 111319 2014-03-08 09:44 OS_TEST4\Debug\main.obj
文件 148480 2014-03-08 09:44 OS_TEST4\Debug\vc60.idb
文件 77824 2014-03-08 09:44 OS_TEST4\Debug\vc60.pdb
文件 4507 2013-06-29 10:47 OS_TEST4\OS_TEST4.dsp
文件 541 2013-06-29 10:08 OS_TEST4\OS_TEST4.dsw
文件 91136 2014-03-08 09:44 OS_TEST4\OS_TEST4.ncb
文件 54784 2014-03-08 09:44 OS_TEST4\OS_TEST4.opt
文件 891 2014-03-08 09:44 OS_TEST4\OS_TEST4.plg
文件 23591 2013-06-29 11:19 OS_TEST4\file_system.h
文件 4509 2014-03-08 09:44 OS_TEST4\main.cpp
文件 24312 2013-07-17 16:53 OS_TEST4\memory_management.h
文件 10636 2013-07-04 18:44 OS_TEST4\process_dispatch.h
- 上一篇:OpenGL soil库与布置方法,位置
- 下一篇:安卓无线点餐源代码
相关资源
- 信息学奥赛模拟题普及组+提高组
- 模拟滑动窗口协议的1bit滑动窗口协议
- ModbusPoll安装包32位
- 系统规划与管理师马老师模拟题
- AGV模拟无人机器人搬运
- 2.83版小凡模拟器 DynamipsGUI 中文最新版
- RTAI Linux实时操作系统原理剖析
- 杭电操作系统实验一--linux内核编译添
- 非数值并行算法第一册——模拟退火
- 模拟电子技术康华光版课件全
- 操作系统概念第七版配套PPT
- 中科大高级操作系统资料
- 波动方程正演模拟软件seismod
- Unity太阳系模拟
- 计算机组成原理课程设计复杂模拟机
- Ansys 理论手册
- 带UCOS操作系统的STM32平衡车PWM
- 何炎祥高级操作系统PDF全
- 全套清华大学操作系统课件
- arm平台可用的RTOS_Nucleus操作系统源码
- WEBOS 网络操作系统
- 实验一shell实验报告
- 《操作系统概念》第七版 影印版高等
- 金庸群侠传OL1.0易语言模拟器全套资料
- abaqus模拟
- 内燃机工作过程数值模拟
- S3C2440平台操作系统内核设计与实现
- 瓶颈资源之模拟与改善分析--以LCD生产
- AWS Developer Associate 模拟题库
- 中北大学软件学院操作系统课程设计
评论
共有 条评论