当前位置:文档之家› #网络操作系统课程实验报告5

#网络操作系统课程实验报告5

#网络操作系统课程实验报告5
#网络操作系统课程实验报告5

《网络操作系统》实验报告

实验序号:5 实验项目名称:管理用户和组

学号姓名专业、班

实验地点指导教师实验时间

一、实验目的及要求

1、熟悉使用命令方式和掌握图形化界面方式的用户和组的管理;

2、掌握使用图形化界面方式对文件权限的设置。

二、实验设备(环境)及要求

Redhat linux 9.0

三、实验内容和步骤

1、Linux的用户管理;

2、Linux的组的管理;

3. 文件权限属性的GUI设置方法。

操作步骤:

(一)管理用户

1用户管理 (要以root用户名进入)

操作:①增加一个用户,可以使用useradd或adduser命令。

输入命令:# adduser username1 ←┘(用户名1可自己设定的) # useradd <用户名2> ←┘(同上)

②为新增用户设置一个口令:# passwd username1 ←┘

(假设新口令为222222)

③删除一个用户:# userdel <用户名2> ←┘

*用 #man useradd命令查看上面useradd命令的使用帮助,对该命令增加用户时的一些设置有所了解。后面有用图形化界面管理用户的操作。

2、用户组管理

操作:①增加用户组:

#groupadd students ←┘ (也可自己另定一个组名)

#groupadd teachers ←┘

②用户组改名:

#groupmod –n stu students ←┘/ /组名students改成stu

③删除一个用户组: # groupdel teachers ←┘

④添加一个新用户wxxy,并指定用户组stu:

输入命令:useradd wxxy -g stu ←┘

3、用户Linux的图形用户界面来管理用户和组

操作:

①回到GUI,点击“主菜单/系统设置/用户和组群”(System setting\Users and Group)

②查看上面1、2操作所增加的用户帐号和用户组

③再增加一个用户帐号:wxsy,口令:777777

④添加一个用户组: <用户组1> (用户组1由自己定)

⑤点击你现在增加的一个用户,然后检查其属性,把该用户归并入<用户组1>

⑥重复步骤⑤,把你所建的新用户都并归入<用户组1>。注意,也可以这样操作:选择<用户组1>,点击其属性,将组中添加新用户办法。

⑦监控禁止用户:选择某一用户,看其属性中的账户信息(Account Info),选择锁定其账户选项(User account locked)。

这样,该用户将被禁止登录系统,测试该用户是否能登录。

4、以username1登录

操作:①注销(logout)当前用户,点击“Red Hat/注销”

②重新登录,输入上述增加的用户名: username1 口令:222222

③点击“主菜单/系统设置/用户和组群”(System setting\Users and Group),看有什么提示?为什么?

5、查看在线用户

操作:① $ whoami ←┘记录显示结果:

6、切换操作用户命令su

$ su wxsy

然后根据系统提示输入新用户的密码。注意现在系统的提示符是什么?_ $__

(二)文件权限设置

现在应是在上述步骤4以username1登录的状态,接着做如下的操作:

1、在桌面上点击“username1的起始目录图标;

2、在子目录/home/username1下,记录下已有的子目录。

3、随意右键单击一个子目录(若/home/ username1下没有子目录,则建创一个,点菜

单“Edit/New Folder”),选择其快捷菜单中的properties。

4、点击标签页“Permissions”,修改其user、group、others三个组的r(读)、w(写)、

x(执行)值为777,记录其子目录的所有者(Ownership)及组;

5、切换到“终端”方式,用命令方式修改步骤4中的文件权限为555:

chmod 555 /home/username1/子目录名

6、切换到步骤4的状态,查看其属性;

7、以root身份登录系统,点“主菜单/系统设置/用户和组群”(“Red Hat /system/users

and group”);

增加一个

用户名:

testuser

令:1234567

8、切换到/home

子目录,看多了

什么子目录名:

____________。

四、实验结果和数据处理

1.

2.

3.

4.

5.

6.

7.

五、分析和讨论

1、Linux中的一般用户和超级用户主要的区别?

2、用户分组管理的好处有哪些?

六、教师评语

成绩

签名:

日期:

操作系统-Linux课程实验报告

实验、 Linux Ubuntu的安装、创建新的虚拟机VMWare 实验 Shell编程 1.实验目的与内容 通过本实验,了解Linux系统的shell机制,掌握简单的shell编程技巧。 编制简单的Shell程序,该程序在用户登录时自动执行,显示某些提示信息,如“Welcome to Linux”, 并在命令提示符中包含当前时间、当前目录和当前用户名等基本信息。 2.程序源代码清单 #include<> #include int main(){ printf("Hello Linux\n"); int pid; int state; int pfd[2]; pipe(pfd); if (fork()==0){ printf("In the grep progress\n"); dup2(pfd[0],0); close(pfd[0]); close(pfd[1]); execlp("grep","grep","sh",0); perror("exelp grep error"); } esle if(fork()==0){ printf("In the ps progress\n"); dup2(pfd[1],1); close(pfd[0]); close(pfd[1]); execlp("ps","ps","-ef",0); perror("execlp ps -ef"); }

