《路由与交换技术》课程设计

《路由与交换技术》课程设计
《路由与交换技术》课程设计

华东交通大学软件学院

课程设计

所属课程名称路由与交换技术

题目

某高校校园网的设计与配置

学院软件学院

班级网络工程 2014-1

学生李××

指导教师

辅导教师

年月日

课程设计(论文)任务书

软件学院软件(网络工程)专业2014-1 班

一、课程设计(论文)题目某高校校园网的设计与配置

二、课程设计(论文)工作自 2017 年 1 月2日起至 2017 年 1月 6 日止。

三、课程设计(论文) 地点: 创新大楼机房。

四、课程设计(论文)内容要求:

1.本课程设计的目的

通过该课程设计,使学生能够更好地掌握路由器和交换机的原理和配置,将课本上的理论知识和实践开发有机结合起来,锻炼学生分析问题、解决问题以及团队协作的能力,并能积累网络管理经验,为以后工作或者学习更高级的网络知识,为毕业生的创新创业打下基础。

2.课程设计的任务及要求

1)基本要求:

(1)根据用户需求确定设计方案,画出网络拓扑图;

(2)确定网络配置策略和配置步骤,进行具体的代码配置。

(3)对实验结果进行测试,验证是否达到预期要求。

(4)完成课程设计报告。

2)课程设计论文编写要求:

(1)将系统需求分析、系统设计方案、拓扑图、网络配置策略和配置代码、实验测试等内容以课程设计论文的形式提交,格式必须严格按照课程设计论文标准格式进行书写和装订。

(2)课程设计报告(论文)包括目录、正文(主要包括课程设计目的,课程设计内容、设备选型、网络设计与规划、各设备的配置、系统测试与结果分析等)、课程设计总结、谢辞、参考文献、附录等内容。

3)课程设计评分标准:

(1)考勤与学习态度:20分。

(2)网络规划方案:20分。

(3)策略配置与系统测试:20分。

(4)回答问题与答辩:20分。

(5)课程设计报告:20分。

4)参考文献:

(1)斯桃枝.路由协议与交换技术.北京:清华大学出版社,2012.

(2)易建勋,姜腊林,史长琼.计算机网络设计[M].北京:人民邮电出版社,2011. (3)陈凯,胡鹏.vlan技术在校园网维护管理中的应用[J].电脑知识与技术,2009(4). (4)王魏.交换机在划分校园vlan中的应用[J].北京工业职业技术学院,2005(7). (5)Craig Hunt. TCP/IP Network Administration 3rd Edition[M]. O'Reilly.2002.

5)课程设计进度安排:

(1)选题和设计阶段(2天):了解题目要求,查阅相关资料,进行问题分析和抽象,选择合理的网络规划与设计方案。

(2)网络策略配置(1.5天):在设备上配置相应的策略命令,并进行系统结果测试,记录结果。

(3)撰写报告阶段(1.5天):根据课程设计内容撰写课程设计报告。

6)选择课程设计题目具体要求:

题目:

(1)某高校校园网的设计与配置

(2)其他自定义题目(需指导教师审定)

在课程设计内容中应包含以下知识点:静态路由,RIP/OSPF/EIGRP动态路由协议,PPP的封装,ACL访问控制,NA T地址转换,VLAN划分,WEB/FTP等服务器的安全策略等。

学生签名:2017年1月2日

课程设计(论文)评审意见

(1)考勤与学习态度(20分):优()、良()、中()、一般()、差();(2)网络规划方案(20分):优()、良()、中()、一般()、差();(3)系统配置与测试(20分):优()、良()、中()、一般()、差();(4)回答问题与答辩(20分):优()、良()、中()、一般()、差();(5)课程设计报告(20分):优()、良()、中()、一般()、差();(6)格式规范性及考勤是否降等级:是()、否()

评阅人:职称:讲师

2017 年1 月6 日

目录

1课程设计目的 (1)

2课程设计内容 (1)

2.1课程设计题目 (1)

2.1.1题目 (1)

2.1.2设计需求 (2)

3设备选型 (3)

3.1设备清单 (3)

3.1.1模块安装 (3)

3.1.2注意事项 (4)

4网络设计与规划 (4)

4.1校园网网络结构设计 (4)

4.1.1接入层设计 (4)

4.1.2汇聚层设计 (5)

4.1.3核心层设计 (6)

5各设备的配置 (7)

5.1教学楼部分 (7)

5.1.1划分VLAN (7)

5.1.2子网连通 (8)

5.2宿舍楼部分 (9)

5.2.1VLAN划分 (9)

5.2.2子网互通 (9)

5.3数据中心部分 (10)

5.4核心路由部分 (11)

5.4.1核心层配置 (11)

5.4.2汇聚层配置 (12)

5.5网络访问配置部分 (13)

5.5.1PPP链路协议配置 (14)

5.5.2配置NAT (15)

5.5.3配置ACL (15)

6系统测试与结果分析 (17)

6.1系统拓扑图 (17)

6.2教学楼部分 (17)

6.2.1划分VLAN结果 (17)

6.2.2子网互通测试 (19)

6.3宿舍楼部分 (20)

6.3.1划分VLAN结果 (20)

6.3.2子网互通测试 (21)

6.4核心路由部分 (22)

6.4.1全网互通测试 (22)

6.5PPP配置结果 (23)

6.6NAT配置结果 (23)

6.7ACL配置结果 (26)

7课程设计小结 (30)

7.1课程设计小结 (30)

7.2课程设计未来工作展望 (30)

谢辞 (31)

参考文献 (31)

1课程设计目的

《路由与交换技术》是软件工程专业的一门专业方向限选课,内容涉及路由器与交换机的综合配置、对实际案例的规划和设计等。通过课程教学和课内实验,学生掌握了路由器与交换机的基本配置和管理方法,在基础知识掌握之后,需要一个相对完整的时间进行知识点的融会贯通,并能将所学基础知识灵活应用于综合性的中小型网络的规划、设计和网络设备配置。本课程设计基于此目的为学生提供一个动手动脑、独立实践的机会。

通过该课程设计,使学生能够更好地掌握路由器和交换机的原理和配置,将课本上的理论知识和实践开发有机结合起来,锻炼学生分析问题、解决问题以及团队协作的能力,并能积累网络管理经验,为以后工作或者学习更高级的网络知识,为毕业生的创新创业打下基础。

2课程设计内容

2.1课程设计题目

2.1.1题目

某高校校园网的拓扑图如图2-1所示(图中所有地址均使用24位掩码)。

图2-1网络拓扑图

2.1.2设计需求

(1)将教学楼1和教学楼2所属子网分别划分为VLAN 2和VLAN 3。

(2)使用单臂路由技术使得教学楼1和教学楼2所属子网互相联通。

(3)将宿舍楼1和宿舍楼2所属子网分别划分为VLAN 4和VLAN 5。

(4)使用三层交换技术使得宿舍楼1和宿舍楼2所属子网互相联通。

(5)采用合适的路由配置策略(静态路由、RIP协议、OSPF协议或

EIGRP协议),使得校园网内部互联互通。

(6)校园网的核心路由器R1和出口路由器ISP之间用高速同步串口连

