操作系统课程设计实验报告(以Linux为例)

操作系统课程设计实验报告(以Linux为例)
操作系统课程设计实验报告(以Linux为例)

《操作系统课程设计》

实验报告

学号:

姓名:

苏州大学计算机科学与技术学院

2014年9月

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

目录

目录 (1)

一、实验环境 (2)

二、实验报告总体要求 (2)

实验一编译L INUX内核 (3)

实验二观察L INUX行为 (7)

实验三进程间通信 (14)

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

一、实验环境

Linux平台

◆硬件平台:普通PC机硬件环境。

◆操作系统:Linux环境,例如,红旗Linux或Red Hat Linux;启动

管理器使用GRUB。

◆编译环境:伴随着操作系统的默认gcc环境。

◆工作源码环境:一个调试的内核源码,版本不低于2.4.20。

二、实验报告总体要求

在2013年11月25日前提交实验报告。实验报告至少要求包含以下内容:

1.引言:概述本次实验所讨论的问题,工作步骤,结果,以及发现的意

义。

2.问题提出:叙述本篇报告要解决什么问题。注意不可以抄写实验要求

中的表述,要用自己的话重新组织我们这里所提出的问题。

3.解决方案:叙述如何解决自己上面提出的问题,可以用小标题 3.1,

3.2<等分开。这是实验报告的关键部分,请尽量展开来写。注意,

这部分是最终课程设计的基本分的部分。这部分不完成,本课程设计不会及格。

4.实验结果:按照自己的解决方案,有哪些结果。结果有异常吗?能解

释一下这些结果吗?同别人的结果比较过吗?注意,这部分是实验报告出彩的地方。本课程设计要得高分,应该在这部分下功夫。

5.结束语:小结并叙述本次课程设计的经验、教训、体会、难点、收获、

为解决的问题、新的疑惑等。

6.附录:加了注释的程序清单,注释行数目至少同源程序行数目比1:

2,即10行源程序,至少要给出5行注释。

操作系统课程设计实验报告实验一编译Linux内核

实验时间

6小时

实验目的

认识Linux内核的组成,掌握配置、编译、安装Linux内核的步骤。

实验目标

下载2.6.19或更新的Linux内核,配置该内核使其支持NTFS,并在新的内核中修改其版本为Linux NameTestKernel x.x.x,其中,Name是你的名字(汉语拼音);x.x.x是新内核的版本号,最后在你的机器上编译安装这个新内核。

背景知识

参见《Red Hat Enterprise Linux 4入门与提高》第20章。

实验步骤

1.验证gcc的可用:在你自己的工作目录下,编译链接运行Hello World程序。

2.在https://www.360docs.net/doc/263730321.html,上下载指定的内核,或者查找更新的稳定版内核并下

载之。

3.准备相关工具。

提示:如当前运行的Linux内核是基于2.4版本的,则需要更新以下软件:module-init-tools 和mkinitrd。具体更新信息可参见下载内核源代码中的Documentation/Changes这个文件。

4.把源代码解压缩至/usr/src中,最终形成/usr/src/linux x.x.x/目录(x.x.x是新内

核的版本号)。

提示:这里的注意点是路径的选择,一般要放在/usr/src/linux x.x.x/目录下面,以满足Makefile 对路径设置的初始要求。

5.进入源代码的根目录(/usr/src/linux x.x.x),找到合适自己的内核配置方法,并

按照实验目标对其进行配置。

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

6.修改/usr/src/linux x.x.x/include/linux/version.h文件中的版本信息。

注:如果没有这个文件,请执行命令:make include/linux/version.h

7.编译内核。

8.安装模块文件。

9.安装内核文件。

10.重新启动新内核。

实验结果

1.实验步骤1中,编译链接运行程序你下达了哪些命令?

2.实验步骤2中,你下载了哪个版本的内核文件?

3.实验步骤3中,你是否安装了相关工具?如安装,则写出安装过程。

4.实验步骤4中,你是用哪些命令解压缩内核文件的?

5.实验步骤5中,你用了哪种内核配置的方法?

6.你对实验步骤6中涉及的文件做了怎样的修改?

7.实验步骤7-9的过程,是否出现错误?如有,你是如何解决的?

8.观察你机器中GRUB的配置文件,它在安装完新内核后发生了哪些变化?

9.新内核启动过程是否成功?如有错误,是哪些错误?你是如何消错的?

操作系统课程设计实验报告(如不够,可另附页)

实验报告

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

操作系统课程设计实验报告实验二观察Linux行为

实验时间

6小时

实验目的

学习Linux内核、进程、存储和其他资源的一些重要特征。

实验目标

编写一个程序使用/proc机制检查反映机器平均负载、进程资源利用等方面的各种内核值。在得到内核状态之后,将所观察到的行为在屏幕上输出。

背景知识

Linux、Solaris和其他版本的UNIX提供了一种非常有用的检查内核状态机制,叫做/proc文件系统。这是可以用来完成本练习的关键机制。

1. /proc文件系统

/proc文件系统是一种操作系统机制,它的接口就像传统UNIX文件系统的一个目录(在根目录中)。可以改变到/proc正如改变到任何其他目录,例如,

bash$ cd /proc

使/proc作为当前目录。一旦把/proc作为当前目录,就可以用ls命令列出它的内容。其内容看起来像普通的文件和目录。但是,/proc或者其子目录中的文件实际上是读取内核变量并以ASCII字符串方式报告它们的程序。这些例程中的一些仅在伪文件打开时读取内核表,而其他例程在每次文件被访问时读表。因此各种读函数的工作方式可能与预期的有所不同,因为它们并没有在真正操作文件。

Linux提供的/proc实现可以读取很多不同的内核表。/proc中包含一些目录和文件,每个文件读取一个或多个内核变量。而具有数字名称的子目录包括更多的伪文件读取其进程ID和目录名相同的进程的有关信息。self目录包含了正在使用/proc 进程的特定进程信息。/proc目录树的确切内容随Linux的版本而不同,所以必须对伪文件进行实验查看所提示的信息。

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

/proc中的文件可以像普通的ASCII文件一样进行读取。例如,向shell敲入以下命令:

bash$ cat /proc/version

将得到打印到stdout的类似下面的信息:

Linux version 2.2.12 (gcc version egcs-2.91.66

19990314/Linux (egcs-1.1.2 release)) #1 Mon Sep 27 10:40:35

EDT 1999

为了读取一个伪文件的内容,可以打开文件然后使用stdio程序库中的例程如fgets()或者fscanf()来读取文件。所读的确切文件(和表)依赖于所使用的特定Linux 版本。想要知道到底有些什么文件接口通过/proc对你可用,请查看系统上的proc 使用手册页。

2.使用argc和argv

在程序的B部分和C部分,需要从shell向程序传递参数。Linux中,C主程序依然可以采用argc和argv来传递参数。具体用法这里不再赘述。

问题陈述

1. 编写一个程序,通过检查内核状态报告Linux内核行为。程序在stdout上打印以下信息:

●CPU类型和型号。

●内核版本

●从系统最后一次启动以来的时间,形式为dd:hh:mm:ss(例如,3天13小时46

分32秒应该写出03:13:46:32)。

2. 改写A部分程序,加入命令行参数,在stdout上再打印以下信息:

●CPU花费在用户态、系统态和空闲态的时间。

●系统接收到的磁盘请求。

●内核执行的上下文转换的次数。

●系统最后启动的时间。

●从系统启动开始创建的进程数。

3. 改写B部分程序,根据不同的命令行参数,在stdout上再打印以下信息:

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

●计算机配置的内存数量。

●当前可用的内存数量。

●平均负载列表(至上一分钟的平均数)。

该信息将使另外的程序可以查看各个时间的这些值,因此用户可以了解平均负载如何随时间间隔而变化。对于本程序,提供两个命令行参数:

(1) 一个表明应该以什么样的频率从内核读取平均负载。

(2) 一个表明应该以多长的时间间隔读取平均负载。

A部分程序可以叫做ksamp,B部分程序ksamp –s,C部分程序ksamp –l 2 60,表示平均负载观察将运行60秒,每隔2秒取样一次。为了观察系统上的负载,需要确保计算机正在做一些其他的工作而不是仅仅运行你的程序。例如,打开和关闭窗口、移动窗口,甚至在其他窗口运行一些程序。

组织方案

对于B部分和C部分,程序必须在命令行上有不同的参数。因此最先的动作之一应该是解析调用程序的命令行以确定通过argv数组传递到它的shell参数。可参考如下代码:

int main( int argc, char *argv[] ) {

char repTypeName[16];

<

// 决定报告类型

reportType = STANDARD;

strcpy( repTypeName, ?Standard? );

if ( argc > 1) {

sscanf( argv*1+, ?%c%c?, &c1, &c2 );

if ( c1 != ?-? ) ,

fprintf( stderr, ?usage: observer *-s] [-l int dur] \n? );

exit(1);

}

if ( c2 == ‘s’ ) ,

reportType = SHORT;

strcpy( repTypeName, ?Short? );

}

if ( c2 == ‘l’ ) ,

reportType = LONG;

strcpy( repTypeName, ?Long? );

internal = atoi( argv[2] );

duration = atoi( argv[3] );

}

}

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

<

}

在得到今天的当前时间并打印出一个包含你所检查机器名字的问候之后,就完成了初始化工作。

#include

<

// 完成初始化

gettimeofday( &now, NULL ); //得到当天时间

