电子科大计算机操作系统实验报告级
电大操作系统(本科)实验报告1-5

中央广播电视大学计算机科学与技术专业操作系统(本科)实验报告院系:______ _________班级:___ _____学生:____ _________学号: _ _____指导教师:___ __ ___完成日期 2015 年月日2.弹出个对话框选择——下一步3.之后有两个对话框,咱们这里选——自定义,下一步4.设置完向导后双击CD-ROM1(IDE1:0)选项在连接选项卡中选择使用ISO映像并找到ubuntu映像位置5.确定之后单机命令标题下的——启动此虚拟机,选项,之后虚拟机出现在安装linux界面上(开始时英文,如果英语不太好的童鞋可按F2键选择中文,例如像me),之后就开始真正装linux了6.安装7.各种同意,下一步选择语言中文简体8.这里可以更改网络配置,下一步9.设置主机10.设置完整用户名和登录口令11.进行磁盘分区12.复制安装系统文件13.安装GRUB14.结束安装15.启动系统到登录界面16.进入系统17.由于关机需要root权限,需对root设置密码,并切换到root用户18.关闭系统七、实验结果分析:成功安装ubuntu,关机需要root权限,正确关机实训2一、实验题目:Linux 应用及shell编程二、实验目的和要求:目的1.掌握Linux一般命令格式和常用命令。
2.学会使用vi编辑器建立、编辑文本文件。
3.了解shell的作用和主要分类。
4.学会bash脚本的建立和执行方式。
5.理解bash的基本语法。
6.学会编写简单的shell脚本。
要求1.登录进入系统,修改个人密码。
2.使用简单命令:date,cal,who,echo,clear等,了解Linux命令格式。
3.进入vi。
建立一个文件,如file.c。
进入插入方式,输入一个C语言程序的各行容,故意制造几处错误。
最后,将该文件存盘。
回到shell状态下。
4.运行gcc file.c -o myfile,编译该文件,会发现错误提示。
《操作系统》实验报告

《操作系统》实验报告一、实验目的操作系统是计算机系统中最为关键的组成部分之一,本次实验的主要目的是深入理解操作系统的基本原理和功能,通过实际操作和观察,熟悉操作系统的核心概念,包括进程管理、内存管理、文件系统和设备管理等,提高对操作系统的实际应用能力和问题解决能力。
二、实验环境本次实验在以下环境中进行:操作系统:Windows 10开发工具:Visual Studio 2019编程语言:C++三、实验内容1、进程管理实验进程是操作系统中最基本的执行单元。
在这个实验中,我们使用C++编写程序来创建和管理进程。
通过观察进程的创建、执行和结束过程,理解进程的状态转换和资源分配。
首先,我们编写了一个简单的程序,创建了多个子进程,并通过进程标识符(PID)来跟踪它们的运行状态。
然后,使用等待函数来等待子进程的结束,并获取其返回值。
在实验过程中,我们发现进程的创建和销毁需要消耗一定的系统资源,而且进程之间的同步和通信需要谨慎处理,以避免出现死锁和竞争条件等问题。
2、内存管理实验内存管理是操作系统的核心功能之一,它直接影响系统的性能和稳定性。
在这个实验中,我们研究了动态内存分配和释放的机制。
使用 C++中的 new 和 delete 操作符来分配和释放内存。
通过观察内存使用情况和内存泄漏检测工具,了解了内存分配的效率和可能出现的内存泄漏问题。
同时,我们还探讨了内存分页和分段的概念,以及虚拟内存的工作原理。
通过模拟内存访问过程,理解了页表的作用和地址转换的过程。
3、文件系统实验文件系统是操作系统用于管理文件和目录的机制。
在这个实验中,我们对文件的创建、读写和删除进行了操作。
使用 C++的文件流操作来实现对文件的读写。
通过创建不同类型的文件(文本文件和二进制文件),并对其进行读写操作,熟悉了文件的打开模式和读写方式。
此外,还研究了文件的权限设置和目录的管理,了解了如何保护文件的安全性和组织文件的结构。
4、设备管理实验设备管理是操作系统与外部设备进行交互的桥梁。
电大操作系统实验报告3_ 进程管理实验