close(pfd[1]); close(pfd[0]); wait(&state); wait(&state); } 实验内核模块 实验步骤: (1).编写内核模块 文件中主要包含init_clock(),exit_clock(),read_clock()三个函数。其中init_clock(),exit_clock()负责将模块从系统中加载或卸载,以及增加或删除模块在/proc中的入口。read_clock()负责产生/proc/clock被读时的动作。 (2).编译内核模块Makefile文件 # Makefile under ifneq ($(KERNELRELEASE),) #kbuild syntax. dependency relationshsip of files and target modules are listed here. obj-m := else PWD := $(shell pwd) KVER ?= $(shell uname -r) KDIR := /lib/modules/$(KVER)/build all: $(MAKE) -C $(KDIR) M=$(PWD) modules clean: rm -rf .*.cmd *.o *. *.ko .tmp_versions *.symvers *.order endif 编译完成之后生成模块文件。 (3).内核模块源代码 #include #include #include #include #include #include #define MODULE #define MODULE_VERSION "" #define MODULE_NAME "clock" struct proc_dir_entry* my_clock; int read_clock(char* page, char** start, off_t off, int count, int* eof, void* data) { int len; struct timeval xtime;

实验5实验报告

学号:20164477 姓名:陈家凤 实验五SQL语言 一、目的与要求 1.掌握SQL语言的查询功能; 2.掌握SQL语言的数据操作功能; 3.掌握对象资源管理器建立查询、索引和视图的方法; 二、实验准备 1.了解SQL语言的查改增删四大操作的语法; 2.了解查询、索引和视图的概念; 3.了解各类常用函数的含义。 三、实验内容 (一)SQL查询功能 使用提供的studentdb数据库文件,先附加到目录树中,再完成下列题目,SQL命令请保存到脚本文件中。 1.基本查询 (1)查询所有姓王的学生的姓名、学号和性别 Select St_Name,St_Sex,St_ID From st_info Where St_Name like'王%' 图5-1 (2)查询全体学生的情况,查询结构按班级降序排列,同一班级再按学号升序, 并将结果存入新表new中 select*into new from st_info order by Cl_Name desc,st_ID asc

图5-2 (3)对S_C_info表中选修了“体育”课的学生的平均成绩生成汇总行和明细 行。(提示:用compute汇总计算) 因2014版本已不支持compute关键字,所以选择用其他方式。 Select c_no,score From s_c_info Where c_no=29000011 group by c_no,score 图5-3 2.嵌套查询 (1)查询其他班级中比“材料科学0601班”的学生年龄都大的学生姓名和年 龄 select st_name,born_date from st_info where cl_name!='材料科学0601班'and born_date<(select min(born_date) from st_info where cl_name='材料科学0601班')

计算机操作系统实验课实验报告

实验报告 实验课程: 计算机操作系统学生姓名:XXX 学号:XXXX 专业班级:软件 2014年12月25日

目录 实验一熟悉Windows XP中的进程和线程.. 3实验二进程调度 (7) 实验三死锁避免—银行家算法的实现 (18) 实验四存储管理 (24)

实验一熟悉Windows XP中的进程和线程 一、实验名称 熟悉Windows XP中的进程和线程 二、实验目的 1、熟悉Windows中任务管理器的使用。 2、通过任务管理器识别操作系统中的进程和线程的相关信息。 3、掌握利用spy++.exe来察看Windows中各个任务的更详细信息。 三、实验结果分析 1、启动操作系统自带的任务管理器: 方法:直接按组合键Ctrl+Alt+Del,或者是在点击任务条上的“开始”“运行”,并输入“taskmgr.exe”。

2、调整任务管理器的“查看”中的相关设置,显示关于进程的以下各项信息,并 完成下表: 表一:统计进程的各项主要信息 3、启动办公软件“Word”,在任务管理器中找到该软件的登记,并将其结束掉。再

从任务管理器中分别找到下列程序:winlogon.exe、lsass.exe、csrss.exe、smss.exe,试着结束它们,观察到的反应是任务管理器无法结束进程, 原因是该系统是系统进程。 4、在任务管理器中找到进程“explorer.exe”,将之结束掉,并将桌面上你打开的所 有窗口最小化,看看你的计算机系统起来什么样的变化桌面上图标菜单都消失了、得到的结论explorer.exe是管理桌面图标的文件(说出explorer.exe进程的作用)。 5、运行“spy++.exe”应用软件,点击按钮“”,切换到进程显示栏上,查看进 程“explorer.exe”的各项信息,并填写下表: 进程:explorer.exe 中的各个线程

贪吃蛇游戏课程设计实验报告全解

辽宁科技大学课程设计说明书 设计题目:基于C#的贪吃蛇游戏 学院、系:装备制造学院 专业班级:计算机科学与技术 学生姓名:叶佳佳 指导教师:丁宁 成绩: 2015年12月12日

目录 一、概述 (1) 1、用C#实现该设计的方法 (1) 2、贪吃蛇游戏说明 (1) 二、实验目的及设计要求 (1) 1、实验目的 (1) 2、实验要求 (2) 三、课程设计具体实现 (2) 1、概要设计 (2) 1.1、设计思想 (2) 1.2、主模块实现 (2) 1.3、主函数流程图 (4) 2、详细设计 (5) 2.1、设计思想 (5) 2.2、具体模块实现: (5) 四、调试过程及运行结果 (10) 1、调试过程 (10) 2、实验结果 (11) 五、实验心得 (12) 六、参考资料 (13) 七、附录:源代码 (13)