接,采用PPP链路协议进行通信,采用的认证方式可以选择PAP

和CHAP两种方式之一。

(7)在核心路由器R1上配置合适的NAT,使得宿舍楼1和宿舍楼2所

属子网能访问外网,而教学楼1和教学楼2所属子网不能访问外

网。假定动态转换地池为202.121.241.10~202.121.241.20。

(8)在核心路由器上设置标准ACL或扩展ACL,允许教学楼1和教学

楼2所属子网的用户只可以访问数据中心服务器10.1.1.2的WWW

服务和FTP服务,但不可以访问外网。允许宿舍楼1和宿舍楼2

所属子网内的所有用户可以访问外网的资源,也能访问教学楼1

和教学楼2子网内的资源。其他都不可以访问。

3设备选型

3.1设备清单

本课程设计在Cisco Packet Tracer 7.0中完成。使用设备如表3-1。

类型型号数量备注

路由器2621XM 3 1.核心路由及出口路由需要

安装串口。

2.核心路由需要增加一个以

太网口

二层交换机2960-24TT 2

三层交换机3560-24PS 2

主机PC-PT 5 自带以太网口

服务主机Server-PT 1

线缆若干

表3-1设备清单

3.1.1模块安装

核心路由器R1加装NM-1E、WIC-1T模块,安装后如图3-2。

图3-2核心路由加装模块

出口路由器ISP加装WIC-1T模块,安装后如图3-3。

图3-3出口路由加装模块

3.1.2注意事项

给路由器加装模块,需要先关闭电源。电源位置如图3-4。

图3-4电源开关位置

4网络设计与规划

4.1校园网网络结构设计

为了减少网络中各部分的相关性,便于网络的实施及管理,在网络的构建中,从整体上可以将网络划分为核心层、汇聚层、接入层等三个层次。采用了分层结构的校园网解决方案在性能、可靠性、拓展性等方面有无可比拟的优势,在投资保护方面,使得整个网络的性能价格比最优。

4.1.1接入层设计

接入层包括教学楼和宿舍楼的分别位与4个VLAN的主机和两个二层

接入交换机。

教学楼拓扑图,如图4-1 。

图4-1教学楼接入层宿舍楼拓扑图,如图4-2 。

图4-2宿舍楼接入层

4.1.2汇聚层设计

汇聚层包括两个三层汇聚交换机和一个汇聚路由器汇聚层的连接方式如图4-3,4-4,4-5。

图4-3汇聚路由器R2

图4-4汇聚交换机SW3

图4-5汇聚交换机SW4

4.1.3核心层设计

核心层由一台核心路由器连接出口路由器及汇聚层的设备,拓扑图如图4-6 。

图4-6 核心层拓扑图

5各设备的配置

5.1教学楼部分

对教学楼的汇聚层及接入层的配置要求是:

1.将教学楼1和教学楼2所属子网分别划分为VLAN 2和VLAN 3。

2.使用单臂路由技术使得教学楼1和教学楼2所属子网互相联通。

5.1.1划分VLAN

接入交换机SW1的配置:

Switch>en

Switch#conf t

Switch(config)#host SW1

SW1(config)#vlan 2 /* 创建vlan 2 */

SW1(config-vlan)#ex

SW1(config)#vlan 3 /* 创建vlan 3 */

SW1(config-vlan)#int f0/2

SW1(config-if)#sw ac vlan 2 /* 将端口2分配给vlan 2 */

SW1(config-if)#int f0/3

SW1(config-if)#sw ac vlan 3 /* 将端口3分配给vlan 3 */

SW1(config-if)#int f0/1

SW1(config-if)#sw mod trunk /* 将端口1定义为Trunk口*/

5.1.2子网连通

汇聚路由器R2的配置:

Router>en

Router#conf t

Router(config)#host R2

R2(config)#int f0/1

R2(config-if)#no shu /* 启动路由器的端口*/

R2(config-if)#no ip add /* 并清除IP地址*/

R2(config-if)#ex

R2(config)#int f0/1.1 /* 配置子端口,端口号1 */

R2(config-subif)#enc dot1q 2 /* 封装到vlan 2 */

R2(config-subif)#ip add 192.168.2.254 255.255.255.0

R2(config-subif)#no shu

R2(config-subif)#ex

R2(config)#int f0/1.2 /* 配置子端口,端口号2 */

R2(config-subif)#enc dot1q 3 /* 封装到vlan 3 */

R2(config-subif)#ip add 192.168.3.254 255.255.255.0

R2(config-subif)#no shu

R2(config-subif)#ex

交换机SW1的配置:

SW1(config)#int f0/1

SW1(config-if)#sw trunk allow vlan all /* Trunk接口1允许所有vlan */ SW1(config-if)#ex

教学楼主机的配置:

教学楼1:IP:192.168.2.22/24 网关:192.168.2.254

教学楼2:IP:192.168.3.22/24 网关:192.168.3.254

5.2宿舍楼部分

对宿舍楼的汇聚层及接入层的配置要求是:

1.将宿舍楼1和宿舍楼2所属子网分别划分为VLAN 4和VLAN 5。

2.使用三层交换技术使得宿舍楼1和宿舍楼2所属子网互相联通。

5.2.1VLAN划分

接入交换机SW2的配置:

Switch>en

Switch#conf t

Switch(config)#host SW2

SW2(config)#vlan 4 /* 创建vlan 4 */

SW2(config-vlan)#vlan 5 /* 创建vlan 5 */

SW2(config-vlan)#int f0/2

SW2(config-if)#sw ac vlan 4 /* 将端口2分配到vlan 4 */

SW2(config-if)#int f0/3

SW2(config-if)#sw ac vlan 5 /* 将端口3分配到vlan 5 */

SW2(config-if)#int f0/1

SW2(config-if)#sw mod trunk /* 将端口1定义为Trunk口*/

5.2.2子网互通

接入交换机SW2的配置:

SW2(config)#int f0/1

/* 配置Trunk口的许可vlan */

SW2(config-if)#sw trunk allowed vlan add 4

/* 配置Trunk口的许可vlan */

SW2(config-if)#sw trunk allowed vlan add 5

汇聚交换机SW3的配置:

Switch>en

Switch#conf t

Switch(config)#host SW3

SW3(config)#vlan 4 /* 创建vlan 4 */

SW3(config-vlan)#int vlan 4

/* 配置虚拟端口vlan 4 的地址*/

SW3(config-if)#ip add 172.16.4.254 255.255.255.0

SW3(config-if)#no shu

SW3(config-if)#vlan 5 /* 创建vlan 5 */

SW3(config-vlan)#int vlan 5

/* 配置虚拟端口vlan 5 的地址*/

SW3(config-if)#ip add 172.16.5.254 255.255.255.0

SW3(config-if)#no shu

SW3(config-if)#ip routing /* 开启三层交换机的路由功能*/

宿舍楼主机的配置:

宿舍楼1:IP:172.16.4.22/24 网关:172.16.4.254

宿舍楼2:IP:172.16.5.22/24 网关:172.16.5.254

5.3数据中心部分

汇聚交换机SW4的配置:

Switch>en

Switch#conf t

Switch(config)#host SW4

SW4(config)#int f0/2

