南邮操作系统实验三
操作系统实验报告三

课程实验报告3、修改程序1,在父、子进程中分别使用wait、exit等系统调用“实现”其同步推进,父进程必须等待儿子进程与女儿进程结束,才可以输出消息。
写出相应的同步控制,并分析运行结果。
4、创建一个子进程,并给它加载程序,其功能是调用键盘命令“ls -l”,已知该键盘命令的路径与文件名为:/bin/ls。
父进程创建子进程,并加载./child2程序。
写出相应的程序代码并分析程序运行结果。
算法描述及实验步骤1、编写一C语言程序,实现在程序运行时通过系统调用fork( )创建两个子进程,使父、子三进程并发执行,父亲进程执行时屏幕显示“I am father”,儿子进程执行时屏幕显示“I am son”,女儿进程执行时屏幕显示“I amdaughter”。
并且反复的测试,观察每一次的执行的顺序有什么不同2、修改程序1,在父、子进程中分别使用wait、exit等系统调用“实现”其同步推进,父进程必须等待儿子进程与女儿进程结束,才可以输出消息。
4、创建一个子进程,并给它加载程序,其功能是调用键盘命令“ls -l”,已知该键盘命令的路径与文件名为:/bin/ls。
父进程创建子进程,并加载./child2程序。
调试过程及实验结果总结1、实现在程序运行时通过系统调用fork( )创建两个子进程,使父、子三进程并发执行,父亲进程执行时屏幕显示“I am father”,儿子进程执行时屏幕显示“I am son”,女儿进程执行时屏幕显示“I am daughter”。
这一点需要注意。
返回结果时,由于每一次的不确定性,所以要想得到比较具有说服性的,就必须经过多次的测试。
2、连续4个fork()的进程家族树在进行实验的时候可能会出现进程输出信息一直一样的情况,需要多次执行输出才有可能会看到输出结果不一样的情况。
南邮系统分析与设计实验报告-3

通达学院课内实验报告课程名:系统分析与设计任课教师:刘影专业:信息管理与信息系统学号:姓名:二○一四至二○一五年度第二学期南京邮电大学管理学院)链和消息的创建:在协作图中添加“Administrator”类对象“)序列图和协作图的转换:双击浏览器中要转换的协作图,选择菜单栏中“活动图的建模——借阅者借书活动图首先要确定要为哪个对象建模和明确所需要建立模型核心问题。
们确定需要建模的系统的用例,以及用例的参与者。
对于“借阅者借书”的用例来说,参与者是借阅者和图书管理员,借阅者通过图书管理员来进行借书活动,涉及的用例是借书。
)创建活动图:右击浏览器中的“Logic View”图标,在弹出的快捷菜单中选择“”命令,在“Logical View”下会创建“State/Activity Model)绘制泳道:在“借阅者借书活动图”中创建“借阅者”和“图书管理员”这两个泳道,具体方法如下:单击工具栏中相应按钮,在图形编辑区域单击,可以创建默认名为其他活动状态与分支可按照上述方法绘制,完整的“借阅者借书”活动图如下图所示:状态图的建模——图书状态图一.确定状态间的实体以及实体的状态对于图书管理系统而言,最需要的建模实体就是图书的状态,添加,被预定,被借阅,被删除。
当确定了需要建模的实体,并找出了实体的初始状态和终止状态以及其他相关状态后,找出相关状态间的事件和转换,它们间的转换规则是:刚被购买后的新书可以通过系统管理员添加成为能够被借阅的图书。
图书被预定后成为被预定状态。
)绘制转换:单击工具栏中相应图标,单击起始状态向目标状态拖动。
)绘制事件:双击“图书状态图”图形编辑区域中刚建好的转换,在弹出的“其余状态和事件可按照上述方法依次绘制。
南邮计算机网络实验

《计算机通信网》实验报告班级:姓名:学号:实验成绩内容;ipconfig 实用程序可用于显示当前的tcp/ip 配置的设置值。
这些信息一般用来检验人工配置的tcp/ip 设置是否正确。
但是,如果你的计算机和所在的局域网使用了动态主机配置协议DHCP,这个程序所显示的信息也许更加实用。
这时,ipconfig 可以让你了解你的计算机是否成功的租用到一个ip 地址,如果租用到则可以了解它目前分配到的是什么地是否正常。
需要注意的是:成功地与另一台主机进行一次或两次数据报交换并不表示tcp/ip配置就是正确的,你必须执行大量的本地主机与远程主机的数据报交换,才能确信tcp/ip的正确性。
简单的说,ping就是一个测试程序,如果ping运行正确,你大体上就可以排除网络访问层、网卡、modem的输入输出线路、电缆和路由器等存在的故障,从而减小了问题的范围。
ping ——对这个域名的解析是通过dns服务器,如果这里出现故障,则表示dns服务器的ip地址配置不正确或dns 服务器有故障(对于拨号上网用户,某些isp 已经不需要设置dns服务器了)。
3、用route命令查询路由表,并写出路由表中三条信息;4、用命令netstat 查看本机活动的TCP连接,列出三条非本地活动的TCP连接;5、用命令tracert查看到达所经过的路径,并把它们列出来,写出最终的IP地址。
最终的IP地址:203.208.43.79实验成绩1、网络拓朴图网络拓朴图2、基本设置计算机A、B的IP地址如上图所示,但不设置默认网关地址。
因为一旦添上默认网关,就相当于在主机路由表添加一个默认路由项。
3、AB之间连接性测试先从A ping B,或者B ping A,其中结果如图所示:图中的Destination Host unreachable 表示目标主机不可达,因为在主机A的路由表中没有对B的路由项。
4、在主机A的路由表中分别添加特定主机、特定网络、默认路由项,使AB之间的能相互路由。
南京邮电大学-操作系统实验报告