一、概述 1、用C#实现该设计的方法 首先应该了解设计要求,然后按照功能设计出实际模块,每个模块都要完成特定的功能,要实现模块间的高内聚,低耦合。设计模块是一个相当重要的环节,模块的数量不宜太多,也不宜太少,要是每个模块都能比较简单的转换成流程图。模块设计完成后,就该给每个模块绘制流程图。流程图要尽可能的简单且容易理解,多使用中文,补一些过长的代码,增加理解难度。此外,流程图应容易转换成代码。 根据流程图编写好代码后在WindowsXP操作系统,https://www.doczj.com/doc/e01342954.html,2008开发环境下进行运行测试,检查错误,最终设计出可行的程序。 2、贪吃蛇游戏说明 游戏操作要尽可能的简单,界面要尽可能的美观。 编写程序实现贪吃蛇游戏,贪吃蛇游戏是一个深受人们喜欢的游戏:一条蛇在密闭的围墙内,在围墙内随机出现一个食物,通过键盘上的四个光标键控制蛇向上下左右四个方向移动,蛇头撞到食物,则表示食物被吃掉,这时蛇的身体长一节,同时计10分;接着又出现食物,等待被蛇吃掉,如果蛇在移动过程中,撞到墙壁、障碍物或身体交叉(蛇头撞到自己的身体),则游戏结束。游戏结束时输出相应得分。 具体要求有以下几点: (1)对系统进行功能模块分析、控制模块分析正确,符合课题要求,实现相应功能;可以加以其他功能或修饰,使程序更加完善、合理; (2)系统设计要实用,采用模块化程序设计方法,编程简练、可用,功能全面; (3)说明书、流程图要清楚; 二、实验目的及设计要求 1、实验目的 .NET课程设计是教学实践环节中一项重要内容,进行此课程设计旨在掌握基础知识的基础上,进一步加深对VC#.NET技术的理解和掌握; 提高和加强学生的计算机应用及软件开发能力,使学生具备初级程序员的基本素质; 培养学生独立分析问题、解决问题、查阅资料以及自学能力,以适应信息管理行业日新 1

会计课程实验报告

会计课程实验报告 篇一:会计综合实验课实验报告 实验报告 课程名称会计学专业综合实验 实验项目名称模拟企业会计业务处理 班级与班级代码 实验室名称(或课室) 专业会计学 任课教师 学号: 姓名: 实验日期:20 年月 广东商学院教务处制 姓名实验报告成绩 评语: 指导教师(签名)年月日 说明:指导教师评分后,实验报告交院(系)办公室保存。 会计综合实验课实验报告 一、实验目的 该课程是实践课程,是会计学专业学生理论联系实践,培养其实际操作能力的重要教学环节,是会计理论学习的继

续。 课程要求学生在理解会计基本理论、基本方法的基础上,结合使用计算机,通过系统完整的练习,模拟会计主体处理会计业务的全过程,从而使学生体会真实的会计工作环境,系统地掌握会计核算的基本程序和基本方法,训练基本技能,为进一步从事财务分析等会计管理工作做准备。 为适应信息社会对会计人员、管理人员的更高要求,提高在校学生实操能力,激发学生积极性和求知欲,针对会计学专业本科学生的特点,开设本课程。 二、实验原理 严格遵照会计准则,并根据系统所提供的相关会计核算资料,按照会计学原理中会计核算的步骤进行账务处理,按照会计监督的要求进行账务核对和监督;按照复式记账法,根据记账凭证登记账簿;按照资产=负债+所有者权益的会计恒等式进行凭证登记,账簿登记和对账工作。 三、实验设备 计算机系统 四、结果预测 会计凭证、会计账簿、会计报表 五、实验步骤 (一)设置账户 (二)根据会计核算资料,填制各类原始凭证

(三)根据所填制原始凭证,填制记账凭证 (四)根据每张记账凭证,详细登记日记账、明细账以及科目汇总表 (五)根据所填制账簿,登记总账 (六)查账对账 (七)根据所填制总账,填制资产负债表、利润表等报表 (八)会计档案保存 六、实验结果 1、资产负债表 2、利润表 篇二:会计实验报告 《会计学》实验报告 实验室会计与财务实验室 所属课程名称实验类型实验日期 指导教师 班级学号 姓名成绩 【实验目的及要求】 《会计学》是财经类专业的必修课。课程主要阐明的是会计学的基本理论、基本方法。通过本课程的学习,使学生掌握会计学的基本理论、基本方法和基本技能,熟练掌握和

操作系统实验报告心得体会

操作系统实验报告心得体会 每一次课程设计度让我学到了在平时课堂不可能学到的东西。所以我对每一次课程设计的机会都非常珍惜。不一定我的课程设计能够完成得有多么完美,但是我总是很投入的去研究去学习。所以在这两周的课设中,熬了2个通宵,生物钟也严重错乱了。但是每完成一个任务我都兴奋不已。一开始任务是任务,到后面任务就成了自己的作品了。总体而言我的课设算是达到了老师的基本要求。总结一下有以下体会。 1、网络真的很强大,用在学习上将是一个非常高效的助手。几乎所有的资料都能够在网上找到。从linux虚拟机的安装,到linux的各种基本命令操作,再到gtk的图形函数,最后到文件系统的详细解析。这些都能在网上找到。也因为这样,整个课程设计下来,我浏览的相关网页已经超过了100个(不完全统计)。当然网上的东西很乱很杂,自己要能够学会筛选。 不能决定对或错的,有个很简单的方法就是去尝试。就拿第二个实验来说,编译内核有很多项小操作,这些小操作错了一项就可能会导致编译的失败,而这又是非常要花时间的,我用的虚拟机,编译一次接近3小时。所以要非常的谨慎,尽量少出差错,节省时间。多找个几个参照资料,相互比较,