/* 将端口2分配到vlan 1 */

SW4(config-if)#sw ac vlan 1

SW4(config-if)#int vlan 1

/* 配置虚拟端口vlan 1 的地址*/

SW4(config-if)#ip add 10.1.1.254 255.255.255.0

SW4(config-if)#no shu

SW4(config)#int f0/1

/* 将端口1作为路由口*/

SW4(config-if)#no sw

SW4(config-if)#ip add 10.1.2.100 255.255.255.0

SW4(config-if)#no shu

数据中心的配置:

IP地址:10.1.1.22

子网掩码:255.255.255.0

默认网关:10.1.1.254

5.4核心路由部分

采用合适的路由配置策略(静态路由、RIP协议、OSPF协议或EIGRP 协议),使得校园网内部互联互通。

5.4.1核心层配置

核心路由器R1的配置:

Router>en

Router#conf t

Router(config)#host R1

/* 配置各端口的地址*/

R1(config-if)#int e1/0

R1(config-if)#ip add 10.1.2.101 255.255.255.0

R1(config-if)#no shu

R1(config-if)#int f0/1

R1(config-if)#ip add 172.16.1.101 255.255.255.0

R1(config-if)#no shu

R1(config-if)#int f0/0

R1(config-if)#ip add 192.168.4.101 255.255.255.0 R1(config-if)#no shu

R1(config-if)#ex

/* 使用EIGRP协议*/

R1(config)#router eigrp 1

R1(config-router)#net 10.1.2.0

R1(config-router)#net 172.16.1.0

R1(config-router)#net 192.168.4.0

5.4.2汇聚层配置

汇聚路由器R2的配置:

R2(config)#int f0/0

R2(config-if)#ip add 192.168.4.100 255.255.255.0 R2(config-if)#no shu

R2(config-if)#ex

R2(config)#router eigrp 1 /* 配置EIGRP */

R2(config-router)#net 192.168.4.0

R2(config-router)#net 192.168.3.0

R2(config-router)#net 192.168.2.0

汇聚交换机SW3的配置:

SW3(config-if)#int f0/2

SW3(config-if)#no sw

SW3(config-if)#ip add 172.16.1.100 255.255.255.0

SW3(config-if)#no shu

SW3(config-if)#ex

SW3(config)#route eigrp 1 /* 配置EIGRP,已开启路由功能*/

SW3(config-router)#net 172.16.1.0

SW3(config-router)#net 172.16.4.0

SW3(config-router)#net 172.16.5.0

汇聚交换机SW4的配置:

SW4(config)#ip routing /* 开启三层交换机的路由功能*/

SW4(config)#route eigrp 1 /* 使用EIGRP协议*/

SW4(config-router)#net 10.1.1.0

SW4(config-router)#net 10.1.2.0

SW4(config-router)#ex

5.5网络访问配置部分

相关配置包含以下要求:

1.校园网的核心路由器R1和出口路由器ISP之间用高速同步串口连

接,采用PPP链路协议进行通信,采用的认证方式可以选择PAP

和CHAP两种方式之一。

2.在核心路由器R1上配置合适的NAT,使得宿舍楼1和宿舍楼2所

属子网能访问外网,而教学楼1和教学楼2所属子网不能访问外

网。假定动态转换地池为202.121.241.10~202.121.241.20。

3.在核心路由器上设置标准ACL或扩展ACL,允许教学楼1和教学楼

2所属子网的用户只可以访问数据中心服务器10.1.1.22的WWW

服务和FTP服务,但不可以访问外网。允许宿舍楼1和宿舍楼2

所属子网内的所有用户可以访问外网的资源,也能访问教学楼1

和教学楼2子网内的资源。其他都不可以访问。

5.5.1PPP链路协议配置

核心路由器R1的配置:

R1(config)#int s0/0

R1(config-if)#ip add 202.121.241.8 255.255.255.0

R1(config-if)#enc PPP /* 启用PPP协议*/

/* 设置PAP认证*/

R1(config-if)#ppp pap sent-username SSPU password rapass

R1(config-if)#no shu

出口路由器ISP的配置:

Router>en

Router#conf t

Router(config)#host ISP

/* 设置用户名密码*/

ISP(config)#username SSPU password rapass

ISP(config)#int s0/0

ISP(config-if)#ip add 202.121.241.100 255.255.255.0

ISP(config-if)#cl ra 64000 /* 设置串口时钟频率*/

ISP(config-if)#enc PPP /* 启用PPP协议*/

ISP(config-if)#ppp authentication pap /* 使用PAP认证方式*/ ISP(config-if)#no shu

ISP(config-if)#int f0/0

ISP(config-if)#ip add 219.220.240.110 255.255.255.0

ISP(config-if)#no shu

ISP(config-if)#ex

ISP(config)#router rip /* 配置RIP路由协议*/

ISP(config-router)#v 2

ISP(config-router)#net 202.121.241.0

ISP(config-router)#net 219.220.240.0

操作系统课程设计

课程设计报告 2015~2016学年第一学期 操作系统综合实践课程设计 实习类别课程设计 学生姓名李旋 专业软件工程 学号130521105 指导教师崔广才、祝勇 学院计算机科学技术学院 二〇一六年一月

- 1 -

- 2 -

一、概述 一个目录文件是由目录项组成的。每个目录项包含16B,一个辅存磁盘块(512B)包含32个目录项。在目录项中,第1、2字节为相应文件的外存i节点号,是该文件的内部标识;后14B为文件名,是该文件的外部标识。所以,文件目录项记录了文件内、外部标识的对照关系。根据文件名可以找到辅存i节点号,由此便得到该文件的所有者、存取权、文件数据的地址健在等信息。UNIX 的存储介质以512B为单位划分为块,从0开始直到最大容量并顺序加以编号就成了一个文件卷,也叫文件系统。UNIX中的文件系统磁盘存储区分配图如下: 本次课程设计是要实现一个简单的模拟Linux文件系统。我们在内存中开辟一个虚拟磁盘空间(20MB)作为文件存储器,并将该虚拟文件系统保存到磁盘上(以一个文件的形式),以便下次可以再将它恢复到内存的虚拟磁盘空间中。文件存储空间的管理可采用位示图方法。 二、设计的基本概念和原理 2.1 设计任务 多用户、多级目录结构文件系统的设计与实现。可以实现下列几条命令login 用户登录 logout 退出当前用户 dir 列文件目录 creat 创建文件 delete 删除文件 open 打开文件 close 关闭文件 - 3 -

read 读文件 write 写文件 mkdir 创建目录 ch 改变文件目录 rd 删除目录树 format 格式化文件系统 Exit 退出文件系统 2.2设计要求 1) 多用户:usr1,usr2,usr3,……,usr8 (1-8个用户) 2) 多级目录:可有多级子目录; 3) 具有login (用户登录)4) 系统初始化(建文件卷、提供登录模块) 5) 文件的创建:create (用命令行来实现)6) 文件的打开:open 7) 文件的读:read8) 文件的写:write 9) 文件关闭:close10) 删除文件:delete 11) 创建目录(建立子目录):mkdir12) 改变当前目录:cd 13) 列出文件目录:dir14) 退出:logout 新增加的功能: 15) 删除目录树:rd 16) 格式化文件系统:format 2.3算法的总体思想 - 4 -