电大操作系统实验报告3_ 进程管理实验电大操作系统实验报告 3 进程管理实验一、实验目的进程管理是操作系统的核心功能之一,本次实验的目的是通过实际操作和观察,深入理解进程的概念、状态转换、进程调度以及进程间的通信机制,掌握操作系统中进程管理的基本原理和方法,提高对操作系统的整体认识和实践能力。
二、实验环境本次实验使用的操作系统为 Windows 10,编程语言为 C 语言,开发工具为 Visual Studio 2019。
三、实验内容及步骤(一)进程的创建与终止1、编写一个 C 程序,使用系统调用创建一个子进程。
2、在父进程和子进程中分别输出各自的进程 ID 和父进程 ID。
3、子进程执行一段简单的计算任务,父进程等待子进程结束后输出结束信息。
以下是实现上述功能的 C 程序代码:```cinclude <stdioh>include <stdlibh>include <unistdh>int main(){pid_t pid;pid = fork();if (pid < 0) {printf("创建子进程失败\n");return 1;} else if (pid == 0) {printf("子进程:我的进程 ID 是%d,父进程 ID 是%d\n",getpid(), getppid());int result = 2 + 3;printf("子进程计算结果:2 + 3 =%d\n", result);exit(0);} else {printf("父进程:我的进程 ID 是%d,子进程 ID 是%d\n",getpid(), pid);wait(NULL);printf("子进程已结束\n");}return 0;}```编译并运行上述程序,可以观察到父进程和子进程的输出信息,验证了进程的创建和终止过程。
(二)进程的状态转换1、编写一个 C 程序,创建一个子进程,子进程进入睡眠状态一段时间,然后被唤醒并输出状态转换信息。
《操作系统》实验报告

一、实验目的1. 理解进程的概念及其在操作系统中的作用。
2. 掌握进程的创建、调度、同步和通信机制。
3. 学习使用进程管理工具进行进程操作。
4. 提高对操作系统进程管理的理解和应用能力。
二、实验环境1. 操作系统:Windows 102. 软件环境:Visual Studio 20193. 实验工具:C++语言、进程管理工具(如Task Manager)三、实验内容1. 进程的创建与销毁2. 进程的调度策略3. 进程的同步与互斥4. 进程的通信机制四、实验步骤1. 进程的创建与销毁(1)创建进程使用C++语言编写一个简单的程序,创建一个新的进程。
程序如下:```cpp#include <iostream>#include <windows.h>int main() {// 创建进程STARTUPINFO si;PROCESS_INFORMATION pi;ZeroMemory(&si, sizeof(si));si.cb = sizeof(si);ZeroMemory(&pi, sizeof(pi));// 创建进程if (!CreateProcess(NULL, "notepad.exe", NULL, NULL, FALSE, 0, NULL, NULL, &si, &pi)) {std::cout << "创建进程失败" << std::endl;return 1;}std::cout << "进程创建成功" << std::endl;// 等待进程结束WaitForSingleObject(pi.hProcess, INFINITE);// 销毁进程CloseHandle(pi.hProcess);CloseHandle(pi.hThread);return 0;}```(2)销毁进程在上面的程序中,通过调用`WaitForSingleObject(pi.hProcess, INFINITE)`函数等待进程结束,然后使用`CloseHandle(pi.hProcess)`和`CloseHandle(pi.hThread)`函数销毁进程。
《操作系统》课内实验报告

《操作系统》课内实验报告一、实验目的本次《操作系统》课内实验的主要目的是通过实际操作和观察,深入理解操作系统的基本原理和功能,掌握常见操作系统命令的使用,提高对操作系统的实际应用能力和问题解决能力。
二、实验环境本次实验在计算机实验室进行,使用的操作系统为 Windows 10 和Linux(Ubuntu 发行版)。
实验所使用的计算机配置为:Intel Core i5 处理器,8GB 内存,500GB 硬盘。
三、实验内容1、进程管理在 Windows 系统中,通过任务管理器观察进程的状态、优先级、CPU 使用率等信息,并进行进程的结束和优先级调整操作。
在 Linux 系统中,使用命令行工具(如 ps、kill 等)实现相同的功能。
2、内存管理使用 Windows 系统的性能监视器和资源监视器,查看内存的使用情况,包括物理内存、虚拟内存的占用和分配情况。
在 Linux 系统中,通过命令(如 free、vmstat 等)获取类似的内存信息,并分析内存的使用效率。
3、文件系统管理在 Windows 系统中,对文件和文件夹进行创建、复制、移动、删除等操作,了解文件的属性设置和权限管理。
在 Linux 系统中,使用命令(如 mkdir、cp、mv、rm 等)完成相同的任务,并熟悉文件的所有者、所属组和权限设置。
4、设备管理在 Windows 系统中,查看设备管理器中的硬件设备信息,安装和卸载设备驱动程序。
在 Linux 系统中,使用命令(如 lspci、lsusb 等)查看硬件设备,并通过安装内核模块来支持特定设备。
四、实验步骤1、进程管理实验(1)打开 Windows 系统的任务管理器,切换到“进程”选项卡,可以看到当前系统中正在运行的进程列表。
(2)选择一个进程,右键点击可以查看其属性,包括进程 ID、CPU 使用率、内存使用情况等。
(3)通过“结束任务”按钮可以结束指定的进程,但要注意不要随意结束系统关键进程,以免导致系统不稳定。
计算机操作系统实训报告范文