慢慢研究,最后才能事半功倍。 2、同学间的讨论,这是很重要的。老师毕竟比较忙。对于课程设计最大的讨论伴侣应该是同学了。能和学长学姐讨论当然再好不过了,没有这个机会的话,和自己班上同学讨论也是能够受益匪浅的。大家都在研究同样的问题,讨论起来,更能够把思路理清楚,相互帮助,可以大大提高效率。 3、敢于攻坚,越是难的问题,越是要有挑战的心理。这样就能够达到废寝忘食的境界。当然这也是不提倡熬夜的,毕竟有了精力才能够打持久战。但是做课设一定要有状态,能够在吃饭,睡觉,上厕所都想着要解决的问题,这样你不成功都难。 4、最好在做课设的过程中能够有记录的习惯,这样在写实验报告时能够比较完整的回忆起中间遇到的各种问题。比如当时我遇到我以前从未遇到的段错误的问题,让我都不知道从何下手。在经过大量的资料查阅之后,我对段错误有了一定的了解,并且能够用相应的办法来解决。 在编程中以下几类做法容易导致段错误,基本是是错误地使用指针引起的 1)访问系统数据区,尤其是往系统保护的内存地址写数据,最常见就是给一个指针以0地址 2)内存越界(数组越界,变量类型不一致等) 访问到不属于你的内存区域

计算机网络课程设计实验报告

校园网的组建与应用 摘要: 本文针对实验室的设备环境,对校园网的组网方式进行了研究和模拟,并最终提出了一套完整的校园网组网方案。 实验中我们对路由器、交换机等组网基础设备进行了认真的研究。关于路由器,我们实现了本地基本配置,并分别使用路由器的串口和以太网口实现了不同网段的网络互联,对路由器静态及动态路由机制进行了探究。关于交换机,我们实现了VLAN的划分以及不同VLAN间的相互通信,对广播风暴现象的产生原理及解决方案进行了特定的实验。综合两者的功能,我们对多种网络拓扑结构进行了分析,讨论和改进。最后通过实验和模拟提出了一套完整的校园网组建方案。 在此方案中,我们在实现了网络互通的情况下,我们进行了IP地址的划分,IP地址利用DHCP进行自动分配。并根据模拟实际,对不同的主机进行VLAN划分,同时保证不同VLAN间的相互访问与特定VLAN的保护与单向访问。同时构建内部防火墙保证校园网与外部的安全访问。构建了完整可靠的网络之后,依据校园网的功能和服务需求,我们搭建了FTP服务器,用于提供基础的网络服务。 限于实验室条件的限制,我们的方案并不是完全能够适用于现实的。但是,通过实验使我们对校园网乃至更大的网络有了更加深刻的了解。

目录

一、前言 随着信息的调整膨胀,全球信息已经进入以计算机网络为核心的时代。作为科技先导的教育行业,计算机校园网已是教育进行科研和现代化管理的重要手段。近几年、校园网已经取得很大的发展,中国教育科研网投入运营,全国多所高校校园网络开通联网。 随着学校教育手段的现代化,很多学校已经逐渐开始将学校的管理和教学过程向电子化方向发展,校园网的有无以及水平的高低也将成为评价学校及学生选择学校的新的标准之一,此时,校园网上的应用系统就显得尤为重要。一方面,学生可以通过它在促进学习的同时掌握丰富的计算机及网络信息知识,毫无疑问,这是学生综合素质中极为重要的一部分;另一方面,基于先进的网络平台和其上的应用系统,将极大的促进学校教育的现代化进程,实现高水平的教学和管理。 学校目前正加紧对信息化教育的规划和建设。开展的校园网络建设,旨在推动学校信息化建设,其最终建设目标是将建设成为一个借助信息化教育和管理手段的高水平的智能化、数字化的教学园区网络,最终完成统一软件资源平台的构建,实现统一网络管理、统一软件资源系统,并保证将来可扩展骨干网络节点互联带宽为10G,为用户提供高速接入网络,并实现网络远程教学、在线服务、教育资源共享等各种应用;利用现代信息技术从事管理、教学和科学研究等工作。最终达到在网络方面,更好的对众多网络使用及数据资源的安全控制,同时具有高性能,高效率,不间断的服务,方便的对网络中所有设备和应用进行有效的时事控制和管理。 二、综述 2.1 概述 从物理意义上来说,校园网就是一种局域网。校园网是各类型网络中一大分支,有着非常广泛的应用及代表性。作为新技术的发祥地,学校、尤其是高等院校,和网络的关系是密不可分的。作为“高新技术孵化器”的高校,是知识、人才的高地,资源十分丰富,比其他行业更渴求网络新技术、网络新应用,

软件工程课程实验报告

网上招聘求职系统 一、系统分析概述 1、社会应用 当下社会,互联网生活已经逐渐成为人们不可或缺的生活方式,计算机应用也已经渗透到日常工作的许多方面。无论是其自身还是所发挥的作用,计算机都标志着一种高科技、高效率和高水平。在短短的几十年里,网络互连的崛起是之前人们所不能想象的。其中,通过网络来招聘、管理、求职、推销自己也是日渐盛行。网络招聘求职的快速发展,与网络招聘求职平台的建设和发展有着紧密的联系。 2、系统特点 如今社会主流同城网上招聘系统是具有交互功能的人才信息管理系统,它可以实现交互、人才管理、人才交流等功能。其开发主要包括后台数据库的建立和维护以及前台程序的开发两个方面。对于前者要求建立起数据一致性和完整性强、数据安全性好的库;而后者则要求应用程序功能完备,易于使用。 二、需求分析 1、功能需求 实现网上招聘信息化管理,前台管理系统包括用户注册,企业和个人可以通过注册成为会员;招聘信息、求职信息、在线留言;站内新闻、浏览网站消息;后台管理系统包括求职招聘、新闻资讯、企业会员、系统管理员、个人会员,系统管理员可以通过登录后管理网站内的信息等。 会员登陆后,作为求职者,可以浏览各大企业发布的信息,创建自己的简历,创建和修改个人信息,发送求职信等。作为企业,主要功能有发布招聘信息,查看求职申请,发送面试通知等。作为系统管理员,是整个网站的管理者,具有最高的权限,可以对网站各个模块进行管理。 企业会员用例图