北京理工大学汇编实验报告3

北京理工大学汇编实验报告3

本科实验报告实验名称:实验三字符串操作实验 课程名称: 课程设计Ⅰ(CPU与汇编)(实 验)实验时间: 第5-10周周五 下午 任课教师:聂青实验地点:10-102 实验教师:苏京霞 实验类型:?原理验证□综合设计□自主创新 学生姓名:罗逸雨 学号/班级:1120141208 05211401 组号:3 学院:信息与电子学院同组搭档: 专业:通信工程成绩:

CX 中值减 1,当 CX 中值减至 0 时,停止重复执行,继续执行下一条指令。当REP无条件重复前缀,重复串操作直到计数寄存器的内容 CX 为0为止。经常与REP 配合工作的字符串处理指令有MOVS、STOS和LODS。 当REPE/REPZ判断计数寄存器的内容 CX 是否为0或ZF=0(即比较的两个操作数不等),只要满足一个则重复执行结束,否则继续执行。可以与 REPE/REPZ 配合工作的串指令有CMPS和SCAS。 当REPNE/REPNZ判断计数寄存器的内容是否为0或ZF=1(即比较的两个操作数相等),只要满足一个则重复执行结束,否则继续执行。可以与 REPE/REPZ 配合工作的串指令有CMPS和SCAS。 3)字符串操作指令 lodsb、lodsw:把DS:SI指向的存储单元中的数据装入AL或AX,然后根据 DF 标志增减 SI; stosb、stosw:把AL或AX中的数据装入ES:DI指向的存储单元,然后根据 DF 标志增减 DI; movsb、movsw:把 DS:SI 指向的存储单元中的数据装入ES:DI指向的存储单元中,然后根据 DF标志分别增减SI和DI; scasb、scasw:把AL或AX 中的数据与ES:DI 指向的存储单元中的数据相减,影响标志位,然后根据DF标志分别增减SI和DI; cmpsb、cmpsw:把DS:SI 指向的存储单元中的数据与 ES:DI 指向的存储单元中的数据相减,影响标志位,然后根据DF标志分别增减SI和DI; rep:重复其后的串操作指令。重复前先判断 CX 是否为0,为0就结束重复,否则CX减1,重复其后的串操作指令。主要用在MOVS和STOS前。一般不用在 LODS 前。 上述指令涉及的寄存器:段寄存器DS和ES、变址寄存器SI和DI、累加器 AX、计数器CX。 涉及的标志位:DF、AF、CF、OF、PF、SF、ZF。 三、实验步骤 1) 编写程序,比较两个字符串BUF1和BUF2所含的字符是否相同,相同则AL 返回0,不同AL返回1,字符串长度要求自动获取,要求用字符串处理方法。提示:输入两个字符串之后,将串操作所必须的寄存器等参数设置好,然后使用串操作指令进行从头到尾的比较,两个字符串相等的条件是串长度相等且对应的字符相同。 2) 编写程序,设有一字符串存放在以BUF为首址的数据区中,其最后一字符‘$’作为结束标志,计算该字符串的长度并输出。提示:从串的第一个字符开始统计,直到遇到定义的字符串结束符为止,看看在这个过程中总共有多少个字符,

操作系统课程设计报告书

题目1 连续动态内存管理模拟实现 1.1 题目的主要研究内容及预期达到的目标 (1)针对操作系统中内存管理相关理论进行设计,编写程序并进行测试,该程序管理一块虚拟内存。重点分析三种连续动态内存分配算法,即首次适应算法、循环首次适应算法和最佳适应算法。 (2)实现内存分配和回收功能。 1.2 题目研究的工作基础或实验条件 (1)硬件环境:PC机 (2)软件环境:Windows XP,Visual C++ 6.0 1.3 设计思想 首次适应算法的实现:从空闲分区表的第一个表目起查找该表,把最先能够满足要求的空闲区分配给作业,这种方法的目的在于减少查找时间。为适应这种算法,空闲分区表中的空闲分区要按地址由低到高进行排序。该算法优先使用低址部分空闲区,在低址空间造成许多小的空闲区,在高址空间保留大的空闲区。 循环首次适应算法的实现:在分配内存空间时,不再每次从表头开始查找,而是从上次找到空闲区的下一个空闲开始查找,直到找到第一个能满足要求的的空闲区为止,并从中划出一块与请求大小相等的内存空间分配给作业。该算法能使内存中的空闲区分布得较均匀。 最佳适应算法的实现:从全部空闲区中找到能满足作业要求的、且最小的空闲分区,这种方法能使碎片尽量小。为适应此算法,空闲分区表中的空闲分区要按从小到大进行排序,从表头开始查找第一个满足要求的自由分配。 1.4 流程图 内存分配流程图,如图1-1所示。

图1-1 内存分配流程图内存回收流程图,如1-2所示。

