文件系统设计实验报告

文件系统设计实验报告
文件系统设计实验报告

软件学院计算机课程

实验报告册

课程名称计算机操作系统

实验学期2011 年至2012 年第 2 学期学生所在院(系)软件学院

年级11级专业班级软件工程1 班

学生姓名朱水云学号1115114034

指导教师陈自刚

实验最终成绩

软件学院实验室制

2012 年4月

实验报告( 4 )

实验名称: 文件系统设计 实验时间: 2012年5月8日 实验性质

应用性

设计性

综合性

一、实验目的及要求:

通过一个简单多用户文件系统的设计,加深理解文件系统的内部功能及内部实现。 二、实验内容与分析设计:

为linux 系统设计一个简单的二级文件系统。要求做到以下几点: (1)可以实现下列几条命令(至少4条);

login 用户登陆 dir 列文件目录 create 创建文件 delete

删除文件

open 打开文件 close 关闭文件 read 读文件 write

写文件

(2)列目录时要列出文件名、物理地址、保护码和文件长度; (3)源文件可以进行读写保护。

三、实验步骤与调试过程: <任务>

为Linux 系统设计一个简单的二级文件系统。要求做到以下几点: 1.可以实现下列几条命令: login 用户登录 dir 列目录 create 创建文件 delete 删除文件 open 打开文件 close 关闭文件 read 读文件

write 写文件

2.列目录时要列出文件名,物理地址,保护码和文件长度 3.源文件可以进行读写保护 <程序设计>

(1)设计思想

本文件系统采用两级目录,其中第一级对应于用户账号,第二级对应于用户帐号下的文件。另外,为了简便文件系统未考虑文件共享,文件系统安全以及管道文件与设备文件等特殊内容。对这些内容感兴趣的读者,可以在本系统的程序基础上进行扩充。

分数:

实验教师:陈自刚

(2)主要数据结构

a)I节点

struct inode{

struct inode *i_forw;

struct inode *i_back;

char I_flag;

unsigned int i_into; /*磁盘i节点标号*/

unsigned int i_count; /*引用计数*/

unsigned short di_number; /*关联文件书,当为0时,则删除该文件*/ unsigned short di_mode; /*存取权限*/

unsigned short di_uid; /*磁盘i节点用户*/

unsigned short di_gid; /*磁盘i节点组*/

Unsigned int di_addr[NADDR]; /*物理块号*/

b) 磁盘i结点

Struct dinode

{

unsigned short di_number; /*关联文件数*/

unsigned short di_mode; /*存取权限*/

unsigned short di_uid;

unsigned short di_gid;

unsigned long di_size; /*文件大小*/

unsigned int di_addr[NADDR]; /*物理块号*/

c)目录项结构

Struct direct

{

char d_name[DIRSIZ]; /*目录名*/

unsigned int d_ino; /*目录号*/

}

d)超级块

Struct filsys

{

unsigned short s_isize; /*i节点块块数*/

unsigned long s_fsize; /*数据块块数*/

unsigned int s_nfree; /*空闲块块数*/

unsigned short s_pfree; /*空闲块指针*/

unsigned int s_free[NICFREE]; /*空闲块堆栈*/

unsigned int s_ninode; /*空闲i节点数*/

unsigned short s_pinode; /*空闲i节点指针*/

unsigned int s_inode[NICINOD]; /*空闲i节点数组*/ unsigned int s_rinode; /*铭记i节点*/

char s_fmod; /*超级块修改标志*/ };

e)用户密码

Struct pwd

{

unsigned short P_uid;

unsigned short P_gid;

char passward[PWOSIZ];

}

f) 目录

Struct dir

{

strut direct direct[DIRNUM];

int size;

}

g).查找i内存节点的hash表

Struct hinode

{

strut inode *iforw;

}

h).系统打开表

Struct file

{

char f_flag; /*文件操作标志*/

unsigned int f_count; /*引用计数*/

struct inode *f_inode; /*指向内存节点*/

unsigned long f_off; /*读/写指针*/

}

i)用户打开表

Struct user

{

unsigned short u_default_mode;

unsigned short u_uid; /*用户标志*/

unsigned short u_gid; /*用户组标志*/

unsigned short u_ofile[NOFILE]; /*用户打开表*/

}

3.主要函数

(1)i节点内容获取函数iget()(详细描述略)。

(2)节点内容释放函数iput()(详细描述略)。

(3)目录创建函数mkdir()(详细描述略)。

(4)目录搜索函数namei()(详细描述略)。

(5)磁盘块分配函数balloc()(详细描述略)。

(6)磁盘块释放函数bfree()(详细描述略)。

(7)分配i节点区函数ialloc()(详细描述略)。

(8)解释结点区函数ifree()(详细描述略)。

(9)搜索当前目录下文件的函数iname()(详细描述略)。

(10)访问控制函数access()(详细描述略)。

(11)显示目录和文件函数_dir()(详细描述略)。

(12)改变当前目录用函数chdir()(详细描述略)。

(13)打开文件函数open()(详细描述略)。

(14)创建文件函数create()(详细描述略)。

(15)读文件用函数read()(详细描述略)。

(16)读文件用函数write()(详细描述略)。

(17)用户登陆函数login()(详细描述略)。

(18)用户退出函数logout()(详细描述略)。

(19)文件系统格式化函数format()(详细描述略)。

(20)进入文件系统函数install()(详细描述略)。

(21)关闭文件函数close()(详细描述略)。

(22)退出文件系统函数halt()(详细描述略)。

(23)文件删除函数delecte()(详细描述略)。

4

四、实验结果:

<结果一:〉

本实验成功地创建了登陆用户dengyurui,并在下面创建了相应的二级目录,成功的完成了对文件夹的创建操作和对文件的创建、删除、打开和关闭等基本操作。

在完成文件的上面的创建、删除、打开和关闭等操作上,又完成了对文件的读写操作,即把系统的日期每隔十秒写入文件中去。

五、疑难与小结:

(1)首先应确定文件系统的数据结构:主目录、子目录及活动文件等。主目录和子目录都以文件的形式存放于磁盘,这样便于查找和修改。