计算机操作系统实训报告范文英文版Computer Operating System Practical Training Report SampleIntroductionIn this report, I will discuss the practical training I underwent in the computer operating system course. The training involved hands-on experience with various operating systems, including Windows, Linux, and MacOS. I will provide an overview of the tasks I completed during the training, as well as the skills I acquired.Tasks CompletedDuring the practical training, I completed a series of tasks aimed at familiarizing myself with the different operating systems. These tasks included installing and configuring the operating systems, managing user accounts, setting up network connections, and troubleshooting common issues. I also learned how to use command line interfaces and perform system maintenance tasks.Skills AcquiredThrough the practical training, I acquired a range of skills that will be valuable in my future career as a computer scientist. I learned how to navigate and customize different operating systems, troubleshoot software and hardware issues, and optimize system performance. I also gained experience working with virtual machines and remote access tools, which will be useful in a variety of professional settings.ConclusionOverall, the practical training in the computer operating system course was a valuable learning experience. I gained a deeper understanding of how operating systems work and developed practical skills that will benefit me in my future career. I lookforward to applying what I have learned in future projects and continuing to expand my knowledge in this field.英文版计算机操作系统实训报告范文介绍在这份报告中,我将讨论我在计算机操作系统课程中接受的实训。
计算机实验报告 操作系统

计算机实验报告操作系统计算机实验报告:操作系统引言:操作系统是计算机系统中最重要的组成部分之一,它负责管理和控制计算机的硬件资源,并为应用程序提供运行环境。
在本次实验中,我们通过对操作系统的学习和实践,深入了解了操作系统的原理和功能,并通过实验验证了这些理论知识。
一、实验目的本次实验的目的是通过实际操作和实验验证,加深对操作系统的理解,掌握操作系统的基本原理和功能。
二、实验环境我们使用了一台配置良好的计算机,安装了Windows 10操作系统。
实验中使用的软件包括Visual Studio Code、VMware Workstation等。
三、实验过程1. 操作系统的安装与配置我们首先进行了操作系统的安装与配置。
通过引导光盘或USB启动计算机,按照提示进行操作系统的安装。
在安装过程中,我们选择了适合我们计算机硬件配置的操作系统版本,并进行了一些必要的设置,如选择语言、时区等。
2. 操作系统的启动与关机在操作系统安装完成后,我们进行了操作系统的启动与关机实验。
我们观察了计算机启动时的各个阶段,了解了操作系统的启动过程。
同时,我们学习了正确的关机操作,避免数据丢失和硬件损坏。
3. 进程管理在进程管理实验中,我们学习了操作系统中的进程概念和进程管理的相关原理。
我们使用Visual Studio Code编写了一个简单的多线程程序,并观察了程序在操作系统中的运行情况。
通过实验,我们深入理解了进程的创建、调度和终止等过程。
4. 内存管理内存管理是操作系统中非常重要的一部分,它负责管理计算机的内存资源。
在内存管理实验中,我们学习了虚拟内存的概念和作用,并通过实验验证了虚拟内存的使用。
我们使用了一些工具和技术,如内存映射文件、分页机制等,来模拟和管理计算机的内存。
5. 文件系统文件系统是操作系统中用于管理和组织文件的一种机制。
在文件系统实验中,我们学习了文件系统的组织结构和文件的操作方法。
我们使用了一些命令和工具,如mkdir、ls、cd等,来创建、查看和删除文件和文件夹。
电子科技大学计算机操作系统—操作系统实验