printf( ?Status report type %s at %s\n?, repTypeName, ctime( &( https://www.360docs.net/doc/263730321.html,_sec ) ) );

// 得到主机文件名并打印它

thisPorcFile = fopen( ?/proc/sys/kernel/hostname?, ?r? );

fgets( lineBuf, LB_SIZE+1, thisPorcFile );

printf( ?Machine hostname: %s?, lineBuf );

fclose( thisPorcFile );

现在可以准备开始工作,也就是说,通过使用各种/proc文件开始读取内核变量。上述代码段包含一个如何读取/proc/sys/kernel/hostname文件的例子。可以用它作为原型通过读取其他的伪文件来完成练习,这需要对/proc进行一些探索以及在研究不同的目录时对各种伪文件进行检查。

在C部分中将要计算平均负载。对于这个问题,代码需要睡眠一段时间,醒来后采样当前平均负载,然后再返回睡眠状态。这里是一段可以完成该工作的代码:

while( iteration < duration) {

sleep( interval );

sampleLoadAvg();

iteration += interval;

}

实验步骤

1.在proc文件系统中找出需要读取的文件。

2.设计读取proc文件系统中文件的方法。

3.设计读取某文件指定标识处内容的方法。

4.完成问题陈述A。

5.完成问题陈述B。

6.完成问题陈述C。

实验结果

1.实验步骤1的结果是什么?

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

2.请描述实验步骤2的流程。

3.请描述实验步骤3的流程。

4.请描述实验步骤4的方案。

5.请描述实验步骤5的方案。

6.请描述实验步骤6的方案。

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

(如不够,可另附页)

实验报告

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

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

实验三进程间通信

实验时间

6小时

实验目的

初步了解Linux系统中,进程间通信的方法。

实验目标

编写一个程序,用Linux中的IPC机制,完成两个进程?石头、剪子、布?的游戏。

背景知识:

1.Linux中的IPC机制简介

进程间通信(Interprocess Communication,IPC)实现了进程之间同步和交换数据的功能。本实验要求完成的是一个或几个用户态的进程,依靠内核提供的进程间通信的机制,完成几个用户进程之间的通信。通常,在Linux中允许以下几种进程间通信的机制:

管道和命名管道(FIFO)

最适合在进程之间实现生产者/消费者的交互。有些进程往管道中写入数据,而另外一些进程则从管道中读出数据。

信号量

这就是我们在原理课程中讲述的内核信号量的用户态版本。

消息

允许进程异步的交换消息(小块数据)。可以认为消息是传递附加信息的信号。共享内存区

当进程之间在高效的共享大量数据的时候,这是一种最适合实现的交互方式。

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

另外,Linux也允许相同主机上的进程之间,利用套接字(socket)进行通信。但套接字引入的最初目的是为了应用程序和网络接口之间实现数据通信,因此在这里就不再介绍。

2.FIFO

POSIX引入了一个名为mkfifo()的系统调用专门用来创建FIFO,mkfifo()的函数原型为:

int mkfifo(const char * pathname, mode_t mode);

mkfifo()会根据参数pathname建立特殊的FIFO文件,该文件必须不存在,而参数mode为该文件的权限。FIFO一旦被创建,就可以使用普通的open()、read()、write()和close()系统调用进行访问。

mkfifo()函数若成功,则返回0,否则返回-1,错误原因存于errno中。

下面是一段示例代码。

//判断FIFO是否存在,如果不存在则建立

if (access(FIFO_NAME, F_OK) == -1) {

res = mkfifo(FIFO_NAME, 0777);

if (res != 0) {

fprintf(stderr, "Could not create fifo %s\n", FIFO_NAME);

exit(1);

}

}

3.System V IPC

System V IPC包含一组系统调用,上文提及的利用信号量、消息和共享内存区进行进程间通信,都属于其中。IPC数据结构是在进程请求IPC资源(信号量、消息队列或共享内存区)时动态创建的。每个IPC资源都是持久的,除非被进程显式的释放,否则永远驻留在内存中。由于一个进程可能需要相同类型的多个IPC资源,因此每个新资源都使用一个32位的IPC关键字来标识。这里重点介绍消息队列通信。

(1) 系统调用msgget()

为了创建一个新的消息队列,或者访问一个现有的队列,可以使用系统调用msgget(),其函数原型为:

int msgget(ket_t key, int msgflg);

msgget()的第一个参数是IPC关键字的值。这个关键字的值将被拿来与内核中其他消息队列的现有值相比较。比较之后,打开或访问操作依赖于第二个参数的内容。

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

●IPC_CREAT——如果内核中不存在该队列,则创建它。

●IPC_EXCL——与IPC_CREAT一起使用时,若队列早已存在则将出错。

如果只使用了IPC_CREAT,msgget()或者返回新创建消息队列的标识符,或者返回现有的具有同一个关键字值的队列的标识符。如果同时使用了IPC_CREAT和IPC_EXCL,那么将可能会有两个结果。或者创建一个新的队列,或者如果该队列存在,则调用将出错,并返回-1。IPC_EXCL本身是没有什么用处的,但在与IPC_CREAT 组合使用时,它可以用于保证没有一个现存的队列为了访问而被打开。

有个可选的八进制许可模式,它是与掩码进行OR操作以后得到的。这是因为从功能上讲,每个IPC对象的访问权限与Linux文件系统的文件许可权是相似的。

下面是两段示例代码,说明如何创建一个新的消息队列,以及如何使用一个已有的消息队列。

//建立消息队列,只有相同用户可以使用

queue_id = msgget(QUEUE_ID, IPC_CREAT | IPC_EXCL | 0600);

if (queue_id == -1) {

perror("main: msgget");

exit(1);

}

//取得消息队列ID

queue_id = msgget(QUEUE_ID, 0);

if (queue_id == -1) {

perror("main: msgget");

exit(1);

}

(2) 消息缓冲区

这个特殊的数据结构可以认为是消息数据的模板。虽然定义这种类型的数据结构是程序员的职责,但是读者绝对有必要知道实际上存在msgbuf类型的结构。在linux/msg.h中,它的定义如下:

/* message buffer for msgsnd and msgrcv calls */

struct msgbuf {

long mtype;

char mtext[1];

};

msgbuf结构中有两个成员:

●mtype——它是消息类型,以正数表示。

●mtext——它就是消息数据。

不要被消息数据元素(mtext)的名称所误导,应用程序的编程人员是可以重新定义msgbuf这个结构的。对于给定消息的最大的大小,存在一个内部的限制。在

操作系统课程设计实验报告Linux中,它在linux/msg.h中定义。

(3) 系统调用msgsnd()

一旦获得了消息队列的标识符,就可以开始在该队列上执行相关操作了。为了向队列传递消息,可以使用msgsnd()系统调用:

int msgsnd(int msqid, struct msgbuf * msgp, size_t msgsz, int msgflg);

第一个参数是消息队列的标识符,它是前面调用msgget()获得的返回值。第二个参数是一个指针,指向我们重新定义和载入的消息缓冲区。msgsz则包含了消息的大小,它是以字节为单位的,其中不包括消息类型的长度。

msgflg可以设置为0(忽略),也可以设置为IPC_NOWAIT。如果消息队列已满,则消息将不会被写入到队列中,控制权将被还给调用进程。如果没有指定IPC_NOWAIT,则调用进程将被阻塞,直到可以写消息为止。

下面是一段示例程序:

//申请消息缓冲区

msg = (struct msgbuf*)malloc(sizeof(struct msgbuf)+MAX_MSG_SIZE);

//发送数据

msg->mtype = 1;

sprintf(msg->mtext, "hello world");

rc = msgsnd(queue_id, msg, strlen(msg->mtext)+1, 0);

if (rc == -1) {

perror("main: msgsnd");

exit(1);

}

(4) 系统调用msgrcv()

一旦消息队列中有消息了,进程就可以从队列中获得消息,可以使用系统调用msgrcv()来完成这个功能:

ssize_t msgrcv(int msqid, struct msgbuf * msgq, size_t msgsz, long msgtype, int

msgflg);

显然,第一个参数是用来指定在消息获取过程中所使用的队列的。第二个参数代表消息缓冲区变量的地址,获取的消息存放在这里。第三个参数代表消息缓冲区结构的大小,不包括mtype成员的长度,可以使用下面的公式来计算大小:

msgsz = sizeof(struct mymsgbuf) – sizeof(long);

第四个参数指定要从队列中获取的消息的类型。内核将查找队列中具有匹配类型的最老的消息,并把它的一个拷贝返回到由msgp变量指定的地址中。如果把IPC_NOWAIT作为一个参数传递给msgflg,而队列中没有任何消息。则该次调用

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

会向调用进程返回ENOMSG。否则,调用进程将阻塞,直到满足msgrcv()参数的消息到达队列为止。

下面是一段示例程序:

//申请消息缓冲区

msg = (struct msgbuf*)malloc(sizeof(struct msgbuf)+MAX_MSG_SIZE);

//读取消息队列中的数据

rc = msgrcv(queue_id, msg, MAX_MSG_SIZE+1, msg_type, 0);

if (rc == -1) {

perror("main: msgrcv");

exit(1);

}

实验步骤

本实验可以创建三个进程,其中,一个进程为裁判进程,另外两个进程为选手进程。可以将?石头、剪子、布?这三招定义为三个整型值。胜负关系:石头〉剪子〉布〉石头。

选手进程按照某种策略(例如,随机产生)出招,交给裁判进程判断大小。裁判进程将对手的出招和胜负结果通知选手。比赛可以采取多盘(>100盘)定胜负,由裁判宣布最后结果。每次出招由裁判限定时间,超时判负。

每盘结果可以存放在文件或其他数据结构中。比赛结束,可以打印每盘的胜负情况和总的结果。

1.设计表示?石头、剪子、布?的数据结构,以及它们之间的大小规则。

2.设计比赛结果的存放方式。

3.选择IPC的方法。

4.根据你所选择的IPC方法,创建对应的IPC资源。

5.完成选手进程。

6.完成裁判进程。

---------------以下要求选作---------------

7. 决出班级的前三甲,与另外班级的前三甲比赛,决出年级冠军。

8. 如果有兴趣,再把这个实验改造成网络版。即在设计时就要考虑IPC层的封装。实验结果

1.请写出实验步骤1的数据结构。

2.请写出实验步骤1的大小规则。

3.请写出实验步骤2的数据结构。

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

4.实验步骤3中,你所选择的IPC方法是什么?

5.在实验步骤3中你为何选择该方法?

6.实验步骤3,如果选择消息队列机制,请描述消息缓冲区结构。

7.在实验步骤4中,你是如何创建IPC资源的?

8.请描述实验步骤5中程序主要流程或关键算法。

9.请描述实验步骤6中程序主要流程或关键算法。

10.实验部分结果的展示。

vb大作业 实验报告

软件技术实验报告 学号2009300186 姓名赵佶男班级010109卓 越 大作业机房管理系统 课题基本目标要求: 1)可在系统中由系统管理员按班级指定时间进行上机课时安排,安排上机不得与其他已安排机时冲突。 2)在指定上机课时段,除了上机班级学生可以登录外,其余无关学生一律不得登录,除非系统管理员授权。预定上机时间结束时,自动 提前5分钟提示,待真正结束时即自动锁屏。 3)除上机课时安排以外,可以在机动时间段接受学生凭个人一卡通上机,且上机实施计时自动收费(即扣除学生一卡通上因上机而应缴 纳的上机服务费) 4)在接受零散学生付费上机时,可自动为其分配空闲机器并授权使用,在分配机器时应考虑机器的使用情况分布均匀,即每次分配机器是 前一时段未曾使用的机器,当学生一卡通上的余额,不足以支付1 小时上机服务费时,应提示其下机充值,并实施锁屏。 实验步骤: 首先,根据大作业的要求,我建立了机器表,流水表,学生基本情况表,上课表,以及一卡通表五个数据库表。机器表用来按照使用情况,选择空闲时间最长的机器。流水表用来记录现在机器以及人员使用的情况,是个