(2)用户创建的文件,可以编号存储于磁盘上。如file0,file1,file2...并以编号作为物理地址,在目录中进行登记。

六、主要算法和程序清单

1.主程序说明

begin

Step1 对磁盘进行格式化

Step2 调用install(),进入文件系统

Step3 调用_dir(),显示当前目录

Step4 调用login(),用户注册

Step5 调用mkdir()和chdir()创建目录

Step6 调用create(),创建文件0

Step7 分配缓冲区

Step8 写文件0

Step9 关闭文件0和释放缓冲

Step10 调用mkdir()和chdir()创建子目录

Step11 调用create(),创建文件1

Step12 分配缓冲区

Step13 写文件1

Step14 关闭文件1和释放缓冲

Step15 调用chdir将当前目录移到上一级

Step16 调用create(),创建文件2

Step17 分配缓冲区

Step18 调用write(),写文件2

Step19 关闭文件1和释放缓冲

Step20 调用delecte(),删除文件0

Step21 调用create(),创建文件1

Step22 为文件3分配缓冲区

Step23 调用write(),写文件2

Step24 关闭文件3并释放缓冲区

Step25 调用open(),打开文件2

Step26 为文件2分配缓冲

Step27 写文件3后关闭文件3

Step28 释放缓冲

Step29 用户退出(logout)

Step30 关闭(halt)

End

由上述的描述过乘可知,该文件系统实际是为用户提供一个解释执行相关命令的环境。主程序中的大部分语句都被用来执行相应的命令。

下面我们给出每个过程的相关C语言程序。读者也可以使用这些子过程,编写一个用Shell控制的文件系统界面

2.编写管理文件makefile

本文件系统程序用编写makefile管理工具进行管理。其内容如下:

***********************************************************************/

/*******************************************

makefile

*******************************************/

filsys:main.o iallfre.o ballfre.o name.o access.o log.o close.o creat.o delete.o dir.o open.o rdwt.o format.o install.o halt.o cc-o filsys main.o iallfre.o ballfre.o

name.o access.o log.o close.o creat.o delete.o dir.o open.o format.o install.o halt.o main.o:main.c filesys.h

cc-c main.c

igetput.o: igetput.c filesys.h

cc-c igetput.c

iallfre.o: iallfre.c filesys.h

cc-c iallfre.c

ballfre.o: ballfre.c filesys.h

cc-c ballfre.c

name.o:name.c filesys.h

cc-c name.c

access.o:access.c filesys.h

cc-c access.c

log.o:log.c filesys.h

cc-c log.c

close.o:close.c filesys.h

cc-c close.c

creat.c:creat.c filesys.h

cc-c creat.c

delete.o:delete.c filesys.h

cc-c delete.c

dir.o:dir.c filesys.h

cc-c dir.c

open.o:open.c filesys.h

cc-c open.c

rdwt.o:rdwt.c filesys.h

cc-c rdwt.c

format.o:format.c filesys.h

cc-c format.c

install.o: install.c filesys.h cc-c install.c

halt.o:halt.c

cc-c halt.c

return 0;

}

单片机电子时钟课程设计实验报告

单片机电子时钟课程设 计实验报告 Pleasure Group Office【T985AB-B866SYT-B182C-BS682T-STT18】

《单片机原理与应用》课程设计 总结报告 题目:单片机电子时钟(带秒表)的设计 设计人员:张保江江润洲 学号: 班级:自动化1211 指导老师:阮海容 目录 1.题目与主要功能要求 (2) 2.整体设计框图及整机概述 (3) 3.各硬件单元电路的设计、参数分析及原理说明 (3) 4.软件流程图和流程说明 (4) 5.总结设计及调试的体会 (10) 附录 1.图一:系统电路原理图 (11) 2.图二:系统电路 PCB (12) 3.表一:元器件清单 (13) 4.时钟程序源码 (14)

题目:单片机电子时钟的设计与实现 课程设计的目的和意义 课程设计的目的与意义在于让我们将理论与实践相结合。培养我们综合运用电子课程中的理论知识解决实际性问题的能力。让我们对电子电路、电子元器件、印制电路板等方面的知识进一步加深认识,同时在软件编程、排错调试、焊接技术、相关仪器设备的使用技能等方面得到较全面的锻炼和提高,为今后能够独立完成某些单片机应用系统的开发和设计打下一个坚实的基础。 课程设计的基本任务 利用89C51单片机最小系统,综合应用单片机定时器、中断、数码显示、键盘输入等知识,设计一款单片机和简单外设控制的电子时钟。 主要功能要求 最基本要求 1)使用MCS-51单片机设计一个时钟。要求具有6位LED显示、3个按键输入。 2)完成硬件实物制作或使用Pruteus仿真(注意位驱动应能提供足够的电流)。 3)6位LED数码管从左到右分别显示时、分、秒(各占用2位),采用24小时标准计时制。开始计时时为000000,到235959后又变成000000。 4)使用3个键分别作为小时、分、秒的调校键。每按一次键,对应的显示值便加1。分、秒加到59后再按键即变为00;小时加到23后再按键即变为00。在调校时均不向上一单位进位 (例如分加到59后变为00,但小时不发生改变)。 5) 软件设计必须使用MCS-51片内定时器,采用定时中断结构,不得使用软件延时法,也不得使用其他时钟芯片。 6)设计八段数码管显示电路并编写驱动程序,输入并调试拆字程序和数码显示程序。7)掌握硬件和软件联合调试的方法。 8)完成系统硬件电路的设计和制作。 9)完成系统程序的设计。 10)完成整个系统的设计、调试和制作。

《管理信息系统》课程设计实验报告

《管理信息系统》课程设计实验报告 课程名称:管理信息系统 指导老师: ******* 院系:商学院 专业班级: ******** 姓名: ******** 学号: ******** 实验日期: 2011.7.11 实验地点:一机房