图1-2 内存回收流程图 1.5 主要程序代码 (1)分配内存 void allocate(char z,float l) { int i,k; float ad; k=-1; for(i=0;i= l && free_table[i].flag == 1) if(k==-1 || free_table[i].length

汇编课程设计报告

四川大学计算机学院 学生实验报告 实验名称:汇编课程设计报告 指导教师:唐宁九 姓名:廖偲 学号:0943111209 班级:软件09级一班 日期:20101114

实验报告 班级______________姓名_______________学号_________ 一、实验一:DEBUG基本命令与数据传输指令 二、实验的目的和要求: ? 1.熟练掌握DEBUG的基本调试命令,能够使用DEBUG编写、调试汇编语言程序片段。 ? 2.在理解数据传输指令的基础上按照实验内容中指定的程序片段对程序进行调试和记录; 三、实验的环境: 1.硬件环境:cpu 2.26gHZ、内存2G、显存1G、64位总线笔记本电脑 2.软件环境:win7 32位操作系统、8086/8088指令集系统(在windows系统中)、masm的汇编工具。 四、源程序清单: ?MOV AL, 01H ?MOV SI, 0002H ?LEA SI, [SI] ?MOV BYTE PTR [SI], 80H ?LAHF ?XCHG AL, AH ?SAHF ?XCHG AH, [SI] ?SAHF 五、操作内容: 1.从cmd在debug下进入用A命令进行汇编 格式: A [地址] 功能:从键盘输入汇编程序, 并逐条地把汇编指令翻译成机器代码指令存入对应内存单元。如果不指定汇编地址, 则以CS:IP为地址 2. 反汇编命令U使用 格式: U [地址]/[地址范围] 功能: 将指定地址范围内的机器代码翻译成汇编源程序指令显示出来, 并同时显示地址及代码。 注意: 反汇编时一定确认指令的起始地址, 否则得不到正确的结果。 3.寄存器查看/编辑命令r或r寄存器名称 功能: 显示当前所有寄存器内容, 状态标志及将要执行的下一条指令的地址、代码和汇编指令形式。

操作系统课程设计报告

操作系统课程设计报告

东莞理工学院 操作系统课程设计报告 学院:计算机学院 专业班级: 13软件工程1班 提交时间: 2015/9/14 指导教师评阅意见: . 项目名称:进程与线程管理功能 一、设计目的 用语言来模拟进程和线程管理系统,加深对进程和线程的理解,掌握对进程和线程各种状态和管理的算法原理。

二、环境条件 系统: WindowsXP、VMWare、Ubuntu Linux 语言:C/C++ 开发工具:gcc/g++、Visual C++ 6.0 三、设计内容 1. 项目背景 计算机的硬件资源有限,为了提高内存的利用率和系统的吞吐量,就要根据某种算法来管理进程和线程的状态从而达到目的。 进程与线程管理功能完成基于优先级的抢占式线程调度功能,完成进程虚拟内存管理功能。 进程与线程管理功能 基本要求:完成基于优先级的抢占式线程调度功能,完成进程虚拟内存管理功能。 提高要求:(增加1项就予以加分) (1) 实现多种线程调度算法; (2)通过“公共信箱”进行通信的机制,规定每一封信的大小为128字节,实现两个用户进程之间通过这个“公共信箱”进行通信。 (3) 实现多用户进程并发的虚拟内存管理功能。

(4) 实现用户进程间通信功能,并用生产者/消费者问题测试进程间通信功能的正确性。 (5) 实现改进型Clock页面置换算法。 (6) 实现Cache功能,采用FIFO替换算法。 2. 扩展内容 实现多种线程调度算法:时间片轮转调度算法 四、人员分工 优先级调度算法:钟德新,莫友芝 时间片轮转调度算法:张德华,袁马龙 设计报告由小组队员共同完成。小组成员设计的代码分工如下:钟德新编写的代码:void Prinft(){ PCB *p; system("cls");//清屏 p=run; //运行队列 if(p!=NULL) { p->next=NULL; } cout<<"当前正在运行的进程:"<procname<<"\t\t"<pri<<"\t"<needOftime<<"\t\t"<runtime<<"\t\t"<state<next; } cout<

操作系统课程设计报告

上海电力学院 计算机操作系统原理 课程设计报告 题目名称:编写程序模拟虚拟存储器管理 姓名:杜志豪.学号: 班级: 2012053班 . 同组姓名:孙嘉轶 课程设计时间:—— 评语: 成绩: 目录 一、设计内容及要求 (4) 1. 1 设计题目 (4) 1.2 使用算法分析: (4)

1. FIFO算法(先进先出淘汰算法) (4) 1. LRU算法(最久未使用淘汰算法) (5) 1. OPT算法(最佳淘汰算法) (5) 分工情况 (5) 二、详细设计 (6) 原理概述 (6) 主要数据结构(主要代码) (6) 算法流程图 (9) 主流程图 (9) Optimal算法流程图 (10) FIFO算法流程图 (10) LRU算法流程图 (11) .1源程序文件名 (11) . 2执行文件名 (11) 三、实验结果与分析 (11) Optimal页面置换算法结果与分析 (11) FIFO页面置换算法结果与分析 (16) LRU页面置换算法结果与分析 (20) 四、设计创新点 (24) 五、设计与总结 (27)

六、代码附录 (27) 课程设计题目 一、设计内容及要求 编写程序模拟虚拟存储器管理。假设以M页的进程分配了N

块内存(N

汇编语言-课程设计1

) 汇编语言课程实验报告 实验名称 课程设计1 实验环境 硬件平台:Intel Core i5-3210M 操作系统:DOSBox in Windows 软件工具:Turbo C , Debug, MASM 实验内容 《 将实验7中的Power idea公司的数据按照下图所示的格式在屏幕上显示出来。 实验步骤 1.要完成这个实验,首先我们需要编写三个子程序。第一个子程序是可以显示字符串到屏 幕的程序,其汇编代码如下: ;名称:show_str

;功能:在屏幕的指定位置,用指定颜色,显示一个用0结尾的字符串 ;参数:(dh)=行号,(dl)=列号(取值范围0~80),(cl)=颜色,ds:si:该字符串的首地址 ;返回:显示在屏幕上 ¥ show_str: push ax push cx push dx push es push si push di mov ax,0b800h - mov es,ax mov al,160 mul dh add dl,dl mov dh,0 add ax,dx mov di,ax mov ah,cl . show_str_x: mov cl,ds:[si] mov ch,0 jcxz show_str_f mov al,cl mov es:[di],ax inc si inc di 【 inc di jmp show_str_x show_str_f: pop di pop si pop es pop dx pop cx } pop ax ret 2.第二个程序是将word型数据转换为字符串,这样我们才能调用第一个程序将其打印出

操作系统课程设计完整版内含代码

操作系统课程设计LRU页面调度算法 学号: 姓名: 学院: 专业: 班级: 指导老师: 日期:

目录 一、实验题目 (1) 二、课程设计的目的 (1) 三、设计内容 (1) 四、设计要求 (1) 五、设计思想 (1) 六、主要数据结构及其说明 (2) 七、硬件支持 (3) 八、源程序文件 (3) 九、程序运行结果 (7) 十、实验体会 (8)

一实验题目 LRU页面调度算法 二课程设计的目的 操作系统课程设计是计算机专业重要的教学环节,它为学生提供了一个既动手又动脑,将课本上的理论知识和实际有机的结合一起,独立分析和解决实际问题的机会。 1.进一步巩固和复习操作系统的基础知识。 2. 培养学生结构化程序、模块化程序设计的方法和能力。 3.提高学生调试程序的技巧和软件设计的能力。 4.提高学生分析问题、解决问题以及综合利用C语言进行程序设计的能力。 三设计内容 程序应模拟实现LRU算法思想,对n个页面实现模拟调度。 四设计要求 1.不同的功能使用不同的函数实现(模块化),对每个函数的功能和调用接口要注释清楚。对程序其它部分也进行必要的注释。 2.对系统进行功能模块分析、画出总流程图和各模块流程图。 3.用户界面要求使用方便、简洁明了、美观大方、格式统一。所有功能可以反复使用,最好使用菜单。 4.通过命令行相应选项能直接进入某个相应菜单选项的功能模块。 5.所有程序需调试通过。 五设计思想 最近最久未使用(LRU)页调度算法是选择最近最久未使用的页面予以淘汰。 算法赋予每个页面一个访问字段,用来记录一个页面自上次被访问以来所经历的时间,当所要访问的页面在内存块中时,就不淘汰页面,否则,淘汰页面中时间最长的,即淘汰最近最久未使用的页面。

计算机组成原理与大全实验报告

计算机组成原理与汇编课程设计 实验报告 字符统计.asm 2.斐波那契数(小于50).asm (29) 一、课程设计目标 通过课程设计使学生综合运用所学过的计算机原理与汇编知识,增强解决实际问题的能力,加深对所学知识的理解与掌握,提高软硬件开发水平,为今后打下基础。

课程设计的目的和要求: 1、使学生巩固和加强《计算机原理与汇编语言》课程的基本理论知识。 2、使学生掌握汇编语言程序设计的方法及编程技巧,正确编写程序。 3、使学生养成良好的编程习惯并掌握调试程序的基本方法。 4、使学生养成规范书写报告文档的能力,撰写课程设计总结报告。 5、通过查阅手册和文献资料,培养学生独立分析问题和解决问题的能力。 1 2 3 4 1 2 3 00001001 00100000 00001011 00110000 00001011

01000000 00000000 00000001 本实验设计机器指令程序如下: 4)这里做的是个加法运算,第一个加数已经存入到内存的0000 1010单元中, 第二个加数是需要手工输入的。在实验运行面板中点击“运行”按钮,选择 “输入”芯片,设置输入的数据后,双击连接“输入”芯片的单脉冲,这样 第二个加数就设置好了。 5)在实验运行面板中双击连续脉冲,模型机便开始工作,观察各个芯片的状态。 或者在模型机调试窗口中(如图2所示)点击“指令执行”选项卡,在模型 机调试窗口中点击“下一时钟”,模型机机执行到下一个时钟,点击“下一