设置人才库个人会员用例图 发布求职信息系统管理员用例图

管理系统用户 系统管理员模块时序图如下: : 管理者

: 管理者 : 管理者

操作系统实验报告

操作系统实验报告 实验名称: 系统的引导 所在班级: 指导老师: 老师 实验日期: 2014年3 月29 日

一、实验目的 ◆熟悉hit-oslab实验环境; ◆建立对操作系统引导过程的深入认识; ◆掌握操作系统的基本开发过程; ◆能对操作系统代码进行简单的控制,揭开操作系统的神秘面纱。 二、实验容 1. 阅读《Linux核完全注释》的第6章引导启动程序,对计算机和Linux 0.11的引导过程进行初步的了解。 2. 按照下面的要求改写0.11的引导程序bootsect.s。 3. 有兴趣同学可以做做进入保护模式前的设置程序setup.s。 4. 修改build.c,以便可以使用make BootImage命令 5. 改写bootsect.s主要完成如下功能: bootsect.s能在屏幕上打印一段提示信息XXX is booting...,其中XXX是你给自己的操作系统起的名字,例如LZJos、Sunix等。 6. 改写setup.s主要完成如下功能: bootsect.s能完成setup.s的载入,并跳转到setup.s开始地址执行。而setup.s 向屏幕输出一行"Now we are in SETUP"。setup.s能获取至少一个基本的硬件参数(如存参数、显卡参数、硬盘参数等),将其存放在存的特定地址,并输出到屏幕上。setup.s不再加载Linux核,保持上述信息显示在屏幕上即可。 三、实验环境

本实验使用的系统是windows系统或者是Linux系统,需要的材料是osexp。 四、实验步骤 1. 修改bootsect.s中的提示信息及相关代码; 到osexp\Linux-0.11\boot目录下会看到图1所示的三个文件夹,使用UtraEdit 打开该文件。将文档中的98行的mov cx,#24修改为mov cx,#80。同时修改文档中的第246行为图2所示的情形。 图1图2 图3 2. 在目录linux-0.11\boot下,分别用命令as86 -0 -a -o bootsect.obootsect.s和 ld86 -0 -s -obootsectbootsect.o编译和bootsect.s,生成bootsect文件; 在\osexp目录下点击MinGW32.bat依此输入下面的命令: cd linux-0.11 cd boot as86 -0 -a -o bootsect.obootsect.s ld86 -0 -s -o bootsectbootsect.o

计算机网络课程设计实验报告

中南大学课程设计报告 课程:计算机网络课程设计 题目:基于Winpcap的网络流量统计分析 指导教师:张伟 目录 第一章总体设计 一、实体类设计 --------P3 二、功能类设计 --------P3 三、界面设计 --------P3

第二章详细设计 一、实体类实现 --------P4 二、功能类实现 --------P4 三、界面实现 --------P5 第三章源代码清单及说明 一、CaptureUtil.java --------P7 二、MyPcapPacketHandler.java --------P9 三、PacketMatch.java --------P9 四、Windows.java --------P13 第四章运行结果 --------P19 第五章心得体会 --------P21 第一章总体设计 一、实体类设计 TCP、UPD、ICMP、ARP、广播数据包五个包的数据结构设计 二、功能类设计 (1)网卡获取 (2)包的抓捕

(3)包的处理 三、界面设计 (1)布局 (2)按钮功能连接 第二章第二章详细设计 一、实体类实现 TCP、UPD、ICMP、ARP、广播数据包五个包的数据结构设计。 本程序采用Java编写,基于win10pcap。Win10pcap是winpcap在win10系统上的适用版本。Java对于winpcap使用jnetpcap进行支持。对于TCP、UPD、ICMP、ARP、广播数据包五种类型的包,在jnetpcap的jar包中大部分已经封装好了相关的实体类型。对应如下:ARP 实体类:https://www.doczj.com/doc/e01342954.html,work.Arp; UPD 实体类:https://www.doczj.com/doc/e01342954.html,work.Icmp;

操作系统课程设计实验报告

河北大学工商学院 课程设计 题目:操作系统课程设计 学部信息学部 学科门类电气信息 专业计算机 学号2011482370 姓名耿雪涛 指导教师朱亮 2013 年6月19日

主要内容 一、设计目的 通过模拟操作系统的实现,加深对操作系统工作原理理解,进一步了解操作系统的实现方法,并可练习合作完成系统的团队精神和提高程序设计能力。 二、设计思想 实现一个模拟操作系统,使用VB、VC、CB等windows环境下的程序设计语言,以借助这些语言环境来模拟硬件的一些并行工作。模拟采用多道程序设计方法的单用户操作系统,该操作系统包括进程管理、存储管理、设备管理、文件管理和用户接口四部分。 设计模板如下图: 注:本人主要涉及设备管理模块