《管理信息系统》课程设计任务书 一.课程设计目的及意义: 《管理信息系统》课程设计是在完成《管理信息系统》课程学习之后的一次实践性教 学,是本课程理论知识的一次综合运用。通过本课程设计,能够进一步加深对信息、信息系 统、管理信息系统等基础理论知识的理解,能初步掌握结构化的生命周期法、面向对象法等 系统工程方法,进一步加强熟练应用管理信息系统的操作技能,并能够借助于管理信息系统 解决实际问题。 二.课程设计要求: 1.本课程设计时间为一周。 2.本课程设计以教学班为单位进行上机操作及实验。 3.按照任务要求完成课程设计内容。 三.课程设计任务要求: 1.任务内容:进入山东轻工业学院主页,在“网络资源”区域进入“网络教学平台”,输入各自的用户名和密码(学生学号及密码),进入本网络教学平台系统,在充分熟悉本系统 的前提下,完成下列任务要求。 2.任务要求: ①按照课程讲解的系统分析步骤和理论对本系统进行系统分析。 ②绘制不少于 3 个的主要业务流程图。 ③描述上述主要业务流程图的逻辑处理功能。 ④分析本系统的优缺点,提出改进意见,并描述改进的逻辑处理功能,绘制业务流 程图。 四.课程设计评分标准: 按照《管理信息系统课程设计大纲》的要求,本课程 1 学分,采用百分制计分,其中 任务要求②占30 分,任务要求③占30 分,任务要求④占30 分,考勤及实践表现占10 分。五.本课程设计自2011 年 6 月 27 日至 2011 年 7 月 1 日。

数字钟设计报告——数字电路实验报告

数字钟设计实验报告 专业:通信工程 姓名:王婧 班级:111041B 学号:111041226

数字钟的设计 目录 一、前言 (3) 二、设计目的 (3) 三、设计任务 (3) 四、设计方案 (3) 五、数字钟电路设计原理 (4) (一)设计步骤 (4) (二)数字钟的构成 (4) (三)数字钟的工作原理 (5) 六、总结 (9) 1

一、前言 此次实验是第一次做EDA实验,在学习使用软硬件的过程中,自然遇到很多不懂的问题,在老师的指导和同学们的相互帮助下,我终于解决了实验过程遇到的很多难题,成功的完成了实验,实验结果和预期的结果也是一致的,在这次实验中,我学会了如何使用Quartus II软件,如何分层设计点路,如何对实验程序进行编译和仿真和对程序进行硬件测试。明白了一定要学会看开发板资料以清楚如何给程序的输入输出信号配置管脚。这次实验为我今后对 EDA的进一步学习奠定了更好的理论基础和应用基础。 通过本次实验对数电知识有了更深入的了解,将其运用到了实际中来,明白了学习电子技术基础的意义,也达到了其培养的目的。也明白了一个道理:成功就是在不断摸索中前进实现的,遇到问题我们不能灰心、烦躁,甚至放弃,而要静下心来仔细思考,分部检查,找出最终的原因进行改正,这样才会有进步,才会一步步向自己的目标靠近,才会取得自己所要追求的成功。 2

二、设计目的 1.掌握数字钟的设计方法。 2熟悉集成电路的使用方法。 3通过实训学会数字系统的设计方法; 4通过实训学习元器件的选择及集成电路手册查询方法; 5通过实训掌握电子电路调试及故障排除方法; 6熟悉数字实验箱的使用方法。 三、设计任务 设计一个可以显示星期、时、分、秒的数字钟。 要求: 1、24小时为一个计数周期; 2、具有整点报时功能; 3、定时闹铃(未完成) 四、设计方案 一个基本的数字钟电路主要由译码显示器、“时”,“分”,“秒”计数器和定时器组成。干电路系统由秒信号发生 3

vf课程设计实验报告模板

vf 课程设计实验报告模板 经济管理学院 学生信息管理系统的设计与实现 09年12 月28 日 、课程设计的目的和意义 当今,人类正在步入一个以智力资源的占有和配置,知识生产、分配和使用为最重要因素的知识经济时代,为了适应知识经济时代发展的需要,大力推动信息产业的发展,我们通过对学生信息管理系统的设计,来提高学生的操作能力,及对理论知识的实践能力,从而提高学生的基本素质,使其能更好的满足社会需求。 学生信息管理系统是一个简单实用的系统,它是学校进行学生管理的好帮手。 此软件功能齐全,设计合理,使用方便,适合各种学校对繁杂的学生信息进行统筹管理,具有严格的系统使用权限管理,具有完善的管理功能,强大的查询功能。它可以融入学校的信息管理系统中,不仅方便了学生信息各方面的管理,同时也为教师的管理带来了极大地便利。 我们进行本次课程设计的主要目的是通过上机实践操作,熟练掌握数据库的设 计、表单的设计、表单与数据库的连接、SQL语言的使用和了解它的功能:数据定 义、数据操纵、数据控制,以及简单VF程序的编写。基本实现学生信息的管理, 包括系统的登录、学生信息的录入、学生信息的浏览、学生信息的查询、学生信息的修改和学生信息的删除,并对Visual FoxPro6.0 的各种功能有进一步的了解,为我们更进一步深入的学习奠定基础,并在实践中提高我们的实际应用能力,为我们以后的学习和工作提供方便,使我们更容易融入当今社会,顺应知识经济发展的趋势。 - 1 -

、系统功能设计 通过该系统可以基本实现学生信息的管理,包括系统的登录、学生信息的录 入、学生信息的浏览、学生信息的查询、学生信息的修改和学生信息的删除。系统 功能模块如下图所示。 学生信息管理系统主界面 登录 管理 学学学学学 生生生生生 信信信信信 息息息息息 录查浏修删 入询览改除 三、系统设计内容及步骤 3.1创建项目管理文件 1.启动foxpro 系统,建一个项目管理器,命名为“学生管理”。 哑 目f ■ 也 电 岂同左 矣 氏H. 0 存 JI 蛋誤曾

系统设计实验报告

系统设计实验报告——远程在线考试系统

目录软件需求说明书························1 引言··························· 1.1编写目的······················· 1.2背景························· 1.3定义························· 1.4参考资料······················· 2 程序系统的结构························ 3 程序设计说明·························