微指令”,模型机机执行到下一个微指令,点击“下一指令”,模型机机执行到下一条指令。观察各个芯片的状态,思考模型机的运行原理。 四、课程设计的要求 1、根据题目内容,查阅资料。 2、编写课程设计预习报告。 3、编制程序及调试程序。 4、分析总结,写出课程设计报告,报告中应该包含程序功能与使用说明、程序功能 实现方法说明、如流程图与算法参数说明等内容,设计经验体会总结,源程序清 5 6 1 通 三、实验设计内容 读取文件代码段: MOV AX,DATAS MOV DS,AX ;置数据段寄存器 ; MOV DX,OFFSET FNAME MOV AX,3D00H ;读打开指定文件

操作系统课程设计报告

东莞理工学院 操作系统课程设计报告学院:计算机学院 专业班级:13软件工程1班 提交时间:2015/9/14 指导教师评阅意见: . 项目名称:进程与线程管理功能 一、设计目的 用语言来模拟进程和线程管理系统,加深对进程和线程的理解,掌握对进程和线程各种状态和管理的算法原理。 二、环境条件 系统:WindowsXP、VMWare、Ubuntu Linux 语言:C/C++ 开发工具:gcc/g++、Visual C++ 6.0 三、设计内容 1. 项目背景

计算机的硬件资源有限,为了提高内存的利用率和系统的吞吐量,就要根据某种算法来管理进程和线程的状态从而达到目的。 进程与线程管理功能完成基于优先级的抢占式线程调度功能,完成进程虚拟内存管理功能。 进程与线程管理功能 基本要求:完成基于优先级的抢占式线程调度功能,完成进程虚拟内存管理功能。 提高要求:(增加1项就予以加分) (1) 实现多种线程调度算法; (2)通过“公共信箱”进行通信的机制,规定每一封信的大小为128字节,实现两个用户进程之间通过这个“公共信箱”进行通信。 (3) 实现多用户进程并发的虚拟内存管理功能。 (4) 实现用户进程间通信功能,并用生产者/消费者问题测试进程间通信功能的正确性。 (5) 实现改进型Clock页面置换算法。 (6) 实现Cache功能,采用FIFO替换算法。 2. 扩展内容 实现多种线程调度算法:时间片轮转调度算法 四、人员分工 优先级调度算法:钟德新,莫友芝 时间片轮转调度算法:张德华,袁马龙 设计报告由小组队员共同完成。小组成员设计的代码分工如下: 钟德新编写的代码:void Prinft(){ PCB *p; system("cls");//清屏 p=run; //运行队列 if(p!=NULL) { p->next=NULL; } cout<<"当前正在运行的进程:"<procname<<"\t\t"<pri<<"\t"<needOftime<<"\t\t"<runtime<<"\t\t"<state<next; } cout<procname<<"\t\t"<pri<<"\t"<needOftime<<"\t\t"<runtime<<"\t\t"<state<next; } cout<

汇编器实验报告doc

汇编器实验报告 篇一:汇编实验报告 实验一(1)熟悉汇编语言程序调试环境及顺序程序设计 一、实验目的及要求: 1.学习及掌握汇编语言源程序的书写格式和要求,明确程序中各段的功能和相互之间的关系。 2.学会使用EDIT、MASM、LINK、DEBUG等软件工具。 3.熟练掌握在计算机上建立、汇编、连接、调试及运行程序的方法。 二、熟悉汇编语言程序调试环境 1.汇编语言源程序的建立 本例中给出的程序是要求从内存中存放的10个无符号字节整数数组中找出最小数,将其值保存在AL寄存器中。设定源程序的文件名为ABC。 DATA SEGMENT BUFDB 23H,16H,08H,20H,64H,8AH,91H,35H,2BH,7FH CN EQU $-BUF DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: PUSH DS

XOR AX,AX PUSH AX MOVAX,DATA MOV DS,AX MOV BX,OFFSET BUF MOV CX,CN DEC CX MOV AL,[BX] INC BX LP:CMP AL,[BX] JBE NEXT MOV AL,[BX] NEXT: INC BX DEC CX JNZ LP MOV AH,4CH INT 21H CODE ENDS END START 键入以下命令: C:\>EDIT ABC.ASM 此时屏幕的显示状态如图1所示。

1 图1 用EDIT编辑ABC.ASM程序窗口 程序输入完毕后一定要将源程序文件存入盘中,以便进行汇编及连接,也可以再次调出源程序进行修改。 2.将源程序文件汇编成目标程序文件 一般情况下,MASM汇编程序的主要功能有以下3点:(1)检查源程序中存在的语法错误,并给出错误信息。 (2)源程序经汇编后没有错误,则产生目标程序文件,扩展名为.OBJ。 (3)若程序中使用了宏指令,则汇编程序将展开宏指令。 源程序建立以后,在DOS状态下,采用宏汇编程序MASM 对源程序文件进行汇编,其操作过程如图2所示。 图2 MASM宏汇编程序工作窗口 汇编过程的错误分警告错误(Warning Errors)和严重错误(Severe Errors)两种。其中警告错误是指汇编程序认为的一般性错误;严重错误是指汇编程序认为无法进行正确汇编的错误,并给出错误的个数、错误的性质。这时,就要对错误进行分析,找出原因和问题,然后再调用屏幕编辑程序加以修改,修改以后再重新汇编,一直到汇编无错误为止。 3.用连接程序生成可执行程序文件

操作系统课程设计报告

; 一、概述 课程设计目的、意义: 课程设计目的使学生熟悉文件管理系统的设计方法;加深对所学各种文件操作的了解及其操作方法的特点。通过模拟文件系统的实现,深入理解操作系统中文件系统的理论知识, 加深对教材中的重要算法的理解。同时通过编程实现这些算法,更好地掌握操作系统的原理及实现方法,提高综合运用各专业课知识的能力。 主要任务: 模拟文件系统设计是设计和实现一个简单的文件系统。内容包括: 1.建立文件存储介质的管理机制 2.建立目录(采用一级目录结构) 3.文件系统功能(显示目录、创建、删除、打开、关闭、读、写) ~ 4.文件操作接口(显示目录、创建、删除、打开、关闭、读、写) 二、系统设计 课程设计的系统设计: 本系统模拟一个文件管理系统,要完成对文件的基本操作,文件的基本操作有文件、文件夹的打开、新建、删除和读取写入文件,创建更改目录,列出目录内容等信息。系统建立了文件目录树,存储文件系统中的所有文

件。对于用户名下的文件,用文件目录树的分枝来存贮。采用命令行操作界面很直观,也方便用户进行操作,用户只要按照操作界面所显示的命令来操作就行了。 整体设计框架: 系统初始化界面是由创建用户存储空间,管理文件,退出系统三个模块组成。用户创建由创建用户存储空间,进入目录,删除用户存储空间,显示所有用户存储空间,等模块组成。然后各个模块再由一些小模块组成。其中创建文件,打开关闭文件,读写文件等文件操作模块包括在进入目录模块里面。 三、系统实现 课程设计主要内容的实现程序代码: 《 #include <> #include <> #include <> typedef struct file{ char name[10]; struct file *next; }File; typedef struct content{ ! char name[10]; File *file;

操作系统课程设计报告

东莞理工学院 操作系统课程设计报告 学院:计算机学院 专业班级:13软件工程1班 提交时间:2015/9/14 指导教师评阅意见: . 项目名称:进程与线程管理功能 一、设计目的 用语言来模拟进程和线程管理系统,加深对进程和线程的理解,掌握对进程和线程各种状态和管理的算法原理。 二、环境条件

系统:WindowsXP、VMWare、Ubuntu Linux 语言:C/C++ 开发工具:gcc/g++、Visual C++ 6.0 三、设计内容 1. 项目背景 计算机的硬件资源有限,为了提高内存的利用率和系统的吞吐量,就要根据某种算法来管理进程和线程的状态从而达到目的。 进程与线程管理功能完成基于优先级的抢占式线程调度功能,完成进程虚拟内存管理功能。 进程与线程管理功能 基本要求:完成基于优先级的抢占式线程调度功能,完成进程虚拟内存管理功能。 提高要求:(增加1项就予以加分) (1) 实现多种线程调度算法; (2)通过“公共信箱”进行通信的机制,规定每一封信的大小为128字节,实现两个用户进程之间通过这个“公共信箱”进行通信。 (3) 实现多用户进程并发的虚拟内存管理功能。 (4) 实现用户进程间通信功能,并用生产者/消费者问题测试进程间通信功能的正确性。 (5) 实现改进型Clock页面置换算法。 (6) 实现Cache功能,采用FIFO替换算法。

2. 扩展内容 实现多种线程调度算法:时间片轮转调度算法 四、人员分工 优先级调度算法:钟德新,莫友芝 时间片轮转调度算法:张德华,袁马龙 设计报告由小组队员共同完成。小组成员设计的代码分工如下:钟德新编写的代码:void Prinft(){ PCB *p; system("cls");//清屏 p=run; //运行队列 if(p!=NULL) { p->next=NULL; } cout<<"当前正在运行的进程:"<procname<<"\t\t"<pri<<"\t"<needOftime<<"\t\t"<runtime<<"\t\t"<state<next; } cout<procname<<"\t\t"<pri<<"\t"<needOftime<<"\t\t"<runtime<<"\t\t"<state<next; } cout<procname<<"\t\t"<pri<<"\t"<needOftime<<"\t\t"<runtime<<"\t\t"<state<

操作系统(一个小型操作系统的设计与实现)课程设计

南通大学计算机科学与技术学院操作系统课程设计报告 专业: 学生姓名: 学号: 时间:

操作系统模拟算法课程设计报告 设计要求 将本学期三次的实验集成实现: A.处理机管理; B.存储器管理; C.虚拟存储器的缺页调度。 设计流程图 主流程图 开始的图形界面 处理机管理存储器管理缺页调度 先来先服务时 间 片 轮 转 首 次 适 应 法 最 佳 适 应 法 先 进 先 出 L R U 算 法

A.处理机调度 1)先来先服务FCFS N Y 先来先服务算法流程 开始 初始化进程控制块,让进程控制块按进程到达先后顺序让进程排队 调度数组中首个进程,并让数组中的下一位移到首位 计算并打印进程的完成时刻、周转时间、带权周转时间 其中:周转时间 = 完成时间 - 到达时间 带权周转时间=周转时间/服务时间 更改计时器的当前时间,即下一刻进程的开始时间 当前时间=前一进程的完成时间+其服务时间 数组为空 结束

2)时间片轮转法 开始 输入进程总数 指针所指的进程是 否结束 输入各进程信息 输出为就绪状态的进程的信息 更改正在运行的进程的已运行时间 跳过已结束的程序 结束 N 指向下一个进程 Y 如果存在下一个进程的话 Y N 输出此时为就绪状态的进程的信息 时间片轮转算法流程图