动态表,用来方便的取用和修改数据。学生基本情况表用来存放学生的学号,密码,班级等基本情况,以实现学生上课登录和自由登录。上课表存放各个班级的上课下课时间,以实现排课功能。一卡通表记录了每个学生一卡通内的金额,用来帮助实现上下机的扣费,以及余额不够支付一小时时间情况下得强制下机。 然后,我进行了窗体的设计。经过筛选优化,我设计了五个窗体,分别是主选择窗体,注册窗体,登录窗体,上课安排窗体,实时计费和下机窗体。 主选择窗体可以用来进行上课登录、学生自由登录、管理员登录和机器的推荐。注册窗体是用来进行学生登录密码的注册。登录窗体限制学生的学号和密码必须匹配才能登录。上课安排窗体可以输入班号、上下课时间并选择星期值。实时计费和下机窗体用来扣费并方便学生随时下机。 接下来,要按照要求进行代码的编写。 A)可在系统中由系统管理员按班级指定时间进行上机课时安排,安排上机不得与其他已安排机时冲突。 此功能我在排课窗体下用select选择出全体班级的上下课以及星期值,并将管理员希望的上下课时间转换为时间类型数值,进行循环比较,用do until 语句逐个比较,使得上下课时间点都不得在其他班级的上课时间段内。如果时间不冲突,就实施修改数据库的功能,并更新保存。 B)在指定上机课时段,除了上机班级学生可以登录外,其余无关学生一律不得登录,除非系统管理员授权。预定上机时间结束时,自动提前5分钟提示,待真正结束时即自动锁屏。 在主选择窗体内有上课登录按钮和自由登录按钮。点击上课登录,输入学

LINUX实验报告

实验报告 ( 2014/ 2015 学年第一学期) 课程名称操作系统A 实验名称文件系统 实验时间2014 年12 月8 日指导单位计算机学院计算机科学与技术系 指导教师徐鹤 学生姓名王生荣班级学号B12040809 学院(系) 计算机学院专业软件工程

实验名称文件系统指导教师徐鹤 实验类型设计实验学时 2 实验时间2014.12.08 一、实验目的和要求 1. 学习LINUX系统下对文件进行操作的各种命令和图形化界面的使用方法。 2. 深入学习和掌握文件管理系统的基本原理和LINUX等操作系统下常用的系统调用,编写一个使用系统调用的例程。 3.实现一个文本文件的某信息的插入和删除 4.实现一个记录文件的某记录的插入和删除 二、实验环境(实验设备) Windows XP + VMWare + RedHat Linux 8

三、实验过程描述与结果分析 1. 目录/proc下与系统相关的文件和目录 (1) /proc/$pid/fd:这是一个目录,该进程($PID号码进程)每个打开的文件在该目录下有一个对应的文件。 例如:#ls /proc/851/fd 0 1 2 255 这表示,851号进程目前正在使用(已经打开的)文件有4个,它们的描述符分别是0、1、2、255。其中,0、1、2 依次分别是进程的标准输入、标准输出和标准错误输出设备。 (2)/proc/filesystems:该文件记录了可用的文件系统类型。 (3)/proc/mounts:该记录了当前被安装的文件系统信息 例如:#cat /proc/mount (4)/proc/$pid/maps:该文件记录了进程的映射内存区信息。 例如:#cat /proc/851/maps 2.常用命令讲解 ls 命令 用来查看用户有执行权限的任意目录中的文件列表,该命令有许多有趣的选项。例如: $ ls -liah * 22684 -rw-r--r-- 1 bluher users 952 Dec 28 18:43 .profile

浙江大学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,点击”应用程序”→ “附件”→“文本编辑器”,打开文本编辑器,如图所示。

UML大作业实验报告

UML 建模大作业实验报告 组号:选题名:E-store 网上书店系统小组成员

.1.需求模型 从用户角度描述系统功能的用例 登录 (from Use Case View) .J 八. 修改 (from Use Case View) 个人信息维护 (from Use Case View) 从系统管理员角度描述系统功能的用例 (from Use Case View) 补充 注册 选购 (from Use Case View) * II f (from Use Case View) f 令查看 图书浏览 (from Use Case View) II 7 ------- 亠 '收藏夹维护 (from Use Case View) ' (from Use Case View) 游客 会员 (from Use Case View) (from Use Case View) 购物车管理 添加 I (from Use Case View), (from Use Case View) 图书查询 (from Use Case View) ■订单维护 (from Use Case View) 删除 (from Use Case View) 结账 (from Use Case View) 订单状态查询 (from Use Case View) 缺书登记 (from Use Case View) 一 一' 意见反馈 (from Use Case View)

■分配权限 管理员(from Use Case View) 添加人员(from Use Case View) (from Use Case View) 后台用户管理 ---- 弋 (from Use Case View) ■ > ^,X**(from Use Case View) (from Use Case View) 折扣管理 Z I 身份验证 (from Use Case View) ? 、 销售管理 (from Use Case View) 二d ____ - \图书管理 \ h - ■■■ ■ (from Use Case View) .辿—-- 网站用户管理 V (from Use Case View) 订货管理 (from Use Case View) 查看人员 (from Use Case View) 查看意见反馈 (from Use Case View) 2.分析模型 2.1.架构模型 (from Use Case View) r梟—_ ■<- ■- V 删除 '■ (from Use Case View) 辽二询 (from Use Case View) / 统计 (from Use Case View) 订货通知 (from Use Case View) ,沖后台数据库 (from Use Case View) / (from Use Case View) 服务商 (from Use Case View)

2《Linux基础》实验报告 基本配置Linux

实验序号: 2 《Linux基础》 实验报告 实验名称:基本配置Linux操作系统 姓名: 学院:计算机学院 专业: 班级: 学号: 指导教师: 实验地址:N6-113 实验日期:2017.3.7

说明 一.排版要求 1.实验报告“文件名”按模板要求填写。 2.一级标题:顶格排版。汉字用宋体,阿拉伯数字用Times New Roman字 体,四号字体,加粗。 3.二级标题:顶格排版。汉字用宋体,阿拉伯数字用Times New Roman字 体,小四号字体,加粗。 4.三级标题:顶格排版。汉字用宋体,阿拉伯数字用Times New Roman字 体,五号字体。 5.正文:每段缩进量:2个汉字。两端对齐;汉字用宋体,阿拉伯数字用 Times New Roman字体,五号字体。 6.图形要求 (1)在正文中要有引用。 (2)要有图名,图名位于图的下方,汉字用宋体,阿拉伯数字用Times New Roman字体,五号字体。 (3)图和图名“居中”。 7.表格要求 (1)在正文中要有引用。 (2)要有表名,表名位于表的上方,汉字用宋体,阿拉伯数字用Times New Roman字体,五号字体。 (3)表和表名“居中”。 二.注意事项 1.复制、拷贝、抄袭者取消成绩。 2.没有安实验报告排版要求者不及格。

实验2基本配置Linux操作系统实验 【实验目的】 1.。。。。 2.。。。。 3.。。。。 4.思考: (1)Linux默认的系统超级管理员帐户是什么? (2)Linux的操作系统引导器是什么?它有哪几种的操作界面? (3)RHEL的支持哪几种X-Window图形管理器?默认是使用哪一种?(4)RHEL支持哪几种Shell?默认是使用哪一种? 【实验原理】 1.。。。 。。。 2.。。。 。。。 (1)。。。 。。。 (2)。。。 。。。 3.。。 【实验环境】 1.实验配置 本实验所需的软硬件配置如表1所示。 表1 实验配置 本实验的环境如图1所示。