1引言 1.1编写目的 本文档的编写目的是为远程在线考试系统项目的设计提供: a.系统的结构、设计说明; b.程序设计说明; c. 程序(标识符)设计说明 1.2背景 随着网络技术的飞速发展,现在很多的大学及社会上其它的培训部门都已经开设了远程教育,并通过计算机网络实现异地教育。但是,远程教育软件的开发,就目前来说,还是处于起步的阶段。因此,构建一个远程在线考试系统,还是有很大的实际意义的。 根据用户提出的需求,本项目组承接该系统的开发工作 a.开发软件系统的名称:远程在线考试系统 b.本项目的任务提出者:福州大学软件学院 c.用户:各类大专院校学校、中小学校。 1.3定义 远程在线考试系统 远程在线考试系统是基于用Browser/Web模式下的,可以实现考试题库管理、多用户在线考试、自动阅卷功能的系统。

1.4参考资料 ?GB 8566 计算机软件开发规范 ?GB 8567 计算机软件产品开发文件编制指南?软件设计标准 ?《ASP与SQL-Server2000》清华大学出版社?《可行性研究报告》 ?《项目计划文档》 ? 2程序系统的结构 3程序1(标识符)设计说明

程序设计实验报告

学生实验报告 院系:测绘学院 专业班级:测绘13级3班 学号:2013305517 学生姓名:王泽 指导教师:郭辉老师 2016年05月20日

安徽理工大学实验报告 实验课程名称:数据结构与软件开发上机实验 开课院系及实验室:测绘学院红楼二楼机房 实验1 编程基本知识练习 实验目的: 通过该实验课内容的练习,学生应掌握VB 编程的基本语法、变量的定义、数组(动态数组)的定义、VB 语言中子过程与函数的定义以及文本文件的读写等知识。 实验内容: 1)变量的定义动态数组的定义与应用; 2)矩阵的加、减、乘运算(定义Sub()子过程或Function()来实现); 3)数据文件的建立、数据的读取与写入。 实验步骤: 1.编辑界面 1.1 打开VB 编程工具,进入编程主界面。

1.2 在窗体上新建“读入数据”和“输出数据”两个按钮。 1.3 双击“窗体”进入代码输入界面,进行代码编辑。 2.用VB 编写的源代码 2.1 矩阵基本运算源码详见附录一。 (1)两矩阵相加 (2)两矩阵相减 (3)矩阵转置 (4)两矩阵相乘 (5)矩阵求逆 2.2 文本文件(本实验中data.txt)的读取源代码 (1)建立文本文件并输入数据 在桌面上新建一“data.txt” ( 文本文件路径为C:\Users\ WH\Desktop\练习\data.txt”)。输入以下内容: 6,7,4,0.005 A,35.418 B,45.712 C,25.270

D,24.678 在桌面上新建一“result.txt” ( 文本文件路径为C:\Users\ WH\Desktop\练习\result.txt”)。(2)从文本文件中读数据 Dim linedata as string, m_GaochaN as integer,m_Pnumber as integer,m_knPnumber as integer,M as Double,k1 as integer 'linedata 为存储文本文件一行信息的字符串变量 Dim a() as String,H() as Double 'a()为存储点名,H()存储高程 Open“C:\Users\ WH\Desktop\练习\data.txt”For Input As #1 Line Input #1, linedata k = Split(linedata, ",") m_GaochaN = Val(k(0)) m_Pnumber = Val(k(1)) m_knPnumber = Val(k(2)) M = CDbl(k(3)) For k1 = 1 To m_knPnumber Line Input #1, linedata k = Split(linedata, ",") a(k1)= k(0) GetstationNumber (a) H(k1) = CDbl(k(1)) Next Close #1 (3)将读入点名存储到点名数组中,且返回该点名所对应编号 Function GetstationNumber(name As String) Dim i As Integer For i = 1 To m_Pnumber If P_Name(i) <> "" Then '将待查点名与已经存入点名数组的点比较 If P_Name(i) = name Then GetstationNumber = i Exit For End If Else '待查点是新的点名,将新点名放到P_Name 数组中 P_Name(i) = name GetstationNumber = i Exit For End If Next i End Function (4)从文本文件中写数据(将从data.txt 读入的数据,写入到result.txt 文件中) Open“C:\Users\ WH\Desktop\ 练习\result.txt” For Output As #1 outstring = outstring + str(m_GaochaN) +","

北京邮电大学数字电路实验报告

北京邮电大学 数字电路与逻辑设计实验 实验报告 实验名称:QuartusII原理图输入 法设计与实现 学院:北京邮电大学 班级: 姓名: 学号:

一.实验名称和实验任务要求 实验名称:QuartusII原理图输入法设计与实现 实验目的:⑴熟悉用QuartusII原理图输入法进行电路设计和仿真。 ⑵掌握QuartusII图形模块单元的生成与调用; ⑶熟悉实验板的使用。 实验任务要求:⑴掌握QuartusII的基础上,利用QuartusII用逻辑 门设计实现一个半加器,生成新的半加器图像模 块。 ⑵用实验内容(1)中生成的半加器模块以及逻辑门 实现一个全加器,仿真验证其功能,并能下载到实 验板上进行测试,要求用拨码开关设定输入信号, 发光二级管显示输出信号。 ⑶用3线—8线译码器(74L138)和逻辑门实现要求 的函数:CBA F+ C + =,仿真验证其 + B C B A A A B C 功能,,并能下载到实验板上进行测试,要求用拨 码开关设定输入信号,发光二级管显示输出信号。二.设计思路和过程 半加器的设计实现过程:⑴半加器的应有两个输入值,两个输出值。 a表示加数,b表示被加数,s表示半加和, co表示向高位的进位。