B.存储器管理(可变式分区管理) 1)首次适应法 分配流程图 申请xkb内存 由链头找到第一个空闲区 分区大小≥xkb? 大于 分区大小=分区大小-xkb,修改下一个空闲区的后向指针内容为(后向指针)+xkb;修改上一个空闲区的前向指针为(前向指针)+xkb 将该空闲区从链中摘除:修改下一个空闲区的后向地址=该空闲区后向地址,修改上一个空闲区的前向指针为该空闲区的前向指针 等于 小于延链查找下 一个空闲区 到链尾 了? 作业等待 返回是 否 登记已分配表 返回分配给进程的内存首地址 开始

《汇编语言+微型计算机》课程设计实验报告

长江大学工程技术学院《汇编+微机》课程设计报告 ?? 数据采集系统的设计与调试 学生姓名:袁春云学号:200960720?序号:25 专业班级:计本60901 指导老师:李华贵许建国 报告日期: 2011 年9月10日 ???

一.课程设计题目:数据采集系统的设计与测试 利用《汇编语言+微型计算机》课程中所学的可编程接口芯片8253、8255A、ADC0809和微机内部的中断控制器8259A设计一个数据采集系统,并且编程与调试。 二.设计目的 1.通过本设计,使学生综合运用《微型计算机技术》、《汇编语言程序设计》以及电子技术等课程的内容,为以后从事计算机检测与控制奠定一定的基础。 2.主要掌握并行I/O接口芯片8253、8255A、ADC0809及中断控制芯片8259A等可编程器件的使用,掌握译码器74LS138的使用。 3.学会用汇编语言编写一个较完整的实用程序。 4.掌握微型计算机技术应用开发的全过程:分析需求、设计原理图、选用元器件、布线、编程、调试、撰写报告等步骤。 三.课程设计要求 1.功能要求 ①利用《汇编语言+微型计算机系统》课程中所学的可编程接口芯片8253、8255A、ADC0809和微机内部的中断控制器8259A(从保留的IRQ2或TRQ10端引入)设计一个数据采集系统、并且编程与调试。 ②用8253定时器定时10MS,每次定时10MS后启动一次模/数转换,要求对所接通道变化的模拟电压值进行采集。 ③每次模/数转换结束后,产生一次中断,在中断服务程序中,采集来的数字量被读入微处理器的累加器AL中,然后通过8255A输出到8个LED发光二极管显示。 2.设计所需器材与工具 ④微机原理与接口综合仿真实验平台。 ⑤可编程接口芯片8253、8255A、ADC0809和译码器芯片74LS138、74LS 245等。 ⑥可调电位器4.7KΩ一个。 ⑦其他逻辑器件、导线若干。 ⑧万用表、常用工具等。 四.设计思路 1. 4.7Ω电位器一端接+5V,一端接地,调节电位器得到变化的模拟电压,

