操作系统课程设计

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

running[pid1].detail = running[pid2].detail; running[pid2].pid = ready[20].pid; running[pid2].priority = ready[20].priority; running[pid2].size = ready[20].size; running[pid2].detail = ready[20].detail; cout << "替换完成" << endl; cout << "被替换进程的 pid 是:"<< ready[20].pid<<endl; cout << "被替换进程的优先级是:", ready[20].priority; cout << "被替换进程的大小是:"<< ready[20].size<<endl; cout << "被替换进程的详情是:"<< ready[20].detail<<endl;
ready[20].size = running[pid1].size; ready[20].detail = running[pid1].detail; running[pid1].pid = running[pid2].pid; running[pid1].priority = running[pid2].priority; running[pid1].size = running[pid2].size;
{ cout << "进程的 pid 是:"<< running[pid].pid<<endl; cout << "进程的优先级是:"<< running[pid].priority<<endl; cout << "进程的大小是:"<< running[pid].size<<endl;
cout << "进程的相关信息:"<< running[pid].detail<<endl; } else { cout << "所查看运行进程不存在" << endl; } choose(); } void replace() { int pid1, pid2; cout << "请输入第一个替换进程的 pid" << endl; cin >> pid1; cout << "请输入第二个替换进程的 pid" << endl; cin >> pid2;
操作系统课程设计
任务一、进程创建、控制与撤消
一、 目的: 通过进程的创建和控制的设计来达到如下目的:
1、加深对进程概念的理解,明确进程和程序的区别; 2、进一步认识并发执行的概念,区别顺序执行和并发执行; 3、分析进程争用临界资源的现象,学习解决进程互斥的方法; 二、 内容: 在 WINDOWS 环境下模拟实验: 1、编写一程序,来模拟进程的创建和撤消,要求通过终端键盘输入三、四 作业的名称、大小、优先级等。系统为它创建进程,并把进程控制块 PCB 的 内容送到终端显示器上输出。 2、同时模拟内存空间为作业分配内存空间,并把结果用图形形象地表示出 来,同样通过终端输出。 3、按进程的优先级的顺序撤消进程,同时通过终端显示 PCB 的撤消过程和 内存的释放过程 程序流程图:
{ if (sum >= 20)
{ cout << "内存已满,请先结束或换出进程" << endl;
} else { cout << "请输入第" << sum + 1 << "个进程"<<endl; cout << "请输入进程的 pid" << endl;
cin >> running[sum + 1].pid; cout << "请输入新的进程的优先级" << endl; cin >> running[sum + 1].priority; cout << " 请输入新的进程的大小" << endl; cin >> running[sum + 1].size; cout << " 请输入新的进程的详情" << endl; cin >> running[sum + 1].detail; running[sum + 1].isrun = 1;
源代码如下: #include<iostream>; using namespace std; struct PCB
{ int pid; int priority; int size; int detail; int isrun;
}; PCB running[20], ready[20]; int sum = 0, pid_1; void choose(); void menu(); int create()
}
else
{
cout << "进程优先级不够大"<<endl;
}
}
else {cout << "所查看运行进程不存在"<<endl; } choose(); } void kill() { int kpid; cout << "请输入进程的 pid:"; cin >> kpid;
if (kpid > 0 && kpid < 20 && running[kpid].isrun == 1) { running[kpid].isrun = 0; } choose(); } void choose() { int choose; cout << "是否继续操作?继续,请输入 1,退出:按任意键" << endl; cout << "请输入你的选择:";
sum++; } return running[sum - 1].isrun; choose();
} void display() {
int pid; cout << "请输入进程的 pid" << endl; cin >> pid;
if (pid > 0 && pid <= 20 && running[pid].isrun == 1)
if (pid1 > 0 && pid1 <= 20 && running[pid1].isrun == 1)
{
if (running[pid1].priority > running[pid2].priority)
{
wk.baidu.com
ready[20].pid = running[pid1].pid;
ready[20].priority = running[pid1].priority;
相关文档
最新文档