⑵由数字电路与逻辑设计理论知识可知 b a s ⊕=;b a co ?= 选择两个逻辑门:异或门和与门。a,b 为异 或门和与门的输入,S 为异或门的输出,C 为与门的输出。 (3)利用QuartusII 仿真实现其逻辑功能, 并生成新的半加器图形模块单元。 (4)下载到电路板,并检验是否正确。 全加器的设计实现过程:⑴全加器可以由两个半加器和一个或门构 成。全加器有三个输入值a,b,ci ,两个输 出值s,co :a 为被加数,b 为加数,ci 为低 位向高位的进位。 ⑵全加器的逻辑表达式为: c b a s ⊕⊕= b a ci b a co ?+?⊕=)( ⑶利用全加器的逻辑表达式和半加器的逻 辑功能,实现全加器。 用3线—8线译码器(74L138)和逻辑门设计实现函数 CBA A B C A B C A B C F +++= 设计实现过程:⑴利用QuartusII 选择译码器(74L138)的图形模块

浙江大学Linux程序设计实验报告

Linux程序设计实验报告1 ——操作系统基本命令使用 一、实验目的 1.通过对Emacs、vi、vim、gedit文本编辑器的使用,掌握在Linux环境下文本文件的编辑方法; 2.通过对常用命令mkdir、cp、cd、ls、mv、chmod、rm等文件命令的操作,掌握Linux操作系统中文件命令的用法。 二、实验任务与要求 1.emacs的使用,要求能新建、编辑、保存一个文本文件 2.vi或vim的使用,要求能新建、编辑、保存一个文本文件 3.gedit的使用,要求能新建、编辑、保存一个文本文件 4.掌握mkdir、cd命令的操作,要求能建立目录、进入与退出目录 5.掌握cp、ls、mv、chmod、rm命令的操作,要求能拷贝文件、新建文件、查看文件、文件重命名、删除文件等操作。 三、实验工具与准备 计算机PC机,Linux Redhat Fedora Core6操作系统 四、实验步骤与操作指导 任务1.学习emacs的使用,要求能新建、编辑、保存一个文本文件 (1)启动emacs (2)输入以下C程序 (3)保存文件为kk.c (4)用emacs打开文件kk.c (5)修改程序 (6)另存为文件aa.txt并退出。 任务2.vi或vim的使用,要求能新建、编辑、保存一个文本文件 (1)点击”应用程序”→ “附件”→“终端”,打开终端,在终端输入命令: [root@localhost root]#vi kk.c 按i键,进入插入状态。 (2)输入以下C程序 #include int main( ) {

printf(“Hello world!\n”); return 0; } 此时可以用Backspace、→、←、↑、↓键编辑文本。 (3)保存文件为kk.c 按Esc键,进入最后行状态,在最后行状态输入:wq保存文件,退出vi。 (4)用vi打开文件kk.c,输入命令: [root@localhost root]#vi kk.c (5)修改程序为: #include int main( ) { printf(" Hello world!\n"); printf("*****************\n"); return 0; } (6)按Esc键,进入最后行状态,在最后行状态输入:wq aa.txt保存文件,如图1所示,另存为文件aa.txt并退出vi。。 图1 程序编辑环境 任务3.gedit的使用,要求能新建、编辑、保存一个文本文件 (1)启动gedit,点击”应用程序”→ “附件”→“文本编辑器”,打开文本编辑器,如图所示。

数字秒表的设计与实现实验报告

电子科技大学《数字秒表课程设计》 姓名: xxx 学号: 学院: 指导老师:xx

摘要 EDA技术作为电子工程领域的一门新技术,极大的提高了电子系统设计的效率和可靠性。文中介绍了一种基于FPGA在ISE10.1软件下利用VHDL语言结合硬件电路来实现数字秒表的功能的设计方法。采用VHDL硬件描述语言,运用ModelSim等EDA仿真工具。该设计具有外围电路少、集成度高、可靠性强等优点。通过数码管驱动电路动态显示计时结果。给出部分模块的VHDL源程序和仿真结果,仿真结果表明该设计方案的正确,展示了VHDL语言的强大功能和优秀特性。 关键词:FPGA, VHDL, EDA, 数字秒表

目录 第一章引言 (4) 第二章设计背景 (5) 2.1 方案设计 (5) 2.2 系统总体框图 (5) 2.3 -FPGA实验板 (5) 2.4 系统功能要求 (6) 2.5 开发软件 (6) 2.5.1 ISE10.1简介 (6) 2.5.2 ModelSim简介 (6) 2.6 VHDL语言简介 (7) 第三章模块设计 (8) 3.1 分频器 (8) 3.2 计数器 (8) 3.3 数据锁存器 (9) 3.4 控制器 (9) 3.5 扫描控制电路 (10) 3.6 按键消抖电路 (11) 第四章总体设计 (12) 第五章结论 (13) 附录 (14)

第一章引言 数字集成电路作为当今信息时代的基石,不仅在信息处理、工业控制等生产领域得到普及应用,并且在人们的日常生活中也是随处可见,极大的改变了人们的生活方式。面对如此巨大的市场,要求数字集成电路的设计周期尽可能短、实验成本尽可能低,最好能在实验室直接验证设计的准确性和可行性,因而出现了现场可编程逻辑门阵列FPGA。对于芯片设计而言,FPGA的易用性不仅使得设计更加简单、快捷,并且节省了反复流片验证的巨额成本。对于某些小批量应用的场合,甚至可以直接利用FPGA实现,无需再去订制专门的数字芯片。文中着重介绍了一种基于FPGA利用VHDL硬件描述语言的数字秒表设计方法,在设计过程中使用基于VHDL的EDA工具ModelSim对各个模块仿真验证,并给出了完整的源程序和仿真结果。

【实验报告】大学物理实验课程设计实验报告

大学物理实验课程设计实验报告北方民族大学 大学物理实验(设计性实验) 实验报告 指导老师:王建明 姓名:张国生 学号:XX0233 学院:信息与计算科学学院 班级:05信计2班 重力加速度的测定 一、实验任务 精确测定银川地区的重力加速度 二、实验要求 测量结果的相对不确定度不超过5% 三、物理模型的建立及比较 初步确定有以下六种模型方案: 方法一、用打点计时器测量