三、设计要求 设备管理主要包括设备的分配和回收。 ⑴模拟系统中有A、B、C三种独占型设备,A设备1个,B设备2个,C设备2个。 ⑵采用死锁的预防方法来处理申请独占设备可能造成的死锁。 ⑶屏幕显示 注:屏幕显示要求包括:每个设备是否被使用,哪个进程在使用该设备,哪些进程在等待使用该设备。 设备管理模块详细设计 一、设备管理的任务 I/O设备是按照用户的请求,控制设备的各种操作,用于完成I/O 设备与内存之间的数据交换(包括设备的分配与回收,设备的驱动管理等),最终完成用户的I/O请求,并且I/O设备为用户提供了使用外部设备的接口,可以满足用户的需求。 二、设备管理函数的详细描述 1、检查设备是否可用(主要代码) public bool JudgeDevice(DeviceType type) { bool str = false; switch (type) { case DeviceType.a: {

操作系统实验报告

操作系统实验报告 Document number:NOCG-YUNOO-BUYTT-UU986-1986UT

许昌学院 《操作系统》实验报告书学号: 姓名:闫金科 班级:14物联网工程 成绩: 2016年02月

实验一Linux的安装与配置 一、实验目的 1.熟悉Linux系统的基本概念,比如Linux发行版、宏内核、微内核等。 2.掌握Linux系统的安装和配置过程,初步掌握Linux系统的启动和退出方 法。 3.熟悉Linux系统的文件系统结构,了解Linux常用文件夹的作用。 二、实验内容 1.从网络上下载VMware软件和两个不同Linux发行版镜像文件。 2.安装VMware虚拟机软件。 3.在VMware中利用第一个镜像文件完成第一个Linux的安装,期间完成网络 信息、用户信息、文件系统和硬盘分区等配置。 4.在VMware中利用第二个镜像文件完成第二个Linux的安装,并通过LILO或 者GRUB解决两个操作系统选择启动的问题。 5.启动Linux系统,打开文件浏览器查看Linux系统的文件结构,并列举出 Linux常用目录的作用。 三、实验过程及结果 1、启动VMware,点击新建Linux虚拟机,如图所示: 2、点击下一步,选择经典型,点击下一步在选择客户机页面选择 Linux,版本选择RedHatEnterpriseLinux5,如图所示: 3、点击下一步创建虚拟机名称以及所要安装的位置,如图所示: 4、点击下一步,磁盘容量填一个合适大小,此处选择默认值大小 10GB,如图所示: 5、点击完成,点击编辑虚拟机设置,选择硬件选项中的CD-ROM (IDE...)选项,在右侧连接中选择“使用ISO镜像(I)”选项,点 击“浏览”,找到Linux的镜像文件,如图所示:

网络课程设计实验报告--QQ聊天实现

计算机网络课程设计报告 设计选题网络聊天室 姓名马继鸣 学号 0909090630 完成时间 2012-1-12 一、需求分析

聊天工具大多数由客户端程序和服务器程序外加服务器端,本程序采用客户机/服务器架构模式。通过Java提供的Socket类来连接客户机和服务器并使客户机和服务器之间相互通信,由于聊天是多点对多点的而Java提供的多线程功能。用多线程可完成多点对多点的聊天。 主要有两个应用程序,分别为服务器程序和客户端程序。服务器应用程序主要用于消息转发,以及向所有用户发送系统消息等;客户端应用程序主要用于客户聊天记录的显示和信息输入。采用Client/Server(C/S)体系结构,即客户机/服务器体系结构。聊天服务器专门用于监控用户状态和转发消息,客户端负责接收消息的用户序列和消息文本发送到服务器。该聊天系统实现群聊,用户登陆,退出聊天系统等功能。 二. 设计 1.设计思想: 课程设计中利用JAVA实现基于C/S模式的聊天程序。聊天室共分为服 务器端和客户端两部分,服务器端程序主要负责侦听客户发来的消息,客 户端登录到服务器端才可以实现正常的聊天功能。

2.功能设计 (1)服务器端的主要功能如下。 在特定端口上进行侦听,等待客户端连接。用户可以配置服务端的侦听端口,默认端口为10000. 当停止服务时,断开所有用户连接。 (2)客户端的主要功能如下。 连接到已经开启聊天服务的服务端。 当服务器端开启的话,用户可以随时登录与注销。

用户可以向所有人发送消息。 3.详细设计 聊天室服务器端设计 聊天室服务器中主要的功能文件的功能如下: MyButLis.java 主要用于添加事件侦听和动作处理,具体是服务器按钮中的“终止”“发送”的处理。 public class MyButLis implements ActionListener private MyServe server; private JTextField filed1; public void actionPerformed(ActionEvent e) MyChatSet.java 服务器的线程队列,运行的方法,新增一个用户,则增加一个线程,并可以返回应答消息,给其余用户发送上下线信息,发送聊天信息(群聊私聊虽然已写,但是不知为何没有实现),发送用户列表。关键在于除了线程之外,还定义了传输数据时的协议内容,如何分辨不同的信息,如聊天信息,登陆信息,上下线信息,并把信息完整准确的传递。 public static ArrayList servers=new ArrayList();//线程队列 public static void addThread(MyserThread th) //增加一个服务器线程对象 public static void sendReMess(String type,String state,String s,MyserThread myth)//返回应答信息 public static void SendOSMess(String type,String user)//其他用户上下线信息 public static void SendChatMess(String type,String sender,String reciver,String Mess)//聊天信息 public static void SendList//用户列表 MyCheckTool.java 保存用户的登陆信息,在其中建立一个码表,并且可以判断登陆信息是否合法。 //建立码表,用以保存用户信息 private static Map maps=new HashMap(); public static boolean CheckUser(MyUserInfo user)// 验证用户名

《数据库原理》课程实验报告.

2013-2014学年第一学期《数据库原理》 课程实验报告 学号: 20112723 学生姓名:林苾湲 班级:软件工程2011-2 教师:陶宏才 辅导老师:张建华刘宝菊 2013年12月

实验一:表及约束的创建1.1 实验目的与内容 目的:创建数据表、添加和删除列、实现所创建表的完整性约束。 内容:11-2、11-26~33。 报告:以11-31作为实验一的报告。 1.2 实验代码及结果 1.2.1 实验代码 (1)CREATE TABLE orderdetail20112723 ( Order_no char(6) PRIMARY KEY CONSTRAINT Order_no_constraint20112723 CHECK(Order_no LIKE'[A-Z][A-Z][0-9][0-9]'), Cust_no char(6) NOT NULL, P_no char(6) NOT NULL, Order_total int NOT NULL, Order_date datetime NOT NULL, CONSTRAINT person_contr20112723 FOREIGN KEY (P_no) REFERENCES person20112723(P_no) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT customer_contr20112723 FOREIGN KEY (Cust_no) REFERENCES customer20112723(Cust_no) ON DELETE CASCADE ON UPDATE CASCADE, ) (2)ALTER TABLE salary20112723 ADD CONSTRAINT Pno_FK20112723 FOREIGN KEY(P_no) REFERENCES person20112723(P_no) 1.2.2 实验结果 (1)

操作系统实验报告

操作系统教程 实 验 指 导 书 姓名: 学号: 班级:软124班 指导老师:郭玉华 2014年12月10日

实验一WINDOWS进程初识 1、实验目的 (1)学会使用VC编写基本的Win32 Consol Application(控制台应用程序)。 (2)掌握WINDOWS API的使用方法。 (3)编写测试程序,理解用户态运行和核心态运行。 2、实验内容和步骤 (1)编写基本的Win32 Consol Application 步骤1:登录进入Windows,启动VC++ 6.0。 步骤2:在“FILE”菜单中单击“NEW”子菜单,在“projects”选项卡中选择“Win32 Consol Application”,然后在“Project name”处输入工程名,在“Location”处输入工程目录。创建一个新的控制台应用程序工程。 步骤3:在“FILE”菜单中单击“NEW”子菜单,在“Files”选项卡中选择“C++ Source File”, 然后在“File”处输入C/C++源程序的文件名。 步骤4:将清单1-1所示的程序清单复制到新创建的C/C++源程序中。编译成可执行文件。 步骤5:在“开始”菜单中单击“程序”-“附件”-“命令提示符”命令,进入Windows“命令提示符”窗口,然后进入工程目录中的debug子目录,执行编译好的可执行程序: E:\课程\os课\os实验\程序\os11\debug>hello.exe 运行结果 (如果运行不成功,则可能的原因是什么?) : 有可能是因为DOS下路径的问题 (2)计算进程在核心态运行和用户态运行的时间 步骤1:按照(1)中的步骤创建一个新的“Win32 Consol Application”工程,然后将清单1-2中的程序拷贝过来,编译成可执行文件。 步骤2:在创建一个新的“Win32 Consol Application”工程,程序的参考程序如清单1-3所示,编译成可执行文件并执行。 步骤3:在“命令提示符”窗口中运行步骤1中生成的可执行文件,测试步骤2中可执行文件在核心态运行和用户态运行的时间。 E:\课程\os课\os实验\程序\os12\debug>time TEST.exe 步骤4:运行结果 (如果运行不成功,则可能的原因是什么?) : 因为程序是个死循环程序 步骤5:分别屏蔽While循环中的两个for循环,或调整两个for循环的次数,写出运行结果。 屏蔽i循环: 屏蔽j循环: _______________________________________________________________________________调整循环变量i的循环次数:

操作系统实验报告

操作系统实验报告 银行家算法 班级:计算机()班 姓名:李君益 学号:(号) 提交日期: 指导老师: 林穗 一、设计题目 加深了解有关资源申请、避免死锁等概念,并体会和了解死锁和避免死锁的具体实施方法。 要求编写和调试一个系统动态分配资源的简单模拟程序,观察死锁产生的条件,并采用银行家算法,有效的防止和避免死锁的发生。 二、设计要求

内容: 编制银行家算法通用程序,并检测思考题中所给状态的安全性。 要求: (1)下列状态是否安全?(三个进程共享个同类资源) 进程已分配资源数最大需求数 (状态) (状态) (2)考虑下列系统状态 分配矩阵最大需求矩阵可用资源矩阵 问系统是否安全?若安全就给出所有的安全序列。若进程请求(),可否立即分配? 三、设计分析 一.关于操作系统的死锁 .死锁的产生 计算机系统中有许多独占资源,他们在任一时刻只能被一个进程使用,如磁带机,绘图仪等独占型外围设备,或进程表,临界区等软件资源。两个进程同时向一台打印机输出将导致一片混乱,两个进程同时进入临界区将导致数据库错误乃至程序崩溃。正因为这些原因,所有操作系统都具有授权一个进程独立访问某一辞源的能力。一个进程需要使用独占型资源必须通过以下的次序: ●申请资源 ●使用资源 ●归还资源 若申请施资源不可用,则申请进程进入等待状态。对于不同的独占资源,进程等待的方式是有差别的,如申请打印机资源、临界区资源时,申请失败将一位这阻塞申请进程;而申请打开文件文件资源时,申请失败将返回一个错误码,由申请进程等待一段时间之后重试。只得指出的是,不同的操作系统对于同一种资源采取的等待方式也是有差异的。 在许多应用中,一个进程需要独占访问多个资源,而操作系统允许多个进程并发执行共享系统资源时,此时可能会出现进程永远被阻塞的现象。这种现象称为“死锁”。 2.死锁的定义 一组进程处于死锁状态是指:如果在一个进程集合中的每个进程都在等待只能由该集合中的其他一个进程才能引发的时间,则称一组进程或系统此时发生了死锁。 .死锁的防止 .死锁产生的条件: ●互斥条件

软件项目管理课程设计实验报告

专业班级:软件工程131班姓名:王凯 学号:139074159 指导教师:李伟 2016-05-13

我们生活在一个快速变迁,社会经济大跨步向前迈跃的时代,市场经济突飞猛进,形成了一个多元化市场。在信息系统集成行业中,人们越来越认识到了项目管理的重要性。只有通过不断的学习和进行科学化的实施项目管理,才能使我们在整个项目中满足项目要求,降低项目成本、缩短项目工期、确保项目质量,最终达到用户需求和保障公司的利益。项目管理包括项目范围管理、项目时间管理、项目成本管理、项目质量管理、人力资源管理、项目沟通管理、项目风险管理、项目采购管理和项目整体管理。 项目整体管理包括保证项目各要素相互协调所需要的过程,它需要在相互影响的项目目标和方案中做出平衡,以满足或超出项目干系人的需求和期望。 项目整体管理是在计划实施执行中将项目整体计划目标按步实施展开并转变成项目产出物的管理过程。是一项从项目开始到项目结束的全局性管理工作。实际执行项目时,为了更好完成项目标、任务和计划,我们还要在项目管理中进行综合变更控制。项目整体管理可使用于项目管理的每个阶段。

目录 1、项目概述 (1) 2、工作任务(Statement Of Work,SOW)书 (1) (一)整体要求 (1) (二)系统逻辑模型 (2) (三)系统功能描述 (4) (四)应达到的技术指标和参数 (4) 3、项目进度计划 (5) (一)分解项目工作 (5) (二)项目工作关系表 (6) (三)项目甘特图 (7) (四)网络进度计划图 (8) (五)里程碑计划 (10) 4、项目规模成本估算 (10) (一)分解项目工作 (10) (二)项目规模估算表 (12) (三)计算开发成本 (13) (四)计算管理、质量成本 (13) (五)直接成本 (13) (六)计算间接成本 (14)

操作系统课程实验报告(完整版)

. . 中南大学 《操作系统》实验报告 姓名:福星 专业班级:软件 1006班 学号: 完成日期: 2011.11.22

进程调度与存管理 一、实验目的 在采用多道程序设计的系统中,往往有若干个进程同时处于就绪状态。当就续进程个数大于处理器数时,就必须依照某种策略来决定哪些进程优先占用处理器。实验模拟实现处理机调度,以加深了解处理机调度的工作,并体会优先级和时间片轮转调度算法的具体实施方法。帮助了解在不同的存储管理方式下,应怎样实现主存空间的分配和回收。 二、实验要求 1、可随机输入若干进程,并按优先权排序; 2、从就绪队首选进程运行:优先权-1/要求运行时间-1 要求运行时间=0时,撤销该进程 3、重新排序,进行下轮调度。 4、可随时增加进程; 5、规定道数,设置后备队列和挂起状态。若存中进程少于规定道数,可自动从后备队 列调度一作业进入。被挂起进程入挂起队列,设置解挂功能用于将指定挂起进程解挂入就绪队列。 6、每次调度后,显示各进程状态。 7、自行假设主存空间大小,预设操作系统所占大小并构造未分分区表; 表目容:起址、长度、状态(未分/空表目) 8、结合以上实验,PCB增加为: {PID,要求运行时间,优先权,状态,所需主存大小,主存起始位置, PCB指针} 9、采用最先适应算法分配主存空间; 10、进程完成后,回收主存,并与相邻空闲分区合并。 11、采用图形界面;

三、实验容 选择一个调度算法,实现处理机调度。 1、设计一个按优先权调度算法实现处理机调度的程序; 2、设计按时间片轮转实现处理机调度的程序。 3、主存储器空间的分配和回收。在可变分区管理方式下,采用最先适应算法实现主存空间的分配和回收。 四、实验原理 该模拟系统采用java语言实现,要实现的功能有新建进程、进程调度、挂起进程、解挂进程、删除进程,道数和时间片大小可以由用户自己调整,有两种调度策略:按优先权调度和按时间片轮转调度。每个进程可能有5种状态:新建(new)、就绪(ready)、运行(running)、阻塞(waiting)、挂起(suspend)。每个状态都有一个队列用来存放处于该状态的进程,不同的调度策略采用不同的队列实现。当创建进程时,如果存中的进程数还没达到规定道数,则将新建进程插入就绪队列,如果存中进程数已经达到规定道数,则插到后备队列,后备队列中的进程的状态为new。CPU每次调度时都从就绪队列中取进程,在进程执行过程中如果下一个操作时IO操作,则将进程插入到waiting队列。在系统运行过程中可以执行进程挂起操作,但执行的挂起操作时系统自动暂停运行,在弹出窗口选择要挂起的进程后,将选中的进程从原来的队列中删除并插入到挂起队列。进行解挂操作时将选中的进程从挂起队列中删除并插入该进程原来所处的队列。 ?按优先级调度: 当选择按优先权调度时,所有队列都采用优先队列,优先队列采用一个有序链表实现,进程的优先权值越大代表优先级越高,优先队列中的进程按优先权从大到小排列,当新进程插入时根据该进程的优先权插入到队列中的合适位置,插入后保持队列按优先权从大到小排列,如果新进程与队列中某个进程优先权值相等,则该新进程插到那个进程后面,以遵循先来先服务的规则。当要从队列中取出进程时总是取队列中第一个进程,因为该进程的优先级最高。 ?按时间片轮转调度: 当选择按时间片轮转调度时,所有队列都采用先进先出队列,先进先出队列采用一个普通单向链表实现,当新进程插入时插入到队列的末尾,当要取进程时取队首进程,这样就实现了先进先出。

相关主题
文本预览
相关文档 最新文档