c++大作业学生实验报告

学生实验报告 实验课名称: C++程序设计 实验项目名称:综合大作业——学生成绩管理系统专业名称:电子信息工程 班级: 学号: 学生: 同组成员: 教师:

2011 年 6 月 23 日 题目:学生成绩管理系统 一、实验目的: (1)对C++语法、基础知识进行综合的复习。 (2)对C++语法、基础知识和编程技巧进行综合运用,编写具有一定综合应用价值的稍大一些的程序。培养学生分析和解决实际问题的能力,增强学生的自信心,提高学生学习专业课程的兴趣。 (3)熟悉掌握C++的语法和面向对象程序设计方法。 (4)培养学生的逻辑思维能力,编程能力和程序调试能力以及工程项目分析和管理能力。 二、设计任务与要求: (1)只能使用/C++语言,源程序要有适当的注释,使程序容易阅读。 (2)至少采用文本菜单界面(如果能采用图形菜单界面更好)。 (3)要求划分功能模块,各个功能分别使用函数来完成。 三、系统需求分析: 1.需求分析: 为了解决学生成绩管理过程中的一些简单问题,方便对学生成绩的管理 (录入,输出,查找,增加,删除,修改。) 系统功能分析: (1):学生成绩的基本信息:学号、、性别、C++成绩、数学成绩、英语成绩、 总分。 (2):具有录入信息、输出信息、查找信息、增加信息、删除信息、修改信息、 排序等功能。 2.系统功能模块(要求介绍各功能) (1)录入信息(Input):录入学生的信息。 (2)输出信息(Print):输出新录入的学生信息。 (3)查找信息(Find):查找已录入的学生信息。 (4)增加信息(Add):增加学生信息。 (5)删除信息(Remove):在查找到所要删除的学生成绩信息后进行删除并输出删除后其余信息。 (6)修改信息(Modify):在查到所要修改的学生信息后重新输入新的学生信息从而进行修改,然后输出修改后的所有信息。 (7)排序(Sort):按照学生学号进行排序。 3.模块功能框架图

linux操作系统实验报告要点

LINUX操作系统实验报告 姓名 班级学号 指导教师 2011 年05月16 日 实验一在LINUX下获取帮助、Shell实用功能 实验目的: 1、掌握字符界面下关机及重启的命令。 2、掌握LINUX下获取帮助信息的命令:man、help。 3、掌握LINUX中Shell的实用功能,命令行自动补全,命令历史记录,命令的排列、替

换与别名,管道及输入输出重定向。 实验内容: 1、使用shutdown命令设定在30分钟之后关闭计算机。 2、使用命令“cat /etc/cron.daliy”设置为别名named,然后再取消别名。 3、使用echo命令和输出重定向创建文本文件/root/nn,内容是hello,然后再使用追加重定向输入内容为word。 4、使用管道方式分页显示/var目录下的内容。 5、使用cat显示文件/etc/passwd和/etc/shadow,只有正确显示第一个文件时才显示第二个文件。 实验步骤及结果: 1.用shutdown命令安全关闭系统,先开机在图形界面中右击鼠标选中新建终端选项中输入 命令Shutdown -h 30 2、使用命令alias将/etc/cron.daliy文件设置为别名named,左边是要设置的名称右边是要更改的文件。查看目录下的内容,只要在终端输入命令即可。取消更改的名称用命令unalias 命令:在命令后输入要取消的名称,再输入名称。 3.输入命令将文件内容HELLO重定向创建文本文件/root/nn,然后用然后再使用追加重定向输入内容为word。步骤与输入内容HELLO一样,然后用命令显示文件的全部内容。 4.使用命令ls /etc显示/etc目录下的内容,命令是分页显示。“|”是管道符号,它可以将多个命令输出信息当作某个命令的输入。

sql大作业实验报告

目录 第一章、需求分析 (2) 1 、需求概述 (2) 2 、功能简介 (2) 第二章、概念结构设计 (3) 1、在员工实体内的E-R图 (3) 2、部门实体内的E-R图 (3) 3、在工资实体内的E-R图 (3) 第三章、逻辑结构设计 (4) 第四章、物理结构设计 (4) 第五章、数据库的实施和维护 (5) 一、数据库的创建 (5) 二、表格的建立 (5) 1、建立Employsse表插入数据并设计相关的完整性约束 (5) 2、建立departments表插入数据并设计相关的完整性约束 (7) 3、建立 salary表插入数据并设计相关的完整性约束 (8) 三、建立视图 (9) 四、建立触发器 (10) 五、建立自定义函数 (12) 六、建立存储过程 (13) 第六章、总结 (14)

第一章、需求分析 1 、需求概述 针对现代化公司管理情况,员工管理工作是公司运行中的一个重环节,是整个公司管理的核心和基础。它的内容对于公司的决策者和管理者来说都至关重要,所以公司管理系统应该能够为用户提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式管理文件工籍,这种管理方式存在着许多缺点,如:效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。 公司员工管理系统借助于计算机强大的处理能力,大大减轻了管理人员的工作量,并提高了处理的准确性。 能够进行数据库的数据定义、数据操纵、数据控制等处理功能,进行联机处理的相应时间要短。 具体功能包括:系统应该提供员工数据的插入、删除、更新、查询;员工基本信息查询的功能。 2 、功能简介 员工管理系统它可以有效的管理员工信息情况。具体功能有以下几个方面。基本信息的添加,修改,删除和查询。学生信息管理包括添加、查看学生列表等功能。

linux实验报告

实验一 实验名称:Linux 基本命令的使用 实验时间:2学时 实验目的:熟练使用Linux字符界面、窗口系统的常用命令。 实验内容 (一)Linux操作基础 1.重新启动linux或关机(poweroff,shutdown,reboot,init 0,init 6) 2.显示系统信息(uname),显示系统日期与时间,查看2014年日历(date,cal) ①uname:查看系统与内核相关信息 uname -asrmpi 参数: -a :所有系统相关的信息; -s: 系统内核名称; -r: 内核的版本; -m:本系统的硬件名称,如i686或x86_64; -p: CPU的类型,与-m类似,只是显示的是CPU的类型; -i :硬件的平台(ix86). ②date:显示日期的命令 ③cal:显示日历 单独cal:列出当前月份的日历 cal 2014:列出2014年的日历 cal 5 2014:列出2014年五月的目录 3.使用帮助命令(man,help) ①man:是manual(操作说明)的简写,是在线帮助系统 man后跟某个命令就会详细说明此命令,例如:man man就会详细说明man 这个命令的用法; ②help:也是帮助命令,一般会在命令后,例如:cd --help 就会列出cd命令的使用说明。 4.查看当前登陆用户列表(who),显示当前用户(whoami) ①who:显示目前已登录在系统上面的用户信息; ②whoami:查询当前系统账户 5.建立一个新用户mytest,设定密码(useradd,passwd) ①useradd mytest(建立新用户mytest);

Linux文件系统实验报告