所用仪器为:打点计时器、直尺、带钱夹的铁架台、纸带、夹子、重物、学生电源等. 利用自由落体原理使重物做自由落体运动.选择理想纸带,找出起始点0,数出时间为t的p点,用米尺测出op的距离为h,其中t=0.02秒×两点间隔数.由公式h=gt2/2得g=2h/t2,将所测代入即可求得g. 方法二、用滴水法测重力加速度 调节水龙头阀门,使水滴按相等时间滴下,用秒表测出n个(n取 50―100)水滴所用时间t,则每两水滴相隔时间为t′=t/n,用米尺测出水滴下落距离h,由公式h=gt′2/2可得g=2hn2/t2. 方法三、取半径为r的玻璃杯,内装适当的液体,固定在旋转台上.旋转台绕其对称轴以角速度ω匀速旋转,这时液体相对于玻璃杯的形状为旋转抛物面重力加速度的计算公式推导如下: 取液面上任一液元a,它距转轴为x,质量为m,受重力mg、弹力n.由动力学知: ncosα-mg=0(1) nsinα=mω2x(2) 两式相比得tgα=ω2x/g,又tgα=dy/dx,∴dy=ω2xdx/g, ∴y/x=ω2x/2g.∴g=ω2x2/2y. .将某点对于对称轴和垂直于对称轴最低点的直角坐标系的坐标x、y测出,将转台转速ω代入即可求得g.

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

河北大学工商学院 课程设计 题目:操作系统课程设计 学部信息学部 学科门类电气信息 专业计算机 学号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: {

实验二M精编B程序设计含实验报告

实验二M精编B程序设 计含实验报告 The following text is amended on 12 November 2020.

实验二 MATLAB 程序设计 一、 实验目的 1.掌握利用if 语句实现选择结构的方法。 2.掌握利用switch 语句实现多分支选择结构的方法。 3.掌握利用for 语句实现循环结构的方法。 4.掌握利用while 语句实现循环结构的方法。 5.掌握MATLAB 函数的编写及调试方法。 二、 实验的设备及条件 计算机一台(带有以上的软件环境)。 M 文件的编写: 启动MATLAB 后,点击File|New|M-File ,启动MATLAB 的程序编辑及调试器 (Editor/Debugger ),编辑以下程序,点击File|Save 保存程序,注意文件名最好用英文字符。点击Debug|Run 运行程序,在命令窗口查看运行结果,程序如有错误则改正 三、 实验内容 1.编写求解方程02=++c bx ax 的根的函数(这个方程不一定为一元二次方程,因c b a 、、的不同取值而定),这里应根据c b a 、、的不同取值分别处理,有输入参数提示,当0~,0,0===c b a 时应提示“为恒不等式!”。并输入几组典型值加以检验。 (提示:提示输入使用input 函数) 2.输入一个百分制成绩,要求输出成绩等级A+、A 、B 、C 、D 、E 。其中100分为A+,90分~99分为A ,80分~89分为B ,70分~79分为C ,60分~69分为D ,60分以下为E 。 要求:(1)用switch 语句实现。 (2)输入百分制成绩后要判断该成绩的合理性,对不合理的成绩应输出出错信息。 (提示:注意单元矩阵的用法) 3.数论中一个有趣的题目:任意一个正整数,若为偶数,则用2除之,若为奇数,则与3相乘再加上1。重复此过程,最终得到的结果为1。如: 21 21 421 运行下面的程序,按程序提示输入n=1,2,3,5,7等数来验证这一结论。 请为关键的Matlab 语句填写上相关注释,说明其含义或功能。 4. y

南邮课程设计实验报告

课程设计I报告 题目:课程设计 班级:44 姓名:范海霞 指导教师:黄双颖 职称: 成绩: 通达学院 2015 年 1 月 4 日

一:SPSS的安装和使用 在PC机上安装SPSS软件,打开软件: 基本统计分析功能包括描述统计和行列计算,还包括在基本分析中最受欢迎的常见统计功能,如汇总、计数、交叉分析、分类比较、描述性统计、因子分析、回归分析及聚类分析等等。具体如下: 1.数据访问、数据准备、数据管理与输出管理; 2.描述统计和探索分析:频数、描述、集中趋势和离散趋势分析、分布分析与查看、正态性检验与正态转换、均值的置信区间估计; 3.交叉表:计数;行、列和总计百分比;独立性检验;定类变量和定序变量的相关性测度; 4.二元统计:均值比较、T检验、单因素方差分析; 5.相关分析:双变量相关分析、偏相关分析、距离分析; 6.线性回归分析:自动线性建模、线性回归、Ordinal回归—PLUM、曲线估计; 7.非参数检验:单一样本检验、双重相关样本检验、K重相关样本检验、双重独立样本检验、K重独立样本检验; 8.多重响应分析:交叉表、频数表; 9.预测数值结果和区分群体:K-means聚类分析、分级聚类分析、两步聚类分析、快速聚类分析、因子分析、主成分分析、最近邻元素分析; 10. 判别分析; 11.尺度分析; 12. 报告:各种报告、记录摘要、图表功能(分类图表、条型图、线型图、面积图、高低图、箱线图、散点图、质量控制图、诊断和探测图等); 13.数据管理、数据转换与文件管理; 二.数据文件的处理 SPSS数据文件是一种结构性数据文件,由数据的结构和数据的内容两部分构成,也可以说由变量和观测两部分构成。定义一个变量至少要定义它的两个属性,即变量名和变量类型其他属性可以暂时采用系统默认值,待以后分析过程中如果有需要再对其进行设置。在spss数据编辑窗口中单击“变量视窗”标签,进入变量视窗界面,即可对变量的各个属性进行设置。 1.创建一个数据文件数据 (1)选择菜单【文件】→【新建】→【数据】新建一个数据文件,进入数据编辑窗口。窗口顶部标题为“PASW Statistics数据编辑器”。 (2)单击左下角【变量视窗】标签进入变量视图界面,根据试验的设计定义每个变量类型。

C程序设计上实验报告(完整版)

C语言程序设计上机实验报告 学院:机械工程学院 班级:机自161213 姓名:刘昊 学号:20162181310 实验时间:2017年3月6号 任课老师:张锐

C语言程序设计上机实验报告 实验一 一、实验名称: C程序的运行环境和运行C程序的方法 二、实验目的:了解在C编译系统上如何编辑、编译、连接和运行一个C 程序 三、实验内容: (1). 输入并运行一个简单的C程序。 (2). 设计程序,对给定的两个数求和。 (3). 设计程序,对给定的两个数进行比较,然后输出其中较大的数。 四、源程序代码: 代码1: 运行结果1:

程序分析1: 该程序用来判断所输入的整数是否为一个素数,如果一个数能被除了1和它本身整除,还能被其它数整除,那么它就不是一个素数,因此,用for 循环来进行整除过程的简写。 代码2: 运行结果2:

程序分析2: 简单的使用printf()和scanf()函数进行简单的数据运算。代码3: 运行结果3:

程序分析3: 使用if语句进行判断。 五.实验总结 C语言程序设计上机实验报告 实验二 一、实验名称:顺序结构程序设计 二、实验目的:正确使用常用运算符(算术运算符、赋值运算符)的用法, 熟练掌握算术运算符及其表达式,逻辑运算符和逻辑表达式。 三、实验内容: (1). 编写程序,实现小写字母转大写。

(2). 编写程序,实现输入两个不同类型数据后,经过适当的运算(加、减、乘、除)后输出。 (3). 编写程序,计算三角形面积、立方体的体积和表面积、圆的面积和周长。 (4). 编写程序,实现单字符getchar和putchar输入输出。 (5). 编写程序,实现十进制、八进制、十六进制不同数制的输出。 四、源程序代码 代码1: 运行结果1: 程序分析1:

数字系统设计软件实验报告

实验一QuartusⅡ9.1软件的使用 一、实验目的: 1、通过实现书上的例子,掌握QUARTUSII9.1软件的使用; 2、编程实现3-8译码电路以掌握VHDL组合逻辑的设计以及QUARTUSII9.1软件的使用。 二、实验流程: 1、仔细阅读书上的操作指南,学会在QuartusⅡ9.1中创建新的工程,创建过程如下所示: 1)、建立新设计项目: ①启动QuartusⅡ9.1软件,在软件的管理器窗口选File下拉菜单,即File→New Project Wizard,则出现新建工程向导窗口。如下所示: ②点击Next按钮,将弹出新建工程设置窗口,如下图所示。在新建工程设置窗口中设置好工程的存放路径、工程名称等。