附件1操作系统上机实验进程调度实验时间:16 机时实验验收时间:17~18周实验成绩:占总成绩的20%一、实验目的和要求1.目的进程是操作系统最重要的概念之一,进程调度又是操作系统核心的主要内容。
本实习要求学生独立地用高级语言编写和调试一个进程调度程序,模拟各种调度算法。
调度算法可任意选择或自行设计,例如,简单轮转法和优先数法等。
本实验可加深对于进程调度和各种调度算法的理解。
2.要求(1)设计一个有n(n≥8)个进程并行的进程调度程序。
每个进程由一个进程控制块(PCB)表示。
进程控制块通常应包含下述信息:进程名(或序号)、进程优先数、进程需要运行的时间、占用CPU的时间以及进程的状态等(要求包括4种基本状态:运行、就绪、阻塞、完成),PCB块的内容应根据调度算法的不同特点而增删。
(2)调度程序应包含3种或3种以上不同的调度算法,运行时可任意选一种,以利于各种算法的分析比较。
其中至少有一种为综合调度算法,并要求是自己设计的算法。
(3)系统应能直观、准确地动态显示(用动态的表或图)各进程状态和参数的变化情况,便于观察诸进程调度的动态显示过程。
(4)要求完成一个完整的软件系统,用户界面友好,操作简便,可采用菜单选择或图形用户界面(GUI)实现。
说明:在windows 环境下开发,也可用其它工具或软件实现进程调度过程的模拟。
要求画出至少一个综合调度算法的实现流程图。
二、调度算法1.算法本程序可选用来先服务(FCFS)算法、最短CPU运行期优先(SCBF)算法、最高优先权(HPF)算法、时间片轮转(RR)算法及多级反馈队列算法等对多个进程进行调度。
同时注意对自己设计的综合调度算法要认真分析其特点。
每个进程处于运行、就绪、等待、完成四种状态,并假定起始状态都是就绪状态。
为了便于处理,程序中进程的运行时间以时间片为单位计算。
各进程的优先数或轮转时间片数、以及进程需要运行的时间片数,均由伪随机数发生器产生。
进程控制块结构如下图所示:2.算法举例以两种典型算法为例说明实现的算法:⑴优先数法(动态优先数)系统中各进程的初始优先级与进程类型(前台或后台,交互或批处理,计算或I/O)有关。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
电子科技大学实验报告学生姓名:郫县LBJ 学号:指导教师:温柔可爱的刘杰彦实验地点:主楼A2-413 实验时间:2017年4月22日上午一、实验室名称:计算机学院主楼机房二、实验项目名称:进程与资源管理实验分工:郫县LBJ 进程管理设计郫县小胖子资源管理设计郫县威斯布鲁克进程调度与时钟中断设计三、实验学时:2四、实验原理:此处的实验原理在指导书上非常丰富,因此不照搬过来,主要写出所要使用到知识点,具体实现过程中的原理分析见报告第八部分“实验步骤”处。
(一)总体设计系统总体架构如图1所示,最右边部分为进程与资源管理器,属于操作系统内核的功能。
要求能够设计与实现一个简单的进程与资源管理器,具有如下功能:完成进程创建、撤销和进程调度;完成多单元 (multi_unit)资源的管理;完成资源的申请和释放;完成错误检测和定时器中断功能。
图1 系统总体结构(二) Test shell设计应具有的功能:1、从终端或者测试文件读取命令;2、将用户需求转换成调度内核函数(即调度进程和资源管理器);3、在终端或输出文件中显示结果:如当前运行的进程、错误信息等。
(三)进程管理设计1、进程状态与操作2、进程控制块结构PCB3、主要函数:创建进程、撤销进程(四)资源管理设计1、主要数据结构RCB2、请求资源3、释放资源(五)进程调度与时钟中断设计关键:使用基于优先级的抢占式调度策略,在同一优先级内使用时间片轮转算法。
参考课上ppt:五、实验目的:设计和实现进程与资源管理,并完成Test shell的编写,以建立系统的进程管理、调度、资源管理和分配的知识体系,从而加深对操作系统进程调度和资源管理功能的宏观理解和微观实现技术的掌握。
六、实验内容:设计与实现一个简单的进程与资源管理器,要求具有如下功能:完成进程创建、撤销和进程调度;完成多单元 (multi_unit)资源的管理;完成资源的申请和释放;完成错误检测和定时器中断功能。
通过编写测试脚本(test shell)来完成对进程与资源管理器的测试。
七、实验环境(设备、元器件):Windows 7、Visual Studio 2015八、实验步骤:(一)系统功能需求分析:(二)总体框架设计:1、具体原理和总体工作流程分析:首先,通过test shell从测试文件中读入各种命令。
然后,对命令进行分析,将用户的需求转换成调度内核函数,也就是说,通过调度进程和资源管理器,实现创建进程、撤销进程、进程调度、对资源进行管理、申请和释放资源、检测错误和定时器中断等功能,从而模拟一个操作系统对进程进行调度和对资源进行管理的过程。
最后,在终端或者输出文件中,把一系列操作后的结果显示出来,包括当前运行的进程、错误信息等。
2、相关方法和算法:(1) C语言中的结构struct,用来实现PCB、RCB等(2) C语言中的指针、链表操作,用来实现将PCB和RCB加入队列尾部、从队列中删除、转移至阻塞队列等操作,以及进程的调度执行等。
本实验中我们采用的带头结点的链表来实现各种操作。
(3)基于优先级的调度算法、时间片轮转调度算法、抢占式调度算法的综合应用。
3、模块调用关系:本实验中,我们组共编写了三个头文件(pcb.h、rcb.h、test_shell_data.h)和四个源文件(main.c、pcb.c、rcb.c、test_shell_data.c),因此可以分为主函数设计模块、进程管理设计模块、资源管理设计模块和test shell设计模块。
在主函数模块中,需要调用其他三个模块,如创建进程、展示父子子进程等操作,需要调用进程管理设计模块;调度算法的执行、展示各种队列等,需要调用test shell设计模块;在进程管理设计模块中,像销毁PCB等操作,需要执行对RCB的释放,则需调用testshell设计模块;在资源管理设计模块中,提供一些最小的操作,不调用其他模块;在test shell设计模块中,设计到对资源和进程的各种操作,需要调用资源管理设计模块和进程管理设计模块。
(三)进程管理设计模块详细设计(本部分我负责实现)我们的计划是在在进程管理设计模块中,实现关于进程的各种最基础的结构和操作,具体包括:实现PCB结构体、PCB链表、PCB子节点链表;实现对PCB链表的初始化、对子节点链表的初始化、新建PCB、对PCB链表中进行删除、插入、移除(不free)、从等待和阻塞队列中获取PCB得知、打印当前PCB父节点、打印当前PCB父节点、打印当前PCB子节点链表、插入子队列的尾部、从子队列尾部删除。
1、进程状态与操作(1)进程状态共ready/running/blocked三种状态,通过结构struct实现,代码如下:struct{int running;int blocked;int ready;}PCB_STATUS;//定义pcb状态的三种情况(2)进程操作:在本次实验中,将会读进程进行以下操作,结合这些操作的具体内容和所学知识,很容易考虑到通过链表来实现这些操作。
创建(create): (none) -> ready撤销(destroy): running/ready/blocked -> (none)请求资源(Request): running -> blocked (当资源没有时,进程阻塞)释放资源(Release): blocked -> ready (因申请资源而阻塞的进程被唤醒)时钟中断(Time_out): running -> ready调度:ready -> running / running ->ready2、主要数据结构实现:(1)进程控制块结构PCB进程控制块PCB是进程存在的唯一标识,并且常驻内存,进程控制块中有许多信息,在本次实验中,根据我们的需求,所设计的进程控制块结构如下:结合实验指导书,我们通过结构struct实现进程控制块结构PCB,包含以下信息:PID(name)Other_resources //: resource which is occupiedStatus: Type & List// type: ready, block, running…., //List: RL(Ready list) or BL(block list)Creation_tree: Parent/ChildrenPriority: 0, 1, 2 (Init, User, System)主要代码及注释如下:struct PCB {//pcb结构体char name[64];//Pnameunsigned int pid;//Pidstruct RCB_LIST* rcb_list;//Other resourcesstruct PCB_LIST* parent_pcb;//父进程struct CHILD_PCB_LIST* child_pcb;//子进程int state;//Type&Listint priority;//0,1,2};(3)实现一个PCB的链表,方便后面的操作:struct PCB_LIST {//pcb链表struct PCB pcb;struct PCB_LIST * next_pcb;};(4)实现PCB的子节点链表:struct CHILD_PCB_LIST {//pcb子节点链表struct PCB_LIST* node;struct CHILD_PCB_LIST* next_node;};3、主要操作设计实现过程(1)初始化PCB链表(添加了头结点):void init_pcb_list(struct PCB_LIST **list){if(*list){return;}struct PCB_LIST *p =(struct PCB_LIST*)malloc(sizeof(struct PCB_LIST));p->next_pcb =NULL;memset(p,NULL,sizeof(struct PCB));*list = p;}(2)初始化子节点链表:void init_child_pcb_list(struct CHILD_PCB_LIST **list){if(*list){return;}struct CHILD_PCB_LIST *p =(struct CHILD_PCB_LIST*)malloc(sizeof(struct CHILD_PCB_LIST));p->next_node =NULL;memset(p,NULL,sizeof(struct CHILD_PCB_LIST));*list = p;}(3)创建一个新的PCB:struct PCB_LIST*create_pcb(char*name,unsigned int pid,int state,unsigned int priority,struct PCB_LIST* parent_pcb){struct PCB pcb;strcpy(,name,strlen(name));pcb.pid = pid;pcb.rcb_list =NULL;pcb.state = state;pcb.priority = priority;pcb.parent_pcb = parent_pcb;pcb.child_pcb =NULL;struct PCB_LIST* pcb_node =(struct PCB_LIST*)malloc(sizeof(struct PCB_LIST));pcb_node->pcb = pcb;pcb_node->next_pcb =NULL;return pcb_node;}(4)从PCB链表中进行删除:void destory_from_pcb_list(struct PCB_LIST* list,char*name){struct PCB_LIST* pr_temp,*temp;pr_temp = temp = list;int ret =1;while(temp){if(!strcmp(name, temp->)&& ret){release_resource(temp);pr_temp = temp = list;ret =0;}if(!strcmp(name, temp->)){pr_temp->next_pcb = temp->next_pcb; free(temp);return;}pr_temp = temp;temp = temp->next_pcb;}}(5)插入pcb链表:void insert_into_pcb_list(struct PCB_LIST** list,struct PCB_LIST*node) {if(!*list)init_pcb_list(list);struct PCB_LIST *pr_temp,*temp;pr_temp = temp =*list;while(temp){pr_temp = temp;temp = temp->next_pcb;}pr_temp->next_pcb = node;}(5)从PCB链表中移除,并不释放该PCB占用的空间:void delete_from_pcb_list(struct PCB_LIST* list,char*name) {struct PCB_LIST* pr_temp,*temp;pr_temp = temp = list;while(temp){if(!strcmp(name, temp->)){pr_temp->next_pcb = temp->next_pcb;return;}pr_temp = temp;temp = temp->next_pcb;}}(6)从等待和阻塞队列中获取PCB的地址:struct PCB_LIST* get_pcb(char* name){struct PCB_LIST* temp;for(int i =2; i >=0; i--){temp = READY_LIST[i]->next_pcb;while(temp){if(!strcmp(temp->, name)){return temp;}temp = temp->next_pcb;}}if(BLOCKED_LIST)temp = BLOCKED_LIST->next_pcb;while(temp){if(!strcmp(temp->, name)){return temp;}temp = temp->next_pcb;}return NULL;}(7)打印当前PCB的父节点void show_pcb_parent(struct PCB_LIST* node){printf("%s parent node is %s \n", node->, node->pcb.parent_pcb->);}(8)打印当前PCB的子节点链表void show_pcb_child(struct PCB_LIST* node){printf("%s child is ", node->);struct CHILD_PCB_LIST* temp = node->pcb.child_pcb;if(temp)temp = temp->next_node;while(temp){printf(" --> |%s|", temp->node->);temp = temp->next_node;}printf("\n");}(9)插入子队列的尾部void insert_into_child_pcb_list(struct CHILD_PCB_LIST** list,struct PCB_LIST*node){if(!*list)init_child_pcb_list(list);struct CHILD_PCB_LIST *pr_temp,*temp;pr_temp = temp =*list;while(temp){pr_temp = temp;temp = temp->next_node;}struct CHILD_PCB_LIST *p =(struct CHILD_PCB_LIST*)malloc(sizeof(struct CHILD_PCB_LIST));p->node = node;p->next_node =NULL;pr_temp->next_node = p;}(10)从子队列尾部进行删除void delete_from_child_pcb_list(struct CHILD_PCB_LIST* list,char*name) {struct CHILD_PCB_LIST* pr_temp,*temp;if(!list)return;pr_temp = list;temp = pr_temp->next_node;while(temp){if(!strcmp(name, temp->node->)){pr_temp->next_node = temp->next_node;return;}pr_temp = temp;temp = temp->next_node;}}(四)其他模块设计(组内其他人设计)1、Test shell设计Test shell将调度我们设计的进程与资源管理器,从而完成测试,具有以下功能:(1)从终端或者测试文件读取命令;(2)将用户需求转换成调度内核函数(即调度进程和资源管理器);(3)在终端或输出文件中显示结果:如当前运行的进程、错误信息等。