课内实验报告课程名:操作系统任课教师:沈超专业:信息管理与信息系统学号:姓名:二○一六至二○一七年度第一学期南京邮电大学经济与管理学院Process[numberschedul].order=tempcounter;}程序结果截图:二、银行家算法(网上借鉴)银行家算法,当进程提出资源申请时,系统首先检查该进程对资源的申请量是否超过其最大需求量及系统现有的资源能否满足进程需要。
若超过,则报错,若不能满足,则让该进程等待;否则进一步检查把资源分给该进程后系统能否出于安全状态,若安全,则分配,否则置该进程为等待资源状态。
算法实现过程:设进程i 提出请求REQUEST [j] ,则银行家算法按如下规则进行判断。
(1) 如果REQUEST [i] [j]<= NEED[i][j] ,则转(2) ;否则,出错。
(2) 如果REQUEST [i] [j]<= A V AILABLE[i][j] ,则转(3) ;否则,出错。
(3) 系统试探分配资源,修改相关数据:A V AILABLE[j]-=REQUEST[i][j];ALLOCATION[i][j]+=REQUEST[i][j];NEED[i][j]-=REQUEST[i][j];(4) 系统执行安全性检查,如安全,则分配成立;否则试探险性分配作废,系统恢复原状,进程等待。
Check()关键代码:{int k, f, no=0;int work[M],a[M];char finish[M];anquan=1;for(i=0;i<n; i++) finish[i]='F';for(j=0;j<m; j++) work[j]=available[j]; k=n;do{ for (i=0;i<n; i++){if (finish[i]=='F'){ f=1;for (j=0;j<m; j++)if (need[i][j]>work[j]) printf("处于安全状态.");printf("安全序列号:");for (i=0;i<n;i++) printf ("%d ",a[i]); printf("\n");printf("进程");printf(" ");printf(" Max ");rintf(" ");rintf("allocation");printf(" ");printf("need");printf(" ");f=0;if (f==1)//找到还没完成的且需求数小于可提供进程继续运行的{ finish[i]='T';a[no++]=i;//记录安全序列号for (j=0;j<m; j++)work[j]=work[j]+allocation[i][j];//释放该进程已分配的资源available[j] =work[j];}}}k--; }while(k>0);f=1;for (i=0;i<n; i++)//判断有没有进程没完成{ if (finish[i]=='F'){f=0;break; }} if (f==0) {printf("不安全状态!\n");anquan=0;} else {printf("available");printf("\n");for (i=0;i<n; i++){ printf("%2d",i);printf(" ");for(j=0;j<m; j++)printf("%2d",max[i][j]);printf(" ");for(j=0;j<m; j++)printf("%2d",allocation[i][j]);printf(" ");for(j=0;j<m; j++)printf("%2d",need[i][j]);printf(" ");for(j=0;j<m; j++){if(i>0)break;printf("%2d",available[j]);}printf("\n");}}}程序结果截图:三、实验总结:这次上机模拟了进程调度过程和解决了死锁问题,让我对短作业优先调度算法和银行家算法有了比在课堂上更深刻的认识。
南邮计算机网络实验报告

192.168.65.254(192.168.65.254)
目标的MAC地址(Target MAC address:):
vmware_c0:00:01(00:50:50:c0:00:01)
目标的IP地址(Target IP address:):
在主机B中增加对A特定网络的路由项:
route add 0.0.0.0 mask 0.0.0.0 192.168.2.1 metric 1
设置好,用ping命令测试主机AB之间连通性,如用特定网络效果是一样的,AB之间可以通信。
9、如果将主机AB的IP设在同一网络中,则不需要设置路由,并可以直接通信,这就是直接交付。本次试验中,我们试着用了一下这种方法。
Micro-St_09:8e:c2
(44:8a:5b:09:8e:c2)
第二行数据链路层:
Destination(目的地址):_Broadcast(ff:ff:ff:ff:ff:ff)_________(这是个MAC地址,这个MAC地址是一个广播地址,就是局域网中的所有计算机都会接收这个数据帧)Source(源地址):Micro-St_09:8e:c2(44:8a:5b:09:8e:c2)帧中封装的协议类型:ARP(0x0806)(这个是ARP协议的类型编号。)Trailer:是协议中填充的数据,为了保证帧最少有64字节。
实验总结
实验成绩
实验名称
实验三使用Wireshark工具抓取数据包并进行分析
实验目的
1、掌握Wireshark工具的安装和使用方法
2、理解TCP/IP协议栈中IP、TCP、UDP等协议的数据结构
3、掌握ICMP协议的类型和代码
南邮操作系统实验报告

操作系统课程实验报告实验题目:Linux进程信号通信、进程消息通信专业软件工程学生姓名班级学号教师陈兴国指导单位计算机学院日期 2016-9-30一、实验目的1.了解Linux的信号,熟悉Linux系统中进程之间软中断通信的基本原理2.学习如何利用消息缓冲队列进行进程间的通信,并加深对消息通信机制的理解。
二、实验指导1.kill(),signal(),lockf()系统调用kill()系统调用系统调用格式:int kill(pid,sig)参数定义: int pid,sid;pid是一个或一组进程的标识符,sig是要发送的软中断信号。
pid>0时,核心将信号发送给进程pid;pid=0时,核心将信号发送给与发送进程同组的所有进程;pid<0时,核心将信号发送给搜有用户标识符真正等于发送进程的有效用户标识号的进程。
signal()系统调用预置对信号的处理方式,允许调用进程控制软中断信号。
系统调用格式:signal (sig,function)参数定义:Signal (sig,function)int sig;void (*func)();sig用于指定信号的类型,sig为0则没有收到任何信号。
function:在该进程中的一个函数地址,在核心态返回用户态时,它以软中断信号的序号作为参数调用该函数,对除了信号SIGNAL,SIGTRAP和SIGPWR以外的信号,核心自动地重新设置软中断信号处理程序的值为SIG_DFL,一个进程不能捕获SIGKILL信号。
lockf()系统调用用作锁定文件的某些段或者整个文件。
系统调用格式:lockf(files,function,size)参数定义:int lockf(files,function,size)int files,function;long size;2.消息的创建,发送和接收使用系统调用msgget(),msgsnd,msgrec,及msgctl()函数编写消息的发送和接收程序三、实验过程描述与结果分析1.Linux进程信号通信#include <stdio.h>#include <signal.h>#include<unistd.h>#include <stdlib.h>void waiting(),stop();int wait_mark;/*用来避免锁的竞争,保证p1,p2无法在同一时刻获得文件的锁,即lockf(stdout,1,0)*/main(){int p1,p2,stdout;signal(SIGINT,stop);/*if press the ^c or ^break ,jump to stop function*/ while((p1=fork())==-1) ;/* create child process p1*/if(p1>0){while( ( p2=fork() ) ==-1);/* create child process p2*/if(p2>0){wait_mark=1;sleep(5);/* 接收到^c信号,转stop函数*/waiting();kill(p1,16); /*向子进程p1发送软中断信号16*/kill(p2,17);/*向子进程p2发送软中断信号17*/wait(0);/*wait()系统方法,父进程会一直等待,直到子进程因暂停或者终止发来软中断信号为止*/wait(0);printf("Parent process is killed!\n");exit(0);}else{//p2被杀死的逻辑,响应kill(p1,17);wait_mark=1;signal(17,stop);/*接收到父进程发来的软中断信号,然后执行stop函数*、*/waiting();lockf(stdout,1,0);/*锁定输出,使得下面的语句可以正常输出打印*/printf("Child process 2 is killed by parent!\n");lockf(stdout,0,0);/*解锁输出*/exit(0);/*正常终止子进程p2,使得父进程跳出wait(0),得以继续执行*/ }}else{//p1被杀死的逻辑,响应kill(p2,16);wait_mark=1;signal(16,stop);waiting();lockf(stdout,1,0);printf("Child process 1 is killed by parent!\n");lockf(stdout,0,0);exit(0);}}void waiting(){while(wait_mark!=0);}void stop(){wait_mark=0;}按住Ctrl+c,可见执行结果2.Linux进程消息通信1.server.c#include <sys/types.h>#include <sys/ipc.h>#include <sys/msg.h>#include <stdio.h>#define MSGKEY 75struct msgform{long mtype;char mtext[256];};int main(int argc, char const *argv[]) {struct msgform msg;int msgqid;int j,pid,*pint;msgqid=msgget(MSGKEY,0777|IPC_CREAT);for(;;){msgrcv(msgqid,&msg,256,1,0);pint=(int*)msg.mtext;pid=*pint;printf("server:receive from pid %d\n",pid);msg.mtype=pid;*pint=getpid();msgsnd(msgqid,&msg,sizeof(int),0);}return 0;}2.client.c#include <sys/types.h>#include <sys/ipc.h>#include <sys/msg.h>#include <stdio.h>#define MSGKEY 75struct msgform{long mtype;char mtext[256];};int main(int argc, char const *argv[]){struct msgform msg;int msgqid,pid,*pint;msgqid=msgget(MSGKEY,0777);pid=getpid();pint=(int*)msg.mtext;*pint=pid;msg.mtype=1;msgsnd(msgqid,&msg,sizeof(int),0);msgrcv(msgqid,&msg,256,pid,0);printf("client:receive from pid%d\n",*pint);return 0;}运行结果:四、自我评析与总结1.你认为你完成的实验那些地方做得比较好或比较出色做的相对比较快,一些命令比较熟悉一点2.差距与局限,什么地方做得不太好,或什么地方可以做得更好程序的编写,C语言遗忘的很严重,还是得常用3.从本实验得到的收获。
南邮数据结构实验三

南邮数据结构实验三南京邮电大学数据结构实验三、链表的基本操作实验目的本次实验的主要目的是理解链表的概念,掌握链表的基本操作,包括链表的创建、插入、删除和遍历。
实验内容本次实验分为以下几个部分:1、链表的定义与创建1.1 链表的概念链表是一种常见的数据结构,由一系列节点组成,每个节点包含数据和指向下一个节点的指针。
链表可以分为单链表、双链表和循环链表等不同类型。
本次实验将创建一个单链表。
1.2 链表节点的定义链表节点包含两个成员变量,分别是数据域和指针域。
数据域用于存储节点的数据,指针域指向下一个节点。
1.3 链表的创建在主函数中创建一个空链表,并添加一些初始数据,用于后续的操作。
2、链表的插入操作2.1 插入节点的位置链表的插入操作需要指定节点插入的位置,可以在链表的头部、尾部或者中间插入新节点。
2.2 插入节点的操作根据所选位置,在链表中插入新节点,并更新相应的指针。
3、链表的删除操作3.1 删除节点的位置链表的删除操作需要指定节点删除的位置,可以删除头节点、尾节点或者中间节点。
3.2 删除节点的操作根据所选位置,删除链表中的节点,并更新相应的指针。
4、链表的遍历操作通过循环遍历链表的所有节点,并输出每个节点的数据。
附件说明本文档涉及以下附件:附件1:源代码附件2:实验报告法律名词及注释本文所涉及的法律名词及注释如下:1、数据结构:数据的存储方式和操作组成的集合。
在计算机科学中,数据结构是计算机中存储、组织数据的方式。
2、链表:链表是一种常见的数据结构,由一系列节点组成,每个节点包含数据和指向下一个节点的指针。
3、节点:链表中的一个元素,包含数据域和指针域。
4、数据域:节点中存储的数据。
5、指针域:节点中指向下一个节点的指针。
6、插入操作:在链表中插入一个新节点。
7、删除操作:从链表中删除一个节点。
8、遍历操作:按照一定的顺序访问链表中的所有节点。
全文结束。
南邮信息综合实验报告-实验三

通信与信息工程学院2016/2017学年第一学期信息技术综合实验报告专业广播电视工程学生班级B130114学生学号B13011413学生姓名陈超实验一电视节目制作一、实验目的学习非线性编辑系统的操作使用,掌握非线性系统节目编辑流程,熟悉编辑软件的功能及应用。
了解大洋资源管理器主要功能,掌握故事板文件和项目文件的创建,掌握素材的选中,素材的排序、复制、粘贴、删除、移动、导入、导出,以及素材创建的基本方法。
二、实验内容1、素材的导入和管理及采集(1)练习在项目窗口中导入素材文件;(2)熟悉素材的管理;(3)熟悉素材的采集方法。
2、编辑影片(1)练习在“时间线”窗口中添加、删除素材的方法;(2)练习在“时间线”窗口中处理素材的方法。
三、实验步骤打开premiere软件,新建项目“1316”。
1、制作倒计时片头新建一个序列,在视频轨道内添加五个数字的字幕,将每个数字时间设置为1秒,从5到1倒序排放。
新建字幕,设计背景。
新添时钟式擦除的效果,设置时间为5秒。
2、插入图片或视频作为内容点击“文件”、“导入”,将节目素材导入Premiere软件,从项目面板中拉出节目素材,使用对齐功能紧贴在倒计时之后。
3、制作字幕新建一个字幕。
设置为滚动播放,选择开始于屏幕外,结束于屏幕外。
新添文本框,输入标题“28-304”与正文部分“B130111413”、“B13011416”的文字。
效果如下图。
四、实验小结通过此次实验,我们学会了如何使用Premeire软件制作视频,重点掌握了包括开头倒计时、视频图像等素材插入以及结尾字幕等基本操作;在动手制作简短视频的同时,也极大地激发起对于对非线性系统节目编辑的兴趣与实践能力。
实验二 TS码流离线分析一、实验目的在了解MPEG-2 TS码流复用原理之后,利用码流分析软件观察实际MPEG-2码流结构。
二、实验内容利用码流分析软件观察实际MPEG-2码流结构,查看码流的SI信息、PID分配使用情况、带宽使用情况及特定PID包数据。
南京邮电大学管理信息系统实验报告

课内实验报告课程名:管理信息系统任课教师:专业:学号:姓名:二○一○至二○一一年度第 1 学期南京邮电大学经济与管理学院《管理信息系统》课程实验第 1 次实验报告实验内容及基本要求:实验项目名称:用友ERP供应链管理综合实验实验类型:验证每组人数:1实验内容及要求:1. 基于用友ERP软件中供应链模块,完成企业中采购管理领域的各项业务的操作。
实验结果:一、实验操作步骤总结(限300字,对所做实验的主要流程进行总结,禁止复制实验指导书)1.进入系统管理进行建账工作,具体步骤如下:(1)注册“系统管理员”、(2)增加操作员、(3)创建账套(包括帐套号、单位名称、本位币、存货需要分类、编码方案、数据精度、系统启用)、(4)权限分配2.打开企业应用平台,输入登录信息后进行初始化设置,具体步骤如下:(1)输入基础档案(包括部门及志职员档案、供应商档案、存货信息、仓库档案和收发类别)。
(2)进行期初数据的录。
(填写采购入库单后需要记账)3.处理日常业务。
(操作时要注意细节问题)4.期末工作:月末结账。
5.账簿查询:查询未完成的业务明细表、订单执行情况统计表、暂估入库余额表、入库明细表及发票明细表。
二、实验中遇到的问题及解决方法1、输入基础档案时无法先输入人员档案。
解决方法:要先输入部门档案后再在人员档案中选择部门名称,才能完成输入。
2、在填制到货退回单数量时不知如何表示。
解决方法:在英文状态下在数字前加负号即可。
3、手工结算找不到对应具体的账单。
解决方法:筛选信息要具体,从时间、厂商等具体排除。
三、实验小结(写实验心得和体会)第一次使用ERP软件做的是采购管理练习,虽然老师有过介绍和一些步骤的说明,但是在做得过程中还是会出现很多问题,其实做练习的过程照书本按部就班的做是远远不够的。
在做得过程中我们需要思路清晰,要想明白每一步为什么要这样做,这样我们日后走向工作岗位才能做到脱离书本真正把学到的东西运用到工作上。
【报告】南邮单片机实验报告

【报告】南邮单片机实验报告一、实验目的本次南邮单片机实验旨在通过实际操作和实践,深入了解单片机的工作原理、编程方法以及其在实际应用中的功能实现。
通过完成一系列实验任务,提高我们对单片机系统的设计、开发和调试能力,为今后在电子信息领域的学习和工作打下坚实的基础。
二、实验设备1、单片机开发板2、计算机3、编程软件(如 Keil C51)4、下载器5、示波器6、万用表三、实验内容(一)点亮 LED 灯1、原理通过控制单片机的引脚输出高低电平,来控制连接在引脚上的 LED 灯的亮灭。
2、编程实现使用 C 语言编写程序,设置相应引脚为输出模式,并通过循环语句实现 LED 灯的闪烁效果。
3、调试与观察将程序下载到单片机中,观察 LED 灯的闪烁情况,使用示波器测量引脚的电平变化,以验证程序的正确性。
(二)数码管显示1、原理数码管由多个发光二极管组成,通过控制不同段的发光二极管的亮灭,可以显示不同的数字和字符。
2、编程实现编写程序,实现数码管的动态扫描显示,将需要显示的数字或字符转换为对应的段码,并通过定时中断实现动态刷新。
3、调试与观察下载程序后,观察数码管的显示效果,检查是否能够正确显示预定的数字和字符。
(三)按键控制1、原理按键连接到单片机的引脚,当按键按下时,引脚的电平发生变化,通过检测引脚电平的变化来实现按键的识别和响应。
2、编程实现设置引脚为输入模式,采用查询或中断的方式检测按键状态,根据按键的不同操作执行相应的功能。
3、调试与观察按下不同的按键,观察系统的响应是否符合预期,如 LED 灯的状态改变、数码管显示内容的变化等。
(四)温度传感器采集与显示1、原理使用数字式温度传感器(如 DS18B20)采集环境温度,传感器将温度转换为数字信号,单片机通过特定的通信协议读取温度数据。
2、编程实现编写驱动程序,实现与温度传感器的通信,读取温度值,并将其转换为合适的显示格式。
3、调试与观察将传感器置于不同的温度环境中,观察数码管或液晶显示屏上显示的温度值是否准确。
操作系统实验模板1资料

if(SortOrder[i]<BeginNum)
continue;
else
{
n=i;
breaue)
{
for(int i=n;i<N;i++)
{
MoveDistance[i-n]=abs(SortOrder[i]-temp);
temp=SortOrder[i];
{
int m,n,temp;
temp=BeginNum;
Sort();
cout<<"请选择开始方向:1--向外;0---向里: ";
cin>>m;
if(m==1)
direction=true;
else if(m==0)
direction=false;
elsecout<<"输入错误!";
for(int i=0;i<N;i++)
{
for(int i=n-1;i>=0;i--)
{
MoveDistance[N-i-4]=abs(SortOrder[i]-temp);
temp=SortOrder[i];
FindOrder[N-i-4]=SortOrder[i];
}
for(int j=n;j<N;j++)
{
MoveDistance[j]=abs(SortOrder[j]-temp);
int SortOrder[MaxNumber];//排序后的序列
bool Finished[MaxNumber];
void Inith()
{
cout<<"请输入提出磁盘I/O申请的进程数: ";
南邮系统分析与设计实验报告

通达学院课内实验报告课程名:系统分析与设计任课教师:刘影专业:信息管理与信息系统学号:____________姓名:______________二O—四至二O—五年度第二学期南京邮电大学管理学院《系统分析与设计》课程实验第二次实验报告“Use Case Diagram ”命令,创建新的用例图后,在浏览器的" Use Case View ”树形结构下多了一个名为“ NewDiagram”的图标,重命名为“借阅者用例图”。
双击“借阅者用例图” 图标,会出现用例图编辑工具和编辑区。
①绘制参与者:单击工具栏的参与者图标到右边的编辑区,修改名称为“借阅者”。
②绘制用例:单击工具栏中用例图标,在编辑区内要绘制的地方单击左键,会出现带有默认名的“ NewUseCase的新用例,双击该用例,弹出“Use Case Specification for NewUseCase对话框,用于属性的设置。
③绘制用例与参与者的关系:单击相应的图标,鼠标移动到“借阅者”上,这时按下鼠标左键不放,移动鼠标至用例上松开鼠标,注意线段箭头的方向为松开鼠标的方向,关联关系的箭头应有参与者指向用例,不可画反。
④绘制用例间的关系:单击相应图标,注意线段箭头的方向是松开鼠标左键时的方向,双击虚线段,在弹出的“ Depe ndency Specificatio n for Un title ”对话框,设置相应属性,“Stereotype ”下拉列表列出了用例间所有可用的关系,选择相应关系。
根据以上步骤,创建出的借阅者用例图如下:*圳!1百2.按照以上步骤,图书管理员用例图和系统管理员用例图如下:駅烯悴士-L^in^4Kbt>>険査用戶自畫性"沁血冲点11书曰I •片料口图书管理员用例图系统管理员用例图类图建模一一图书管理系统类图—.确定系统中的类对于“图书管理系统”来说,根据功能可以基本抽象出图书管理系统中的多个类:“ Borrower ”借阅者类,“ Librarian ”图书管理员类,“ Administrator ”系统管理员类, “Book”图书类,“Resever”预定类,“Loan”借阅类,“Title ”书目类。
南邮通电实验报告(3篇)

第1篇一、实验目的1. 了解南邮供电系统的基本结构和工作原理。
2. 掌握南邮供电系统的操作和维护方法。
3. 培养实验操作能力和团队合作精神。
二、实验器材1. 交流电源:220V、50Hz2. 电表:电压表、电流表3. 电线:绝缘电线、连接线4. 电容器:0.1μF、0.01μF5. 电感器:100mH、50mH6. 电阻:1Ω、10Ω、100Ω7. 灯泡:40W、60W8. 开关:单刀双掷开关、单刀单掷开关9. 实验板:南邮通电实验板三、实验原理南邮供电系统主要由变压器、配电线路、配电设备、用电设备等组成。
本实验主要研究配电线路和配电设备的工作原理。
1. 变压器:变压器是一种能量传递装置,通过电磁感应原理将高压电能转换为低压电能。
本实验中使用的变压器为单相变压器。
2. 配电线路:配电线路是指从变压器输出端到用电设备之间的输电线路。
本实验中使用的配电线路为单相线路。
3. 配电设备:配电设备包括开关、熔断器、电表等,用于控制、保护和测量电能。
四、实验步骤1. 实验前准备:检查实验器材是否完好,熟悉实验原理和步骤。
2. 组装实验电路:按照实验要求连接电路,包括变压器、配电线路、配电设备、用电设备等。
3. 通电实验:(1)测量变压器输入端电压:使用电压表测量变压器输入端电压,记录数据。
(2)测量配电线路电压:使用电压表测量配电线路电压,记录数据。
(3)测量配电设备电压:使用电压表测量配电设备电压,记录数据。
(4)测量用电设备电压:使用电压表测量用电设备电压,记录数据。
(5)测量电流:使用电流表测量变压器输入端、配电线路、配电设备、用电设备的电流,记录数据。
4. 关闭实验电路:断开开关,切断电源。
5. 实验数据整理:整理实验数据,分析实验结果。
五、实验结果与分析1. 实验数据:(1)变压器输入端电压:220V(2)配电线路电压:220V(3)配电设备电压:220V(4)用电设备电压:220V(5)变压器输入端电流:0.5A(6)配电线路电流:0.5A(7)配电设备电流:0.5A(8)用电设备电流:0.5A2. 实验结果分析:(1)变压器输入端电压与配电线路电压、配电设备电压、用电设备电压相等,说明供电系统电压稳定。
南京邮电大学操作系统实验报告

南京邮电大学操作系统实验报告This manuscript was revised on November 28, 2020通信与信息工程学院2015 / 2016学年第二学期实验报告课程名称:操作系统实验名称:1、LINUX及其使用环境2、进程管理3、进程间通信4、文件的操作和使用班级学号专业电子信息工程学生姓名指导教师赵建立一、实验目的和要求1、了解UNIX的命令及使用格式。
2、熟悉UNIX/LINUX的常用基本命令。
3、练习并掌握UNIX提供的vi编辑器来编译C程序。
4、学会利用gcc、gdb编译、调试C程序。
二、实验环境Windows XP + VMWare + RedHat Enterprise Linux(RHEL) 4三、实验原理及内容1、熟悉LINUX的常用基本命令。
如ls、mkdir、grep等,学会使用man、help等其它命令,掌握vi编辑器的使用。
(1)显示目录文件 ls例:ls -al 显示当前目录下的所有文件(2)建新目录 mkdir例:mkdir test 新建一个test目录(3)删除目录rmdir(4)改变工作目录位置 cd例:cd test 更改工作目录至test目录下(5)显示当前所在目录pwd(6)查看目录大小du(7)文件属性的设置 chmod(8)命令在线帮助 man2、设计一个实现文件拷贝功能的shell程序。
(1)在文本编辑器里输入shell程序:#!/bin/shecho “please enter source file:”read soucecho please enter destination file:”read destcp $souc $destls $dest将程序保存在主目录下,命名为shell.(2)打开终端,输入ls -l,显示目录下所有文件的许可权、拥有者、文件大小、修改时间及名称。
输入 ./shell,运行shell程序。
操作系统实验指导书

《操作系统原理》实验指导书羊四清编写适用专业:计算机科学与技术网络工程湖南人文科技学院计算机科学技术系2008年8 月页脚内容1前言操作系统是计算机的核心和灵魂。
操作系统软件的设计对整个计算机的功能和性能起着至关重要的作用,所以此门课也是必不可少的,是面向计算机科学与技术、网络工程、软件工程等大多数计算机专业本科生开设的一门计算机专业课程。
操作系统是计算机系统的核心,《操作系统》课程是计算机科学与技术专业的重要必修课。
本课程的目的是使学生掌握现代计算机操作系统的基本原理、基本设计方法及实现技术,具有分析现行操作系统和设计、开发实际操作系统的基本能力。
操作系统实验是操作系统课程的重要组成部分,属于学科基础实验范畴。
作为与相关教学内容配合的实践性教学环节,应在操作系统理论课教学过程中开设。
操作系统是计算机科学与技术专业必修的专业基础课程,操作系统实验的作用是:理解操作系统的设计和实现思路,掌握典型算法。
基本要求是:理解进程的概念,理解死锁,掌握银行家算法;掌握请求页式存储管理的实现原理及页面置换算法。
学生应具有高级语言编程能力、具有数据结构等基础知识。
说明:本实验指导书所提供的源程序均已在VC6.0下调试运行过.页脚内容2目录实验一进程创建模拟 (1)实验二进程撤销模拟 (19)实验三P、V 原语的模拟实现 (21)实验四带优先级的时间片轮换的进程调度算法的实现 (35)实验五银行家算法模拟 (57)实验六连续动态内存管理模拟实现 (62)实验七请求页式存储管理中常用页面置换算法模拟 (66)实验八SCAN 磁盘调度模拟实现 (77)实验九UNIX基本操作 (79)页脚内容3实验一进程创建模拟实验学时:2实验类型:验证实验要求:必修一、实验目的1)理解进程创建相关理论;2)掌握进程创建方法;3)掌握进程相关数据结构。
二、实验内容本实验针对操作系统中进程创建相关理论进行实验。
要求实验者输入实验指导书提供的代码并进行测试。
《操作系统结构分析》实验指导书v20(1)

《操作系统结构分析》实验指导书v20(1)南京邮电大学计算机学院信息安全系2007.10目录第1部分Linu某简明操作手册............................................................. . (1)1.1登录服务器(在Window远程登录Linu某服务器) (1)1.1.1登录FTP服务器............................................................. ..................11.1.2使用putty程序登录远程服务器.....................................................11.2vi简易手册............................................................. .....................................11.3gcc简易手册............................................................. . (2)1.3.1gcc简述............................................................. ................................21.3.2gcc的基本用法和选项............................................................. ........31.3.3如何用gcc进行代码调试............................................................. ...41.3.4gcc的错误类型及对策............................................................. .. (7)第2部分实验部分............................................................. .. (9)2.1实验一进程的创建与管道通信实验 (9)2.1.1实验目的............................................................. ...............................92.1.2实验环境............................................................. ...............................92.1.3实验原理............................................................. ...............................92.1.4实验内容............................................................. .............................102.1.5实验任务............................................................. .............................102.2实验二进程的同步和互斥实验 (1)32.2.1实验目的............................................................. .............................132.2.2实验环境............................................................. .............................132.2.3实验原理............................................................. .............................132.2.4实验内容............................................................. .............................152.2.5实验任务............................................................. .............................152.3实验三内存管理算法实验............................................................. . (19)2.3.1实验目的............................................................. .............................192.3.2实验环境............................................................. .............................192.3.3实验原理............................................................. .............................192.3.4实验内容............................................................. .............................202.3.5实验任务............................................................. .............................202.4实验四Linu某文件系统模拟实验 (22)2.4.1实验目的............................................................. .............................222.4.2实验环境............................................................. .............................222.4.3实验原理............................................................. .............................222.4.4实验内容............................................................. .............................242.4.5实验任务............................................................. .............................252.5实验五Window进程同步实验.. (26)2.5.1实验目的............................................................. .............................262.5.2实验环境............................................................. .............................262.5.3实验原理............................................................. .............................262.5.4实验内容..........................................................................................282.5.5实验任务............................................................. .. (28)第3部分实验报告............................................................. (29)第1部分Linu某简明操作手册1.1登录服务器(在Window远程登录Linu某服务器)1.1.1登录FTP服务器登陆步骤:1、点击“开始”→“运行”,输入“cmd”回车后进入COMMAND命令行状态;2、输入命令:ftpHotIP(HotIP:10.20.79.10);3、输入学号为用户名,密码亦为学号,成功后出现“ftp>”提示符;4、练习使用操作命令:1)l:列出当前目录下所有的文件和目录1.1.2使用putty程序登录远程服务器登陆步骤:1、在window环境里直接双击putty.e某e图标;用Window自带的telnet程序也可完成登陆过程,但是该程序运行和使用不如putty方便和稳定,所以推荐使用putty程序,telnet的使用过程与putty相似。
张三.操作系统实验3

班级:计科1142 学号:201411621299姓名:张三
实验三进程间通信(管道)
实验目的了解管道(pipe)在进程通信中所起的重要作用。
实验内容
父子进程通过两条管道进行通信。
父进程从键盘读取一系列整数、每读取一个整数就将这个整数通过管道1传送给子进程,直到得到的整数是-1为止。
儿子进程将读到的数据进行处理(处理的方式可以包括但是不限于:求和、插入法排序、冒泡法排序等,学生自定义),并将结果通过管道2传递给父进程进行显示。
请编写完成上述任务的程序,观察实验结果,(对管道的使用以及所涉及到的进程并发执行时的同步、阻塞、唤醒、进程终止等行为控制)进行详细分析。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
南邮操作系统实验三实验报告( 2014/ 2015 学年第一学期)课程名称操作系统教程实验名称页面调度算法的模拟实现实验时间2014 年12 月 3 日指导单位计算机软件学院指导教师徐鹤学生姓名楚灵翔班级学号B12040731 学院(系) 计算机学院专业软件工程实验报告实验名称页面调度算法的模拟实现指导教师徐鹤实验类型上机实验学时 2 实验时间2014.12.3一、实验目的和要求1、模拟实现页面调度算法中的FIFO、LRU和OPT算法2、进程的页面请求序列,即一系列页面号(页面号用整数表示,用空格作为分隔符),用来模拟待换入的页面;3、输出要求:显示缺页的总次数和缺页中断率二、实验环境(实验设备)VMware Workstation,Ubuntu三、实验过程描述#define n 12#define m 3int page[n]; //保存需要访问的页面int i,j,q,mem[m]={0},List[m][n],sum;char flag,f[n];void Init();void FIFO();void LRU();void main(){cout<<"*********************实验***********************"<<endl;< bdsfid="127" p=""></endl;<> cout<<" ┏━━━━━━━━━━━━━━━━━━━━━━━┓"<<endl;< bdsfid="129" p=""></endl;<>cout<<" ┃页面调度算法的模拟实现┃"<<endl;< bdsfid="131" p=""></endl;<>cout<<" ┠───────────────────────┨"<<endl;< bdsfid="133" p=""></endl;<>cout<<" ┃先进先出算法FIFO ┃"<<endl;< bdsfid="135" p=""></endl;<>cout<<" ┃最近追少使用算法LRU ┃"<<endl;< bdsfid="137" p=""></endl;<>cout<<" ┗━━━━━━━━━━━━━━━━━━━━━━━┛"<<endl;< bdsfid="139" p=""></endl;<>cout<<" 请输入页面访问序列:\n"<<" ";for(i=0;i<n;i++)< bdsfid="142" p=""></n;i++)<>cin>>page[i];cout<<endl;< bdsfid="145" p=""></endl;<>FIFO();Init();LRU();}void Init() //初始化函数{sum=0; //初始化计算缺页次数的变量for(int i=0;i<m;i++)< bdsfid="153" p=""></m;i++)<>mem[i]=0;for(i=0;i<m;i++)< bdsfid="156" p=""></m;i++)<>for(j=0;j<n;j++)< bdsfid="158" p=""></n;j++)<>List[i][j]=0;}void FIFO(){for(i=0;i<="">{q=0;while((page[i]!=mem[q])&&(q!=m))q++;if(q==m)flag='*'; //缺页,则置标志flag为'*' elseflag=' ';if(flag=='*'){for(j=m-1;j>0;j--) //淘汰最先调入的页面调入当前访问的mem[j]=mem[j-1];mem[0]=page[i];}for(j=0;j<m;j++)< bdsfid="178" p=""></m;j++)<>List[j][i]=mem[j];f[i]=flag;}cout<<" 0代表为空,*代表有缺页:\n";cout<<endl;< bdsfid="184" p=""></endl;<>cout<<"-----------FIFO算法结果------------"<<endl;< bdsfid="186" p=""></endl;<>for(i=0;i<m;i++)< bdsfid="188" p=""></m;i++)<>{for(j=0;j<n;j++)< bdsfid="191" p=""></n;j++)<>cout<<list[i][j]<<" ";<="" bdsfid="193" p=""></list[i][j]<<"> cout<<endl;}< bdsfid="195" p=""></endl;}<>for(i=0;i<n;i++)< bdsfid="197" p=""></n;i++)<>{if(f[i]=='*')sum++;cout<<f[i]<<" ";<="" bdsfid="202" p=""></f[i]<<">}cout<<"\n-----------------------------------"<<endl;<bdsfid="205" p=""></endl;<>cout<<"缺页次数是:"<<sum<<"缺页率是:"<<<endl;<="" bdsfid="207" p=""></sum<<"缺页率是:"<}void LRU(){for(i=0;i<="">{q=0;while((page[i]!=mem[q])&&(q!=m))q++;if(q==m)flag='*'; //缺页,则置标志flag为'*'elseflag=' ';for(j=q;j>0;j--)mem[j]=mem[j-1];mem[0]=page[i];for(j=0;j<m;j++)< bdsfid="225" p=""></m;j++)<>List[j][i]=mem[j];f[i]=flag;}cout<<endl;< bdsfid="229" p=""></endl;<>cout<<"------------LRU算法结果------------"<<endl;< bdsfid="231" p=""></endl;<>for(i=0;i<m;i++)< bdsfid="233" p=""></m;i++)<>{for(j=0;j<n;j++)< bdsfid="236" p=""></n;j++)<>cout<<list[i][j]<<" ";<="" bdsfid="238" p=""></list[i][j]<<"> cout<<endl;< bdsfid="240" p=""></endl;<>}for(i=0;i<n;i++)< bdsfid="243" p=""></n;i++)<>{if(f[i]=='*')sum++;cout<<f[i]<<" ";}<="" bdsfid="248" p=""></f[i]<<">cout<<endl;< bdsfid="250" p=""></endl;<>cout<<"-----------------------------------"<<endl;<bdsfid="252" p=""></endl;<>cout<<"缺页次数是:"<<sum<<"缺页率是:"<<<=""></sum<<"缺页率是:"<实验结果:四、实验小结(包括问题和解决方法、心得体会、意见与建议等)通过本次实验,我对于页面调度算法有了更加深刻的认识。