国开电大操作系统实验:进程管理实验报告.pdfVIP

  • 2
  • 0
  • 约3.41千字
  • 约 7页
  • 2026-03-09 发布于河南
  • 举报

国开电大操作系统实验:进程管理实验报告.pdf

国开电大操作系统实验2:进程管理实验报告

实验目的

进程管理是操作系统核心功能之一,本实验旨在通过实践加深对进程概

念、进程状态转换、进程调度算法等理论知识的理解,掌握进程创建、撤销、

同步与通信的基本方法。

实验环境

操作系统:LinuxUbuntu20.04

编程语言:C语言

开发工具:GCC编译器、Vim编辑器

实验平台:国开电大在线实验系统

实验内容

一、进程创建与撤销

1.使用fork()系统调用创建子进程

2.观察父子进程的执行顺序

3.使用exit()和wait()系统调用实现进程的正常终止

示例代码:

#includestdio.h

#includeunistd.h

#includesys/wait.h

#includestdlib.h

intmain(){

pid_tpid;

intstatus;

printf(父进程开始,PID=%d\n,getpid());

pid=fork();

if(pid0){

perror(fork失败);

exit(1);

}elseif(pid==0){

//子进程

printf(子进程运行,PID=%d,父进程PID=%d\n,

getpid(),getppid());

sleep(2);

printf(子进程结束\n);

exit(0);

}else{

//父进程

printf(父进程等待子进程结束\n);

wait(status);

printf(子进程退出状态:%d\n,WEXITSTATUS(status));

printf(父进程结束\n);

}

return0;

}

二、进程状态监控

使用ps命令监控进程状态变化:

#查看进程状态

ps-aux|grep进程名

#实时监控进程

top-p进程PID

三、进程调度算法实践

实现简单的先来先服务(FCFS)调度算法:

#includestdio.h

structProcess{

intpid;//进程ID

intburst_time;//执行时间

intwaiting_time;//等待时间

intturnaround_time;//周转时间

};

voidfcfs_scheduling(structProcessprocesses[],intn){

processes[0].waiting_time=0;

processes[0].turnaround_time=processes[0].burst_time;

for(inti=1;in;i++){

processes[i].waiting_time=processes[i-1].turnaround_time;

processes[i].turnaround_time=processes[i].waiting_time+

processes[i].burst_time;

}

}

实验步骤

步骤1:进程创建实验

1.编写创建进程的C程序

2.编译并运行程序

3.观察输出结果,分析父子进程关系

步骤2:进程状态观察

1.在程序运行期间使用ps命令查看进程状态

2.记录进程的状态变化过程

3.分析进程状态转换的原因

步骤3:调度算法实现

1.设计

文档评论(0)

1亿VIP精品文档

相关文档