黄冈师学院 提高型实验报告 实验课题文件系统的设计与实现(实验类型:□综合性 设计性□应用性) 实验课程操作系统原理 实验时间2015-2016 第二学期 学生何正发 专业班级软件工程1401 学号07

成绩: 一、实验目的和要求 1、熟悉操作系统设计的过程,巩固操作系统的基本知识,加深对操作原理、功能及各种不同的存储管理方法理解与应用; 2、学会运用各种语言、软件开发新软件的基本方法; 3、增强实际应用能力和动手操作能力。 二、实验条件 Win7 /Windows 8.1/Linux等操作系统,装有java、C、C++、C#等语言工具的环境。 三、实验原理分析 可以选择最佳适应算法,按照从小到大的次序组成空闲区自由链,当用户作业或进程申请一个空闲区时,存储管理 程序从表头开始查找,当找到第一个満足要求的空闲区时,停止查找。如果该空闲区大于请求表中的请求长 度,将减去请求长度后的剩余空闲区部分留在可用表中。回收时,从作链中删去要回收的作业块,同时在空 闲链中插入该作业大小的空闲区,并按顺序排列 四、实验方案或步骤 1、应用环境、需求分析 本模拟系统主要针对文件的管理和操作名主要有:创建用户、文件、文件夹,读文件,写文件,执行文件,关闭文件,删除用户、文件夹、文件的功能。 创建用户、文件、文件夹:在对系统发出操作命令之前必须先登录用户,然而登录之前必须创建该用户。在创建完后,可通过登录用户来创建文件和文件夹。在创建文件时可设置文件的属性和输入文件的容。 读文件:读取任何已创建的只读或读写文件的容;如果所要读的文件不是可读文件时,系统会显示该文件不可读;如果所读文件不存在,系统会显示文件不存在。 写文件用户可写或重写读写文件中的容,并保存文件中的重写容,以供下次读取;当所要写的文件不是可写的文件时,系统会显示该文件不可写;当所要写的文件并不存在时,系统会显示该文件不存在。

车牌识别综合实验报告大作业

数字图像处理综合实验报告 车牌识别技术(LPR) 组长:__ ******_____ 组员:___ _****** _ ___ _******_____ ____ _*******___ 指导老师:___ *******_____ *****学院****学院 2010年6月10日

实验五车牌识别技术(LPR) 一、实验目的 1、了解车牌识别系统的实现,及车牌识别系统的应用; 2、了解并掌握车牌识别系统如何实现。 二、实验内容 1、车牌识别系统的图像预处理、 2、车牌定位、 3、字符分割 4、字符识别 三、实验原理 车辆牌照识别(LPR)系统是一个专用的计算机视觉系统,它能够自动地摄取车辆图像和识别车牌号码,可应用在公路自动收费、停车场管理、失窃车辆侦察、门卫系统、智能交通系统等不同场合。LPR系统的广泛应用将有助于加快我国交通管理自动化的进程。 1、预处理 摄像时的光照条件,牌照的整洁程度,摄像机的状态(焦距,角度和镜头的光学畸变),以及车速的不稳定等因素都会不同程度的影响图像效果,出现图像模糊,歪斜或缺损,车牌字符边界模糊不清,细节不清,笔画断开,粗细不均等现象,从而影响车牌区域的分割与字符识别的工作,所以识别之前要进行预处理。预处理的包括: 1)消除模糊—— 用逆滤波处理消除匀速运动造成的图像运动模糊 2)图像去噪。 通常得到的汽车图像会有一些污点,椒盐噪声,应用中值滤波 3)图像增强 自然光照度的昼夜变化会引起图像对比度的不足,所以必须图像增强,可以采用灰度拉伸,直方图均衡等 通过以上处理,提高了图像的质量,强化了图像区域。

2、车牌定位 自然环境下,汽车图像背景复杂、光照不均匀,如何在自然背景中准确地确定牌照区域是整个识别过程的关键。首先对采集到的视频图像进行大范围相关搜索,找到符合汽车牌照特征的若干区域作为候选区,然后对这些侯选区域做进一步分析、评判,最后选定一个最佳的区域作为牌照区域,并将其从图象中分割出来。 ? 图像的灰度化 ? 图像灰度拉伸 ? 对图像进行边缘检测 采用Sobel 算子经行边缘检测 该算子包含两组3*3的矩阵,分别为横向及纵向,将之与图像作平面卷积,即可分别得出横向及纵向的亮度差分近似值。如果以A 代表原始图像,Gx 及Gy 分别代表经横向及纵向边缘检测的图像,其公式如下: A Gx *]101202101?????+-+-+-?????= and A *121000121Gy ?? ?? ? ---+++?????= 图像的每一个像素的横向及纵向梯度近似值可用以下的公式结合,来计算梯度的大小。 2 y 2 x G G G += 然后可用以下公式计算梯度方向。 ??? ? ??=x y G G arctan θ 在以上例子中,如果以上的角度θ等于零,即代表图像该处拥有纵向边缘,左方较右方暗。 ? 对其进行二值化 ? 纹理分析法 行扫描行法是利用了车牌的连续特性。车牌区域有连续7个字符,而且字符与字符之间的距离在一定范围内。定义从目标到背景或者从背景到目标为一个跳变。牌照区域相对于其它非车牌区域跳变多,而且间距在定范围内和跳变次数大于一定次数,并且连续满足上述要求的行要达到一定的数目。 从下到上的顺序扫描,对图像的每一行进行从左向右的扫描,碰到跳变点记录下当前位置,如果某行连续20个跳变点以上,并且前一个跳变点和后一个跳变点的距离在30个像素内,就记录下起始点和终止点位置,如果连续有10行以上这样的跳变点,我们就认为该区域就是车牌预选区域。 3、字符分割: 完成牌照区域的定位后,再将牌照区域分割成单个字符,然后进行识别。字符分割一般采用垂直投影法。由于字符在垂直方向上的投影必然在字符间或字符内的间隙处取得局部最小值的附近,并且这个位置应满足牌照的字符书写格式、字符、尺寸限制和一些其他条件。利用垂直投影法对复杂环境下的汽车图像中的字符分割有较好的效果。 ? 车牌区域灰度二值化

Linux常用命令实验报告

实验二 姓名:陈辉龙学号:201407010201 班级:14计科(1)一.实验目的: 掌握Linux常见命令,为今后的实验打下良好的基础。 二.实验内容 1.新建用户为chenhuilong,配置密码为passwd: 2.切换到chenhuilong用户,并在/home/chenhuilong目录下新建文件夹dir: 3.在文件夹dir下新建文件hello(内容为"printf hello world!"),并将其拷贝至/home/user目录: 4.统计/home/user目录下文件的个数,包括子目录里的首字符为-的普通文件:

5.统计/home下目录的个数,包括子目录里的目录: 6.显示/home/user目录下名为hello的文件的行数、字数以及字符数(使用输入重定向): 7.将上步的结果输出重定向到名为cnt_hello的文件: 8.删除/home/user目录下的hello文件: 9.进入/home/user/dir文件夹,将hello文件属性变为-rwxrw-r--(使用符号标记方式),并为hello文件在/home/user目录下建立软链接,链接文件名为link_hello:

10.查看/home/user/dir/hello文件的详细信息: 11.切换至根目录下查找hello文件: 12.打包home/user/dir/hello文件,并进行压缩,然后再进行解压缩解包: 13.退出user用户,删除/home/user文件夹:

14.将文件夹/home的所有者改为user用户,并删除user用户: 三.实验总结: 本实验旨在熟悉Unix的常用命令,实验较简单,操作起来还算顺利,做了一遍感觉还不是很熟悉,因此做了两遍,第二遍就很得心顺手。通过这次实验,熟悉了一些常用的命令操作,为以后的学习打下坚实的基础,提高自己的动手能力。

C--大作业图书管理系统实验报告

附件1: 《面向对象程序设计》 大作业 题学专班姓目 院 业 级 名 学生成绩管理系统 文法学院 教育学 教育学1201 杨欣 指导教师鄢红国 2013 年12 月20 日学号:0121213640126

目录 一二三四五六七八十设计目的 (1) 大作业的内容 (2) 大作业的要求与数据 (3) 大作业应完成的工作 (4) 总体设计(包含几大功能模块) (5) 详细设计(各功能模块的具体实现算法——流程图) (6) 调试分析(包含各模块的测试用例,及测试结果) (7) 总结 (8) 参考资料 (9)

一二 大作业的目的 《面向对象程序设计》是一门实践性很强的课程,通过大作业不仅可以全方位检验学生知识掌握程度和综合能力,而且还可以进一步加深、巩固所学课程的基本理论知识,理论联系实际,进一步培养自己综合分析问题和解决问题的能力。更好地掌握运用C++语言独立地编写、调试应用程序和进行其它相关设计的技能。 大作业的内容 对图书信息(包括编号、书名、总入库数量、当前库存量、已借出本数等) 进行管理,包括图书信息的输入、输出、查询、删除、排序、统计、退出.将图书的信息进行记录,信息内容包含:(1)图书的编号(2)图书的书名(3)图书的库存量。假设,现收集到了一个图书馆的所有图书信息,要求用C语言编写一个简单的图书管理系统,可进行录入、查询、修改和浏览等功能。学习相关开发工具和应用软件,熟悉系统建设过程。 三大作业的要求与数据 1、用C语言实现系统; 2、对图书信息(包括编号、书名、总入库数量、当前库存量、已借出本数)进行管理,包括图书信息的输入、输出、查询、删除、排序、统计、退出. 3、图书信息包括:其内容较多,为了简化讨论,要求设计的管理系统能够 完成以下功能: (1)每一条记录包括一本图书的编号、书名、库存量 (2)图书信息录入功能:(图书信息用文件保存,可以一次完成若干条记录 的输入。) (3)图书信息显示浏览功能:完成全部图书记录的显示。 (4)查询功能:完成按书名查找图书记录,并显示。 (5)图书信息的删除:按编号进行图书某图书的库存量. (6)借书登记系统:可以输入读者编号和所借书号来借书。 (7)还书管理系统:可以输入读者编号和所借书号来还书。 (8)、应提供一个界面来调用各个功能,调用界面和各个功能的操作界面应 尽可能清晰美观!

实验一 Linux基本操作实验报告

实验一Linux基本操作 一.实验目的: 1. 二.实验环境: 虚拟机+Red Hat Enterprise Server 5.0 三.实验内容: 根据以下的文字提示,调用相应的命令来完成,记录相应的运行结果。一)用户和组基本操作 1.添加一个user01用户,家目录为/home/sub2,并设置密码 2.添加一个group1 组 3.将user01用户添加到group1组中 4.修改group1组名称为group2 5.修改user01的家目录为/home/user01 6.判断/etc/password这个目录是否包含user01这个用户 7.修改user01的shell为/bin/tcsh 8.添加一个group3组,把user01和root用户都添加到该组

https://www.360docs.net/doc/263730321.html,er01用户从group2组切换到group3组 10.设置user01的密码在2012-5-20过期 11.把/home/user01目录所属的组修改为group3 12.删除user01帐号 13.查看内核版本号 二)进程管理 1.运行cat命令:vi test,输入若干字符如this is a example,挂起vi进程 2.显示当前所有作业 3.将vi进程调度到前台运行

4.将vi进程调度到后台并分别用kill/pkill/killall命令结束该该进程。 三)磁盘管理 1.通过fdisk 将为硬盘增加一个分区(主分区或者逻辑分区)。 2.并格式化ext3系统,

3.检测分区是否有坏道 4.检测分区的完整性 5.加载分区到/mnt目录(或者其他分区)下,并拷贝一些文件到该目录下 6.(选做)为test用户设置磁盘配额(软限制和硬限制参数自行设定) 7.退出/mnt目录后卸载该分区 8.用du查看/usr目录的大小

python大作业实验报告

大学计算机基础 (理工)大作业 ――暨南大学南校区生活指南系统 G108 甘颖欣熊梦娜翁婉晖梁绮婷李嘉顺 2015-1-3 目录目录 (2)

“暨南大学南校区生活指南系统”选题说明书 (3) 1. .............................................................................................................................................................. 成员分组和任务分工 .. (3) 2. .............................................................................................................................................................. 选题说明3 2.1 选题任务描述 (3) 2.2 设计思路描述 (4) 2.3 程序运行效果........................................................ . (4) 2.4 涵盖的主要知识点 (4) 3. .............................................................................................................................................................. 进度安排4“暨南大学南校区生活指南系统”实现报告. (5) 1. 成员分组和任务分工 (5) 2. .............................................................................................................................................................. 设计实现详细说明 . (5) 2.1 选题任务详细描述 (5) 2.2 设计思路详细描述 (6) 2.3 涵盖的主要知识点 (12) 3. 总结 (12)

linux编程实验报告

linux编程实验报告 篇一:Linux程序设计实验报告 《Linux程序设计》 实验报告 安徽工业大学计算机学院 XX年6月 1 实验一 Linux基本 命令的使用 1、实验目的 学习和掌握Linux的基本命令。 2、实验内容和步骤 步骤1:以user_login用户身份并使用telnet登录Linux服务器,按照提示创建自己的账户和口令。 步骤 2:使用新创建的用户账户和口令登录Linux系统,察看登录后的界面。 步骤3:使用pwd命令察看当前的工作目录,然后用ls 命令查看当前目录下的内容,尝试使用-a,-l,-F,-A,-lF等不同选项并比较不同之处。 步骤4:在当前目录下建立一个名为test的新目录,然后将工作目录切换到test下,尝试将/etc目录下的文件passwd拷贝到该目录下(cp 源文件目的目录)。察看当前目录下的passwd文件的属主和文件权限。

2 步骤5:尝试向当前目录下的passwd文件和/etc/passwd 文件分别写入一些新内容(可使用echo “字符串” >>文件的命令),看看操作能否成功,如果不能成功,请说明原因。用cat命令浏览文件password的内容,用more命令进行浏览翻页操作,再用less命令浏览文件的内容。比较这几个命令的不同之处 步骤6:用ls命令查看test下文件的权限,用mv命令更改文件password的文件名为test.txt,尝试用chown和chgrp更改文件的属主为root、组为root,看看能否成功,不成功,请说明原因。尝试用chomd将文件权限为“-rw-------”。看看能否成功,不成功,请说明原因。 3 步骤7:用rm命令删除test目录下的所有文件,再用rmdir命令删除test目录。(想一想有没有一条命令将目录及目录下的所有文件删除,写出这条命令) 步骤8:使用ps命令查看当前系统内的进程,并利用man命令获取ps命令的参数,写出获取当前终端进程执行情况的ps命令。 4 步骤9:使用df命令查看当前系统已安装的文件系统的空间使用情况,记录结果。