操作系统课程设计35815

课程设计说明书(操作系统) 题目:进程调度 院系:计算机科学与工程学院 专业班级:信息安全13-2 学号:20133029xx 学生姓名:xx 指导教师:xx 2015年12月15日

安徽理工大学课程设计(论文)任务书计算机科学与工程学院

安徽理工大学课程设计(论文)成绩评定表

摘要 现代计算机系统中,进程是资源分配和独立运行的基本单位,是操作系统的核心概念。因而,进程就成为理解操作系统如何实现系统管理的最基本,也是最重要的概念。进程调度是进程管理过程的主要组成部分,是必然要发生的事件。 在现代操作系统中,进程的并发机制在绝大多数时候,会产生不断变化的进程就绪队列和阻塞队列。处于执行态的进程无论是正常或非正常终止、或转换为阻塞状态,都会引发从就绪队列中,由进程调度选择一个进程进占CPU。 进程调度的核心是进程调度的算法.在本课程设计中,用良好清晰的界面向用户展示了进程调度中的时间片轮转调度算法。在最终实现的成果中,用户可指定需要模拟的进程数,CPU时间片和进程的最大执行时间,并且选择需要演示的算法,界面将会动态的显示进程调度过程及各个队列的变化。通过此进程调度模拟系统,用户可以对时间片轮转调度算法有进一步以及直观的了解。 关键词:进程,调度,PCB,时间片轮转

目录 1.设计目的 (6) 2.设计思路 (7) 3.设计过程 (9) 3.1流程图 (9) 3.2算法 (9) 3.3数据结构 (13) 3.4源代码 (14) 4.实验结果及分析 (23) 4.1 使用说明 (23) 4.2程序演示 (24) 5.实验总结 (27) 6.参考文献 (28)

操作系统课程设计报告

操作系统课程设计实验报告 实验名称:进程控制 姓名/学号: 一、实验目的 学习、理解和掌握Linux与windows的进行控制系统调用的功能,熟悉主要的几个系统调用命令的格式和如何利用系统调用命令进行编程。通过学习,理解如何创建一个进程、改变进程执行的程序、进程和线程终止以及父子进程的同步等,从而提高对进程和线程控制系统调用的编程能力。 二、实验内容 设计并实现Unix的“time”命令。“mytime”命令通过命令行参数接受要运行的程序,创建一个独立的进程来运行该程序,并记录程序运行的时间。 三、实验环境 CPU: Inter ×2 2.10GHz RAM: 3.00GB Windows 7 旗舰版 Linux Ubuntu 10.04 编译: VS2010 四、程序设计与实现 4.1进程控制系统的调用 4.1.1 windows进程控制调用程序中使用的数据结构及主要符号说明 SYSTEMTIME starttime,endtime; //进程开始时间和结束时间 PROCESS_INFORMATION pi //该结构返回有关新进程及 //其主线程的信息 STARTUPINFO si //该结构用于指定新进程的主窗口特性4.1.2 linux进程控制调用程序中使用的数据结构及主要符号说明 struct timeval starttime,endtime //进程开始时间和结束时间 pid_t pid //进程标志符

4.2 程序流程图 图1 windows进程控制调用图2 linux进程控制调用程序运行流程图程序运行流程图 五、实验结果和分析 5.1 windows实验结果和分析

操作系统含课程设计随堂练习修订稿

操作系统含课程设计随 堂练习 集团标准化工作小组 [Q8QX9QT-X8QQB8Q8-NQ8QJ8-M8QMN]

随堂练习提交截止时间:2017-12-15 23:59:59 当前页有10题,你已做10题,已提交10题,其中答对10题。 1.(单选题) 操作系统是基本的特征是() A、并发 B、共享 C、虚拟 D、异步 答题: A. B. C. D.(已提交) 参考答案:A 问题解析: 2.(单选题) 下面不属于操作系统设计目标的是() A、提高资源利用率 B、提高系统吞吐量 C、用户操作计算机更方便 D、并行执行多个进程 答题: A. B. C. D.(已提交) 参考答案:D 问题解析: 3.(单选题) 历史上最早出现的操作系统是() A、单道批处理系统 B、多道批处理系统 C、分时系统 D、实时系统 答题: A. B. C. D.(已提交) 参考答案:A 问题解析: 4.(单选题) 实时操作系统必须在()内处理完来自外部的事件。 A、响应时间 B、周转时间 C、被控对象规定时间 D、调度时间 答题: A. B. C. D.(已提交) 参考答案:C 问题解析: 5.(单选题) 操作系统是对()进行管理的软件。 A、软件 B、硬件 C、计算机资源 D、应用程序 答题: A. B. C. D.(已提交) 参考答案:C 问题解析: 6.(单选题) 配置了操作系统的计算机是一台比原来的物理计算机功能更强的计算机,这样的一台计算机只是一台逻辑上的计算机,称为()计算机。 A、并行 B、真实 C、虚拟 D、共享 答题: A. B. C. D.(已提交) 参考答案:C 问题解析: 7.(单选题) 操作系统中采用多道程序设计技术提高了CPU和外部设备的() A、利用率 B、可靠性 C、稳定性 D、兼容性 答题: A. B. C. D.(已提交)

计算机操作系统课程设计

计算机操作系统课程设计 班级:计091-1 姓名: 学号: 使用语言:C++ 指导老师: 学院:

一、系统要求 1、实验目的 通过一个简单多用户文件系统的设计,加深理解文件系统的内部功能及内部实现。 2、实验内容 为linux系统设计一个简单的二级文件系统。要求做到以下几点: (1)可以实现下列几条命令(至少4条); login 用户登陆 dir 列文件目录 create 创建文件 delete 删除文件 open 打开文件 close 关闭文件 read 读文件 write 写文件 (2)列目录时要列出文件名、物理地址、保护码和文件长度; (3)源文件可以进行读写保护。

二、系统分析 1、设计思想 本文件为二级文件系统,即要实现对文件的增删改查,同时又具备登陆系统、注册用户的功能,各个用户之间的文件系统互不干扰。 本文件系统采用两级目录,其中第一级对应于用户账号,第二级对应于用户帐号下的文件。另外,为了简便文件系统未考虑文件共享,文件系统安全以及管道文件与设备文件等特殊内容。 系统采用结构体来存储用户、文件目录、文件数据内容: 0 48*5 48*5+44*50 48*5+44*50+264*200 每个分区都是由结构体组成,每个个去的结构体的个数由格式化系统是决定。

整个系统的编码构成主要分为: Allstruct.h 定义了每个分区的结构体; Mysys.h 声明了对系统操作的各种方法;Myuserfile.h 声明了对文件操作的各种方法; Mymain.cpp 整个系统的主函数,操作入口; Mysys.cpp 包含了mysys.h,实现了操作系统的各种方法;Myuserfile.cpp 包含了myuserfile.h,实现了操作文件的各种方法; 2、主要数据结构 Allstruct.h文件的内容: struct s_user //用户区结构体 { long isuse; //是否使用 char name[20]; //用户名 char psd[20]; //密码 long address; //目录地址 };

相关文档
最新文档