③点击Next进入添加文件窗口,如下图。由于尚未创建文件,跳过该步骤。 ④点击Next按钮,进入选择目标芯片窗口。在这里我们选择Cyclone系列的EP1C6Q240C8,如下图:

⑤点击Next按钮,进入EDA工具设置窗口,通常选择默认的“None”,表示选择QuartusⅡ自带的仿真器和综合器。如下图: ⑥点击Next按钮,弹出New Project Wizard概要对话框,在这个窗口中列出了所有前面设置的结果。若有错误则点击Back回去修改,否则点击Finish结束,即完成新工程的设定工作。如下图:

2)、文本设计输入: ①在QuartusⅡ主界面菜单栏中选择File下拉菜单中的New,弹出新建设计文件窗口,选择VHDL File项,点击OK按钮即可打开VHDL文本编辑窗口,其默认文件名为“Vhdl.vhd”。 ②出现文本编辑窗口后,我们可以直接在空白界面中键入所设计的VHDL文本。这时我们将书本中的程序输入到文本编辑环境中去。程序如下: library IEEE; use IEEE.std_logic_1164.all; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; entity count10 is port(clk,load,en:in std_logic; data_in:in std_logic_vector(3 downto 0); seg:out std_logic_vector(6 downto 0)); end count10; architecture beha of count10 is signal qout:std_logic_vector(3 downto 0); signal q_temp:std_logic_vector(3 downto 0); begin process(clk,load) begin

c课程设计实验报告

c课程设计实验报 告

中南大学 本科生课程设计(实践)任务书、设计报告 (C++程序设计) 题目时钟控件 学生姓名 指导教师 学院交通运输工程学院 专业班级 学生学号 计算机基础教学实验中心 9月7日 《C++程序设计基础》课程设计任务书

对象:粉冶、信息、能源、交通工程实验2101学生时间: .6 2周(18~19周) 指导教师:王小玲 1.课程设计的任务、性质与目的 本课程设计是在学完《C++程序设计基础》课程后,进行的一项综合程序设计。在设计当中学生综合“面向对象程序设计与结构化程序设计”的思想方法和知识点,编制一个小型的应用程序系统。经过此设计进一步提高学生的动手能力。并能使学生清楚的知道开发一个管理应用程序的思想、方法和流程。 2.课程设计的配套教材及参考书 ●《C++程序设计》,铁道出版社,主编杨长兴刘卫国。 ●《C++程序设计实践教程》,铁道出版社,主编刘卫国杨长兴。 ●《Visual C++ 课程设计案例精编》,中国水力电力出版社,严华峰等编著。 3.课程设计的内容及要求 (1)自己任选一个题目进行开发(如画笔、游戏程序、练习打字软件等),要求利用MFC 工具操作实现。 (2)也可选一个应用程序管理系统课题(如:通讯录管理系统;产品入库查询系统;学生成绩管理;图书管理 等);

设计所需数据库及数据库中的数据表,建立表之间的关系。 设计所选课题的系统主封面(系统开发题目、作者、指导教师、日期)。 设计进入系统的各级口令(如系统管理员口令,用户级口令)。 设计系统的主菜单。要求具备下列基本功能: ●数据的浏览和查询 ●数据的统计 ●数据的各种报表 ●打印输出 ●帮助系统 多种形式的窗体设计(至少有查询窗体、输入窗体) 注意:开发的应用程序工作量应保证在2周时间完成,工作量不能太少或太多。能够2人合作,但必须将各自的分工明确。 4.写出设计论文 论文基本内容及撰写顺序要求: ●内容摘要 ●系统开发设计思想 ●系统功能及系统设计介绍 ●系统开发的体会