Linux实验报告

Linux实验 一、实验目的 1. 了解Linux基本使用方法; 2. 掌握Linux基本设置方式; 3. 掌握Linux基本操作命令使用。 二、内容要求 1. 了解进程管理、文件管理与内存管理 2.掌握系统设置文件与命令 3. 熟练使用系统操作与维护命令 4. 熟练使用系统操作与维护命令 三、实验原理 Linux 系统常用命令格式: command [option] [argument1] [argument2] ... 其中option以“-”开始,多个option可用一个“-”连起来,如 “ls-l -a”与“ls-la”的效果是一样的。根据命令的不同,参数 分为可选的或必须的;所有的命令从标准输入接受输入,输出结果显示在 标准输出,而错误信息则显示在标准错误输出设备。可使用重定向功能对这 些设备进行重定向。如: ls –lh > a.txt 命令在正常执行结果后返回一个0值,如果命令出错可未完全完成,则返回 一个非零值(在shell中可用变量$?查看)。在shell script中可用此返 回值作为控制逻辑的一部分。 DSL命令操作: 帮助命令: man 获取相关命令的帮助信息 例如:man dir 可以获取关于dir的使用信息。 info 获取相关命令的详细使用方法 例如:info info 可以获取如何使用info的详细信息。 基本操作: echo 显示字符串 pwd 显示当前工作目录 ls 查看当前文件夹内容 ls -a 查看当前文件夹内容(包括隐藏项) ls -l 查看当前文件夹内容(详细) ls / 查看根目录内容 cd / 移动到根目录

pwd 显示当前工作目录 ls -al 查看根目录文件夹内容(详细情况并包括隐藏项) cd /home/dsl 回到“家”目录 pwd 显示当前工作目录 df -h 显示剩余磁盘空间,参数“-h”表示适合人读取(human readable) du -h 显示文件夹(及子文件夹)所占空间 mkdir fd0 在当前目录下创建目录fd0 touch a.txt 创建一个空文件a.txt ls / -lh > a.txt 利用重定向功能将根目录中的内容写入a.txt。 cat a.txt 显示a.txt内容 wc a.txt 显示a.txt的行数,字数与字节数 find / -name *conf 在根目录下(包括子目录)查找以conf结尾的文件 sudo mount /dev/fd0 fd0 将软盘镜像挂载到目录fd0上 cd fd0 进入软盘镜像所挂载的目录 ls -lh 查看软盘镜像中的文件 cd .. “..”表示进入上一层目录 gzip a.txt 使用gzip压缩a.txt ls -lh 查看当前文件夹 sudo cp a.txt.gz fd0/ 将a.txt复制到fd0目录下,即将其复制到软盘镜像中 sudo mv fd0/a.txt.gz ./ 将a.txt移动到当前目录下,“.”表示当前目录 sudo umount /dev/fd0 将软盘镜像卸载 ls fd0 显示fd0 目录内容 gzip -d a.txt.gz 解压缩a.txt.gz ls -lh 查看当前文件夹 权限管理: 假设当前处于/home/dsl 目录下,且有a.txt(文件)与fd0(目录),当前用户名为dsl。 sudo cat /etc/passwd 用户 sudo cat /etc/shadow 密码 sudo cat /etc/group 组 users 查看当前登录用户 sudo chmod -x fd0 更改文件夹权限 ls fd0 fd0不能被执行,则意味着无法打开! sudo chmod +x fd0 更改文件夹权限 ls fd0 fd0能被打开 sudo chown root fd0 更改目录fd0的所有者 ls -lh 注意看fd0目录的属性 sudo chown dsl:root fd0 更改目录fd0的所有者为dsl,所属组为root ls -lh 注意看fd0目录的属性 chmod a-r a.txt 现在a.txt不具有“读”权限,不能被读取

虚拟仪器大作业实验报告

东南大学生物科学与医学工程学院 虚拟仪器实验报告 大作业 实验名称:基于MIT-BIH 心率失常数据库的心电信号系统的设计专业:生物医学工程 姓名:学号: 同组人员:学号: 实验室: 实验时间:评定成绩:综合楼716 2013/11/28 审阅教师:

目录 一.实验目的 二.实验内容 基于MIT-BIH心率失常数据库的心电信号系统的设计 1.实验要求和说明 2.程序设计流程图 3.程序各版块介绍说明 4.前面板的设计 5.调试过程 6.结果及分析 三.实验收获及小结 四.参考文献

一.实验目的 现代医学表明,心电信号(ECG)含有临床诊断心血管疾病的大量信息,ECG 的检测与分析在临床诊断中具有重要价值,是了解心脏的功能与状况、辅助诊断心血管疾病、评估各种治疗方法有效性的重要手段。 本次大作业利用具有直观图形化编程和强大数字信号处理功能的虚拟仪器编程语言L abVIEW作为开发平台,设计一个基于虚拟仪器的简单心电信号分析系统,该系统具有心电信号的读取,处理分析,波形显示、心率显示及报警,波形存储和回放等功能。 二.实验内容 1.实验内容及要求 基于MIT-BIH心率失常数据库的心电信号系统的设计 1. 本次大作业所用原始信号是从MIT-BIH(Massachusettes Institute of and Beth Israel Hospital,美国麻省理工学院和波士顿贝丝以色列医院)心率数据库(https://www.360docs.net/doc/263730321.html,/physiobank/database/mitdb/)中选取心电信号作为实验分析的数据。设计的系统要求对原始心电信号进行读取、绘制出其时域波形,利用原始心电数据中的时间数据控制显示时间,并具有保存回放功能,同时具有心率过快或过缓报警提示功能。 2.心电信号是微弱低频生理电信号,通常频率在0.05Hz~100Hz,幅值不超过 4mV,它通过安装在皮肤表面的电极来拾取。由于实际检测工况的非理想,在ECG 信号的采集过程中往往会受到工频噪声及电极极化等各种随机噪声的影响。噪声的存在降低了诊断的准确性。其中影响最大的是工频干扰和基线漂移噪声。因此,在ECG 信号检测过程中,如何抑制工频干扰和基线漂移等是必须解决的问题。要求选择并设计合适的滤波器,除去所给心电信号的工频干扰和基线漂移。 2.检测心率:检测信号心电的R波,计算平均心率和实时心率(R-R波时间间隔 的倒数),并显示实时心率和平均心率。 3.对任一路心电信号滤波前后的信号进行时域分析和频谱分析,分别显示出结 果。 提高部分: 由于原始信号数据并不是等间隔采样而得到的,而L abview中用数字滤波器1. 处 理的数据要求等间隔的,由此需要对原始数据做一次线性插值处理,使其成为均匀数字信号,以便后面的信号进行频域谱分析。提示:根据原文件心电

相关文档
最新文档