高级程序设计实验报告

高级程序设计 实验报告 班级 学号: 姓名: 实验名称: 指导老师: 日期:

实验十一文件和流I/O 一、实验题目:文件和流I/O 二、实验内容: 1.掌握磁盘的基本操作 2.掌握目录的基本操作 3.文件的基本操作 4.文本文件的读取和写入 5.字符串的读取和写入 6.二进制文件的读取和写入I 7. 二进制文件的读取和写入2 三、主要程序代码: 1. using System; using System.IO; using System.Collections.Generic; using System.Text; namespace实验1 { class Test { public static void Main() { DriveInfo[] allDrives = DriveInfo.GetDrives(); foreach (DriveInfo d in allDrives) { Console.WriteLine("Drive {0}", https://www.360docs.net/doc/cd14938149.html,); Console.WriteLine(" File type: {0}", d.DriveType); if (d.IsReady == true) { Console.WriteLine(" Volume label: {0}", d.VolumeLabel); Console.WriteLine(" File system: {0}", d.DriveFormat); Console.WriteLine(" Available space to current user:{0, 15} bytes",d.AvailableFreeSpace); Console.WriteLine("Total available space: {0, 15} bytes",d.TotalFreeSpace); Console.WriteLine( " Total size of drive: {0, 15} bytes ", d.TotalSize); } } Console.ReadKey();

数字电路与系统设计实验报告

数字电路与系统设计实验报告 学院: 班级: 姓名:

实验一基本逻辑门电路实验 一、实验目的 1、掌握TTL与非门、与或非门和异或门输入与输出之间的逻辑关系。 2、熟悉TTL中、小规模集成电路的外型、管脚和使用方法。 二、实验设备 1、二输入四与非门74LS00 1片 2、二输入四或非门74LS02 1片 3、二输入四异或门74LS86 1片 三、实验内容 1、测试二输入四与非门74LS00一个与非门的输入和输出之间的逻辑关系。 2、测试二输入四或非门74LS02一个或非门的输入和输出之间的逻辑关系。 3、测试二输入四异或门74LS86一个异或门的输入和输出之间的逻辑关系。 四、实验方法 1、将器件的引脚7与实验台的“地(GND)”连接,将器件的引脚14与实验台的十5V连接。 2、用实验台的电平开关输出作为被测器件的输入。拨动开关,则改变器件的输入电平。 3、将被测器件的输出引脚与实验台上的电平指示灯(LED)连接。指示灯亮表示输出低电平(逻辑为0),指示灯灭表示输出高电平(逻辑为1)。 五、实验过程 1、测试74LS00逻辑关系 (1)接线图(图中K1、K2接电平开关输出端,LED0是电平指示灯) (2)真值表 2、测试74LS02逻辑关系

(1)接线图 (2)真值表 3、测试74LS86逻辑关系接线图 (1)接线图 (2)真值表 六、实验结论与体会 实验是要求实践能力的。在做实验的整个过程中,我们首先要学会独立思考,出现问题按照老师所给的步骤逐步检查,一般会检查处问题所在。实在检查不出来,可以请老师和同学帮忙。

实验二逻辑门控制电路实验 一、实验目的 1、掌握基本逻辑门的功能及验证方法。 2、掌握逻辑门多余输入端的处理方法。 3、学习分析基本的逻辑门电路的工作原理。 二、实验设备 1、基于CPLD的数字电路实验系统。 2、计算机。 三、实验内容 1、用与非门和异或门安装给定的电路。 2、检验它的真值表,说明其功能。 四、实验方法 按电路图在Quartus II上搭建电路,编译,下载到实验板上进行验证。 五、实验过程 1、用3个三输入端与非门IC芯片74LS10安装如图所示的电路。 从实验台上的时钟脉冲输出端口选择两个不同频率(约7khz和14khz)的脉冲信号分别加到X0和X1端。对应B和S端数字信号的所有可能组合,观察并画出输出端的波形,并由此得出S和B(及/B)的功能。 2、实验得真值表

软件设计与体系结构实验报告

福建农林大学计算机与信息学院 实验报告 课程名称:软件设计与体系结构 姓名:陈宇翔 系:软件工程系 专业:软件工程 年级:2007 学号:070481024 指导教师:王李进 职称:讲师 2009年12月16日

实验项目列表

福建农林大学计算机与信息学院实验报告 学院:计算机与信息学院专业:软件工程系年级:2007 姓名:陈宇翔 学号:070481024 课程名称:软件设计与体系结构实验时间:2009-10-28 实验室田实验室312、313计算机号024 指导教师签字:成绩: 实验1:ACME软件体系结构描述语言应用 一、实验目的 1)掌握软件体系结构描述的概念 2)掌握应用ACMESTUDIO工具描述软件体系结构的基本操作 二、实验学时 2学时。 三、实验方法 由老师提供软件体系结构图形样板供学生参考,学生在样板的指导下修改图形,在老师的指导下进行软件体系结构描述。 四、实验环境 计算机及ACMESTUDIO。 五、实验内容 利用ACME语言定义软件体系结构风格,修改ACME代码,并进行风格测试。 六、实验操作步骤 一、导入Zip文档 建立的一个Acme Project,并且命名为AcmeLab2。如下图:

接着导入ZIP文档,导入完ZIP文档后显示的如下图: 二、修改风格 在AcmeLab2项目中,打开families下的TieredFam.acme.如下图: 修改组件外观 1. 在组件类型中,双击DataNodeT; 在其右边的编辑器中,将产生预览;选择Modify 按钮,将打开外观编辑器对话框。 2. 首先改变图形:找到Basic shape section,在Stock image dropdown menu中选 择Repository类型. 3. 在Color/Line Properties section修改填充颜色为深蓝色。 4. 在颜色对话框中选择深蓝色,并单击 [OK]. 5. 修改图形的边框颜色为绿色 7. 单击Label tab,在Font Settings section, 设置字体颜色为白色,单击[OK] 产生的图形如下图:

相关文档
最新文档