操作系统第一次实验报告

操作系统第一次实验报告
操作系统第一次实验报告

实验一 Linux操作系统的安装及使用

(1) 总结通过几种途径安装Linux操作系统的经验;

1、Cygwin

Cygwin可以帮助我们在Windows环境下运行大部分的Linux应用程式,在cygwin1.dll 帮助下,可以造就出Linux API模拟环境。Cygwin必须在重新编译下运行,方法很简捷,可以帮助大家体验Linux,而且使大家可以尝试大量较常见的Linux应用软件,Cygwin 目前已被广泛应用。

2、Virtualization(虚拟化)

我相信使用虚拟机才是大家最常用的手法,虚拟化的好处就是“无缝”体会。要想手动安装

一个Linux系统,不是很简单的,但虚拟化使一切简单起来,起码不需要重新硬盘分区。目前较好的虚拟应用有有VirtualBox(免费)和VMware(收费),虚拟应用已经走过了漫长的岁月,现在对USB ,无线网络,DVD等都有很好的支持,但虚拟操作系统并不适合每一个人,因为要求电脑要有较高的CPU跟内存才能体验真正的虚拟化,资源不够会导致其功能和性能存在着很多不尽如人意的地方。

下图是安装了virtualbox,同一台电脑在Windows和Linux环境下运行firefox:

另一款虚拟Linux的安装最近人气急升,应用的是coLinux (Cooperative Linux)内核,这些虚拟方式与传统的虚拟最大的不同就是完全控制硬件。还有ooperative Virtual Machine (CVM),但这个不被Linux社区广泛应用。这里有一张介绍使用coLinux核心情况的列表。当然好用的还有Ulteo,Ulteo是一种即插即用Ubuntu的衍生coLinux应用,现在已经有强大的软件支持,在XP和Vista (32位)下也易于安装。

下图是Ulteo:

3、Wubi

Wubi(Windows-based Ubuntu Installer),极度推荐给Linux新用户,原因就是它的低风险及安全性。Wubi的安装就像一般软件的安装,无需要独立分区,而且安装完成功能齐全,很好地支持第三方软件,卸载也十分简便。Wubi也是有缺点的,就是安装在NT文件系统后,会给人一种年久了就会失修的感觉,老化情况比较严重。

下图

Wubi的安装:

Linux操作系统的几种启动方法。Linux操作系统的几种启动方法。Linux操作系统的几种启动方法。Linux操作系统的几种启动方法。

(2) Linux操作系统的几种启动方法。

(3) 整理出以上命令的使用手册(功能、命令格式、常用参数说明以及命令使

用实例)。

cat cd

chmod chown

cp cut

名称:cat

使用权限:所有使用者

使用方式:cat [-AbeEnstTuv] [--help] [--version] fileName

说明:把档案串连接后传到基本输出(萤幕或加> fileName 到另一个档案)

参数:

-n 或--number 由1 开始对所有输出的行数编号

-b 或--number-nonblank 和-n 相似,只不过对于空白行不编号

-s 或--squeeze-blank 当遇到有连续两行以上的空白行,就代换为一行的空白行

-v 或--show-nonprinting

范例:

cat -n textfile1 > textfile2 把textfile1 的档案内容加上行号后输入textfile2 这个档案里cat -b textfile1 textfile2 >> textfile3 把textfile1 和textfile2 的档案内容加上行号(空白行不加)之后将内容附加到textfile3

名称:cd

使用权限:所有使用者

使用方式:cd [dirName]

说明:变换工作目录至dirName。其中dirName 表示法可为绝对路径或相对路径。若目录名称省略,则变换至使用者的home directory (也就是刚login 时所在的目录).另外,"~" 也表示为home directory 的意思,"." 则是表示目前所在的目录,".." 则表示目前目录位置的上一层目录。

范例:跳到/usr/bin/:

cd /usr/bin

跳到自己的home directory:

cd ~

跳到目前目录的上上两层:

cd ../..

名称:cp

使用权限:所有使用者

使用方式:

cp [options] source dest

cp [options] source... directory

说明:将一个档案拷贝至另一档案,或将数个档案拷贝至另一目录。

把计:

-a 尽可能将档案状态,权限等资料都照原状予以复制。

-r 若source 中含有目录名,则将目录下之档案亦皆依序拷贝至目的地。

-f 若目的地已经有相同档名的档案存在,则在复制前先予以删除再行复制。

范例:

将档案aaa 复制(已存在),并命名为bbb:

cp aaa bbb

将所有的C语言程式拷贝至Finished 子目录中:

cp *.c Finished

名称:cut

使用权限:所有使用者

用法:cut -cnum1-num2 filename

说明:显示每行从开头算起num1 到num2 的文字。

范例:

shell>> cat example

test2

this is test1

shell>> cut -c0-6 example ## print 开头算起前6 个字元

test2

this i

用法:find

使用说明:

将档案系统内符合expression 的档案列出来。你可以指要档案的名称,类别,时间,大小,权限等不同资讯的组合,只有完全相符的才会被列出来。

find 根据下列规则判断path 和expression,在命令列上第一个- ( ) , ! 之前的部份为path,之后的是expression。如果path 是空字串则使用目前路径,如果expression 是空字串则使用-print 为预设

expression 中可使用的选项有二三十个之多,在此只介绍最常用的部份。

-mount, -xdev:只检查和指定目录在同一个档案系统下的档案,避免列出其它档案系统中的档案

-amin n:在过去n 分钟内被读取过

-anewer file:比档案file 更晚被读取过的档案

-atime n:在过去n 天过读取过的档案

-cmin n:在过去n 分钟内被修改过

-cnewer file :比档案file 更新的档案

-ctime n:在过去n 天过修改过的档案

-empty:空的档案-gid n or -group name:gid 是n 或是group 名称是name

-ipath p, -path p:路径名称符合p 的档案,ipath 会忽略大小写

-name name, -iname name:档案名称符合name 的档案。iname 会忽略大小写

-size n:档案大小是n 单位,b 代表512 位元组的区块,c 表示字元数,k 表示kilo bytes,w 是二个位元组。-type c:档案类型是c 的档案。

d: 目录

c: 字型装置档案

b: 区块装置档案

p: 具名贮列

f: 一般档案

l: 符号连结

s: socket

-pid n:process id 是n 的档案

你可以使用( ) 将运算式分隔,并使用下列运算。

exp1 -and exp2

! expr

-not expr

exp1 -or exp2

exp1, exp2

范例:

将目前目录及其子目录下所有延伸档名是c 的档案列出来。

# find . -name "*.c"

将目前目录其其下子目录中所有一般档案列出

# find . -ftype f

将目前目录及其子目录下所有最近20 分钟内更新过的档案列出

# find . -ctime -20

名称:less

使用权限:所有使用者

使用方式:

less [Option] filename

说明:

less 的作用与more 十分相似,都可以用来浏览文字档案的内容,不同的是less 允许使用者往回卷动

以浏览已经看过的部份,同时因为less 并未在一开始就读入整个档案,因此在遇上大型档案的开启时,会比一般的文书编辑器(如vi)来的快速。

范例:

名称:locate

使用权限:所有使用者

使用方式:locate [-q] [-d ] [--database=]

locate [-r ] [--regexp=]

locate [-qv] [-o ] [--output=]

locate [-e ] [-f ] <[-l ] [-c]

<[-U ] [-u]>

locate [-Vh] [--version] [--help]

说明:

locate 让使用者可以很快速的搜寻档案系统内是否有指定的档案。其方法是先建立一个包括系统内所有档案名称及路径的资料库,之后当寻找时就只需查询这个资料库,而不必实际深入档案系统之中了。在一般的distribution 之中,资料库的建立都被放在contab 中自动执行。

一般使用者在使用时只要用

# locate your_file_name

的型式就可以了。参数:

-u

-U

建立资料库,-u 会由根目录开始,-U 则可以指定开始的位置。

-e

将排除在寻找的范围之外。

-l

如果是1.则启动安全模式。在安全模式下,使用者不会看到权限无法看到的档案。这会始速度减慢,因为locate 必须至实际的档案系统中取得档案的权限资料。

-f

将特定的档案系统排除在外,例如我们没有到理要把proc 档案系统中的档案放在资料库中。

-q

安静模式,不会显示任何错误讯息。

-n

至多显示个输出。

-r

使用正规运算式做寻找的条件。

-o

指定资料库存的名称。

-d

指定资料库的路径

-h

显示辅助讯息

-v

显示更多的讯息

-V

显示程式的版本讯息范例:

locate chdrv:寻找所有叫chdrv 的档案

locate -n 100 a.out:寻找所有叫a.out 的档案,但最多只显示100 个

locate -u:建立资料库

名称:ls

使用权限:所有使用者

使用方式:ls [-alrtAFR] [name...]

说明:显示指定工作目录下之内容(列出目前工作目录所含之档案及子目录)。

-a 显示所有档案及目录(ls内定将档案名或目录名称开头为"."的视为隐藏档,不会列出) -l 除档案名称外,亦将档案型态,权限,拥有者,档案大小等资讯详细列出

-r 将档案以相反次序显示(原定依英文字母次序)

-t 将档案依建立时间之先后次序列出

-A 同-a ,但不列出"." (目前目录) 及".." (父目录)

-F 在列出的档案名称后加一符号;例如可执行档则加"*", 目录则加"/"

-R 若目录下有档案,则以下之档案亦皆依序列出

范例:

列出目前工作目录下所有名称是s 开头的档案,愈新的排愈后面:

ls -ltr s*

将/bin 目录以下所有目录及档案详细资料列出:

ls -lR /bin

列出目前工作目录下所有档案及目录;目录于名称后加"/", 可执行档于名称后加"*": ls -AF

名称:rmdir

使用权限:于目前目录有适当权限的所有使用者

使用方式:rmdir [-p] dirName

说明:删除空的目录。

参数:-p 是当子目录被删除后使它也成为空目录的话,则顺便一并删除。

范例:

将工作目录下,名为AAA 的子目录删除:

rmdir AAA

在工作目录下的BBB 目录中,删除名为Test 的子目录。若Test 删除后,BBB 目录成为空目录,则BBB 亦予删除。

rmdir -p BBB/Test

名称:touch

使用权限:所有使用者

使用方式:

touch [-acfm]

[-r reference-file] [--file=reference-file]

[-t MMDDhhmm[[CC]YY][.ss]]

[-d time] [--date=time] [--time={atime,access,use,mtime,modify}]

[--no-create] [--help] [--version]

file1 [file2 ...]

说明:

touch 指令改变档案的时间记录。ls -l 可以显示档案的时间记录。

参数:

a 改变档案的读取时间记录。

m 改变档案的修改时间记录。

c 假如目的档案不存在,不会建立新的档案。与--no-create 的效果一样。

f 不使用,是为了与其他unix 系统的相容性而保留。

r 使用参考档的时间记录,与--file 的效果一样。

d 设定时间与日期,可以使用各种不同的格式。

t 设定档案的时间记录,格式与date 指令相同。

--no-create 不会建立新档案。

--help 列出指令格式。

--version 列出版本讯息。

范例:

最简单的使用方式,将档案的时候记录改为现在的时间。若档案不存在,系统会建立一个新的档案。

touch file

touch file1 file2

将file 的时间记录改为 5 月 6 日18 点 3 分,公元两千年。时间的格式可以参考date 指令,至少需输入MMDDHHmm ,就是月日时与分。

touch -c -t 05061803 file

touch -c -t 050618032000 file

将file 的时间记录改变成与referencefile 一样。

touch -r referencefile file

将file 的时间记录改成 5 月 6 日18 点 3 分,公元两千年。时间可以使用am, pm 或是24 小时的格式,日期可以使用其他格式如6 May 2000 。

touch -d "6:03pm" file

touch -d "05/06/2000" file

touch -d "6:03pm 05/06/2000" file

名称:last

使用权限:所有使用者

使用方式:shell>> last [options]

说明:显示系统开机以来获是从每月初登入者的讯息

把计:

-R 省略hostname 的栏位

-num 展示前num 个

username 展示username 的登入讯息

tty 限制登入讯息包含终端机代号

范例:

shell>> last -R -2

johnney pts/1 Mon Aug 14 20:42 still logged in

johnney pts/0 Mon Aug 14 19:59 still logged in

wtmp begins Tue Aug 1 09:01:10 2000 ### /var/log/wtmp

shell>> last -2 minery

minery pts/0 140.119.217.115 Mon Aug 14 18:37 - 18:40 (00:03)

minery pts/0 140.119.217.115 Mon Aug 14 17:22 - 17:24 (00:02)

wtmp begins Tue Aug 1 09:01:10 2000

名称:login

这个命令都不会就不要干算了!呵呵我也不在这里多费笔墨耽误大家美好青春了^_^

名称:passwd

使用权限:所有使用者

使用方式:passwd [-k] [-l] [-u [-f]] [-d] [-S] [username]

说明:用来更改使用者的密码

参数:

-k

-l

-u

-f

-d 关闭使用者的密码认证功能, 使用者在登入时将可以不用输入密码, 只有具备root 权限的使用者方可使用.

-S 显示指定使用者的密码认证种类, 只有具备root 权限的使用者方可使用.

[username] 指定帐号名称.

名称:who

使用权线:所有使用者都可使用

使用方式:who - [husfV] [user]

说明:显示系统中有那些使用者正在上面,显示的资料包含了使用者ID,使用的终端机,从那边连上来的,上线时间,呆滞时间,CPU 使用量,动作等等。

把计:

-h:不要显示标题列

-u:不要显示使用者的动作/工作

-s:使用简短的格式来显示

-f:不要显示使用者的上线位置

-V:显示程式版本

名称:/etc/aliases

使用权限:系统管理者

使用方式:请用newaliases 更新资料库

说明:

sendmail 会使用一个在/etc/aliases 中的档案做使用者名称转换的动作。当sendmail 收到一个要送给xxx 的信时,它会依据aliases档的内容送给另一个使用者。这个功能可以创造一个只有在信件系统内才有效的使用者。例如mailing list 就会用到这个功能,在mailinglist 中,我们可能会创造一个叫redlinux@https://www.360docs.net/doc/8b2704676.html, 的mailinglist,但实际上并没有一个叫redlinux 的使用者。实际aliases 档的内容是将送给这个使用者的信都收给mailing list 处理程式负责分送的工作。

/etc/aliases 是一个文字模式的档案,sendmail 需要一个二进位格式的/etc/aliases.db。newaliases 的功能传是将/etc/aliases 转换成一个sendmail 所能了解的资料库。范例:# newaliases

下面命令会做相同的事,

# sendmail -bi

相关命令:

mail, mailq, newaliases, sendmail

” mail [返回]

名称:/etc/aliases

使用权限:系统管理者

使用方式:newaliases

说明:

sendmail 会使用一个在/etc/aliases 中的档案做使用者名称转换的动作。当sendmail 收到一个要送给xxx 的信时,它会依据aliases档的内容送给另一个使用者。这个功能可以创造一个只有在信件系统内才有效的使用者。例如mailing list 就会用到这个功能,在mailinglist 中,我们可能会创造一个叫redlinux@https://www.360docs.net/doc/8b2704676.html, 的mailinglist,但实际上并没

有一个叫redlinux 的使用者。实际aliases 档的内容是将送给这个使用者的信都收给mailing list 处理程式负责分送的工作。

/etc/aliases 是一个文字模式的档案,sendmail 需要一个二进位格式的/etc/aliases.db。newaliases 的功能传是将/etc/aliases 转换成一个sendmail 所能了解的资料库。

参数:没有任何参数。范例:

# newaliases

下面命令会做相同的事,

# sendmail -bi

相关命令:

mail, mailq, newaliases, sendmail

名称:write

使用权限:所有使用者

使用方式:

write user [ttyname]

说明:传讯息给其他使用者

把计:

user:预备传讯息的使用者帐号

ttyname:如果使用者同时有两个以上的tty 连线,可以自行选择合适的tty 传讯息

例子.1:

传讯息给Rollaend,此时Rollaend 只有一个连线:

write Rollaend

接下来就是将讯息打上去,结束请按ctrl+c

例子.2 :传讯息给Rollaend,Rollaend 的连线有pts/2,pts/3:

write Rollaend pts/2

接下来就是将讯息打上去,结束请按ctrl+c

注意:若对方设定mesg n,则此时讯席将无法传给对方

名称:kill

使用权限:所有使用者

使用方式:

kill [ -s signal | -p ] [ -a ] pid ...

kill -l [ signal ]

说明:kill 送出一个特定的信号(signal) 给行程id 为pid 的行程根据该信号而做特定的动作, 若没有指定, 预设是送出终止(TERM) 的信号

把计:

-s (signal):其中可用的讯号有HUP (1), KILL (9), TERM (15), 分别代表着重跑, 砍掉, 结束; 详细的信号可以用kill -l

-p:印出pid , 并不送出信号

-l (signal):列出所有可用的信号名称

范例:

将pid 为323 的行程砍掉(kill):

kill -9 323

将pid 为456 的行程重跑(restart):

kill -HUP 456

名称:nice

使用权限:所有使用者

使用方式:nice [-n adjustment] [-adjustment] [--adjustment=adjustment] [--help] [--version] [command [arg...]]

说明:以更改过的优先序来执行程式, 如果未指定程式, 则会印出目前的排程优先序, 内定的adjustment 为10, 范围为-20 (最高优先序) 到19 (最低优先序)

把计:

-n adjustment, -adjustment, --adjustment=adjustment 皆为将该原有优先序的增加adjustment

--help 显示求助讯息

--version 显示版本资讯

范例:

将ls 的优先序加1 并执行:

nice -n 1 ls

将ls 的优先序加10 并执行:

nice ls将ls 的优先序加10 并执行

注意:优先序(priority) 为作业系统用来决定CPU 分配的参数,Linux 使用『回合制(round-robin)』的演算法来做CPU 排程,优先序越高,所可能获得的CPU时间就越多。

名称:renice

使用权限:所有使用者

使用方式:renice priority [[-p] pid ...] [[-g] pgrp ...] [[-u] user ...]

说明:重新指定一个或多个行程(Process)的优先序(一个或多个将根据所下的参数而定) 把计:

-p pid 重新指定行程的id 为pid 的行程的优先序

-g pgrp 重新指定行程群组(process group)的id 为pgrp 的行程(一个或多个) 的优先序

-u user 重新指定行程拥有者为user 的行程的优先序

范例:

将行程id 为987 及32 的行程与行程拥有者为daemon 及root 的优先序号码加1: renice +1 987 -u daemon root -p 32

注意:每一个行程(Process)都有一个唯一的

名称:top

使用权限:所有使用者

使用方式:top [-] [d delay] [q] [c] [S] [s] [i] [n] [b]

说明:即时显示process 的动态

把计:

d:改变显示的更新速度,或是在交谈式指令列( interactive command)按s

q:没有任何延迟的显示速度,如果使用者是有superuser 的权限,则top 将会以最高的优先序执行

c:切换显示模式,共有两种模式,一是只显示执行档的名称,另一种是显示完整的路径与名称S:累积模式,会将己完成或消失的子行程( dead child process ) 的CPU time 累积起来s:安全模式,将交谈式指令取消, 避免潜在的危机

i:不显示任何闲置(idle) 或无用(zombie) 的行程

n:更新的次数,完成后将会退出top

b:批次档模式,搭配"n" 参数一起使用,可以用来将top 的结果输出到档案内

范例:

显示更新十次后退出;

top -n 10

使用者将不能利用交谈式指令来对行程下命令:

top -s

将更新显示二次的结果输入到名称为top.log 的档案里:

top -n 2 -b < top.log

名称: tr

### 1.比方说要把目录下所有的大写档名换为小写档名?

似乎有很多方式,"tr"是其中一种:

#!/bin/sh

dir="/tmp/testdir";

files=`find $dir -type f`;

for i in $files

do

dir_name=`dirname $i`;

ori_filename=`basename $i`

new_filename=`echo $ori_filename | tr [:upper:] [:lower:]` > /dev/null;

#echo $new_filename;

mv $dir_name/$ori_filename $dir_name/$new_filename

done

### 2.自己试验中...lowercase to uppercase

tr abcdef...[del] ABCDE...[del]

tr a-z A-Z

tr [:lower:] [:upper:]

shell>> echo "this is a test" | tr a-z A-Z > www

shell>> cat www

THIS IS A TEST

### 3.去掉不想要的字串

shell>> tr -d this ### 去掉有关t.e.s.t

this

man

man

test

e

### 4.取代字串

shell>> tr -s "this" "TEST"

this

TEST

th

TE

指令:clear

用途:清除萤幕用。

使用方法:在console 上输入clear。

名称: reset, tset

使用方法: tset [-IQqrs] [-] [-e ch] [-i ch] [-k ch] [-m mapping] [terminal]

使用说明:

reset 其实和tset 是一同个命令,它的用途是设定终端机的状态。一般而言,这个命令会自动的从环境变数,命令列或是其它的组态档决定目前终端机的型态。如果指定型态是? 的话,这个程式会要求使用者输入终端机的型别。

由于这个程式会将终端机设回原始的状态,除了在login 时使用外,当系统终端机因为程式不正常执行而进入一些奇怪的状态时,你也可以用它来重设终端机o 例如不小心把二进位档用cat 指令进到终端机,常会有终端机不再回应键盘输入,或是回应一些奇怪字元的问题。

此时就可以用reset 将终端机回复至原始状态。选项说明:

-p

将终端机类别显示在萤幕上,但不做设定的动作。这个命令可以用来取得目前终端机的类别。

-e ch

将erase 字元设成ch

-i ch

将中断字元设成ch

-k ch

将删除一行的字元设成ch

-I

不要做设定的动作,如果没有使用选项-Q 的话,erase,中断及删除字元的目前值依然会送到萤幕上。

-Q

不要显示erase,中断及删除字元的值到萤幕上。

-r

将终端机类别印在萤幕上。

-s

将设定TERM 用的命令用字串的型式送到终端机中,通常在.login 或.profile 中用范例:

让使用者输入一个终端机型别并将终端机设到该型别的预设状态。

# reset ?

将erase 字元设定control-h

# reset -e ^B

将设定用的字串显示在萤幕上

# reset -s

Erase is control-B (^B).

Kill is control-U (^U).

Interrupt is control-C (^C).

TERM=xterm;

名称:compress

使用权限:所有使用者

使用方式:compress [-dfvcV] [-b maxbits] [file ...]

说明:

compress 是一个相当古老的unix 档案压缩指令,压缩后的档案会加上一个.Z 延伸档名以区别未压缩的档案,压缩后的档案可以以uncompress 解压。若要将数个档案压成一个压缩档,必须先将档案tar 起来再压缩。由于gzip 可以产生更理想的压缩比例,一般人多已改用gzip 为档案压缩工具。

参数:

c 输出结果至标准输出设备(一般指荧幕)

f 强迫写入档案,若目的档已经存在,则会被覆盖(force)

v 将程式执行的讯息印在荧幕上(verbose)

b 设定共同字串数的上限,以位元计算,可以设定的值为9 至16 bits 。由于值越大,能使用的共同字串就越多,压缩比例就越大,所以一般使用预设值16 bits (bits)

d 将压缩档解压缩

V 列出版本讯息

范例:

将source.dat 压缩成source.dat.Z ,若source.dat.Z 已经存在,内容则会被压缩档覆盖。

compress -f source.dat

将source.dat 压缩成source.dat.Z ,并列印出压缩比例。

-v 与-f 可以一起使用

compress -vf source.dat

将压缩后的资料输出后再导入target.dat.Z 可以改变压缩档名。

compress -c source.dat > target.dat.Z

-b 的值越大,压缩比例就越大,范围是9-16 ,预设值是16 。

compress -b 12 source.dat

将source.dat.Z 解压成source.dat ,若档案已经存在,使用者按y 以确定覆盖档案,若使用-df 程式则会自动覆盖档案。由于系统会自动加入.Z 为延伸档名,所以source.dat 会自动当作source.dat.Z 处理。

compress -d source.dat

compress -d source.dat.Z

名称:lpd

使用权限:所有使用者

使用方式:lpd [-l] [#port]

lpd 是一个常驻的印表机管理程式,它会根据/etc/printcap 的内容来管理本地或远端的印表机。/etc/printcap 中定义的每一个印表机必须在/var/lpd 中有一个相对应的目录,目录中以cf 开头的档案表示一个等待送到适当装置的印表工作。这个档案通常是由lpr 所产生。

lpr 和lpd 组成了一个可以离线工作的系统,当你使用lpr 时,印表机不需要能立即可用,甚至不用存在。lpd 会自动监视印表机的状况,当印表机上线后,便立即将档案送交处理。这个得所有的应用程式不必等待印表机完成前一工作。

参数:

-l: 将一些除错讯息显示在标准输出上。

#port: 一般而言,lpd 会使用getservbyname 取得适当的TCP/IP port,你可以使用这个参数强迫lpd 使用指定的port。

范例:

这个程式通常是由/etc/rc.d 中的程式在系统启始阶段执行。

实验三 vi编辑器的学习和使用

vim 编辑器

命令模式插入模式和命令行模式替换模式

按i进入当前行输入模式(插入模式)可以编辑内容按o(在光标下新一行插入)

按ESC键退回到命令模式按shift+;进入命令行模式然后wq 退出保存

在命令模式下按一个大写的R就可以进入替换模式

大V 可视行小v 可视ctrl+v 可视块

复制粘贴等都只能在命令模式下使用

1.先按ctrl+v 进入可视块,选择你想要的区块然后按y进行复制

2。移动到你想要粘贴的位置按o(在光标下新一行插入)进入到插入模式,

3。按ESC进入到命令模式下再按p粘贴

命令行模式

:q 如果未对文件进行操作则退出:w保存不退出

:wq 保存退出(跟:x是一样的)加了!一般有强制的意思(因为有些是只读文件)

命令模式

page up(down)翻页end($也可以)一行尾,home(0也可以)一行首

行间跳转:gg(1G)跳到文件行首,G跳到末行nG第N行

set nu 设置vim文本中行号

删除dd删除这一个行(x 单个字符)u(undo)可以撤销删掉向下多行ndd

d+$符号表示删除光标所在位置至这一行行尾,d+^ ……至这一行行首

复制yy复制这一行小p向下粘贴nyy复制n行y也可以复制选中的东西

n下一个

查找/word 从上往下?word从下往上ctrl+r恢复重复模式可以按"."就是重复操作

查找并替换(在命令行模式下面)

:s/old/new/g 将当前行中“old”替换成“new”

:##s/old/new/g 在“##”范围内替换所有:%s/old/new/g整篇文件最后加c而不是g的话表示是替换动作会进行用户确认

读入或者打开新文件:r /etc/passwd 表示当前文件读入其他文件的内容:e/etc/passwd 表示打开新的文件进行编辑另存为:w /tmp/hello.txt 在末行模式下面将当前文件另存为/tmp目录下的hello.txt

剪切选中的文本(x)

多个文件如何操作(在末行模式下面)

vim aa bb cc可以新建多个文件:n可以切换到下一个文件:N可以切换到上一个文件n表示next

:file列出所有的文件

:set nu (nonu)显示和不显示行号

vim ~/.vimc 可以在这个配置文件里面写些东西,vim编辑器启动的时候会加载里里面的配置。出现相应的功能

eg:set nu 设置显示行号

set ts=4 设置一个tab键占四个空格的位置

set cursorline 在光标所在行显示下划线

实验四观察进程的并发性

1. 实验目的

通过创建子进程,观察父子进程的并发执行过程,区别顺序执行和并发执行;明确进程和程序的区别;加深对操作系统进程概念和进程并发特性的理解。2. 实验预习内容

学习进程的基础知识,了解Linux系统中进程创建的基本原理。熟悉进程的创建、控制、执行和终止等系统调用函数。

3. 实验内容及步骤

进程的创建。编制一段程序,使用系统调用fork()创建两个子进程,在此程序运行时,系统中就有一个父进程和两个子进程在活动。让每一个进程在屏幕上显示一个字符:父进程显示字符a,两个子进程分别显示字符b和子符c。试观察、记录并分析屏幕上进程调度和并发执行的情况。若在程序中使用系统调用nice()来改变各进程的优先级,会出现什么现象?

每个进程有一个基础优先级,比如50子进程1调用nice(2)后,优先级变

50+2=52子进程2调用nice(1)后,优先级变为50+1=51数字越大,优先级越小,这样三个进程的优先顺序为,父进程、子进程2、子进程1

{

pid_t p1,p2;

p1=fork();

if( p1 == 0 ) // 子进程1

{

nice(2);

printf("b\n");

}

else

{

p2=fork();

if(p2 == 0 ) // 子进程2

{

nice(1);

printf("c\n");

}

else

printf("a\n"); // 父进程

}

}

4. 实验总结

(1) 系统调用fork()是怎样创建进程的?

一个进程,包括代码、数据和分配给进程的资源。fork()函数通过系统调用创建一个与原来进程几乎完全相同的进程,也就是两个进程可以做完全相同的事,但如果初始参数或者传入的变量不同,两个进程也可以做不同的事。

一个进程调用fork()函数后,系统先给新的进程分配资源,例如存储数据和代码的空间。然后把原来的进程的所有值都复制到新的新进程中,只有少数值与原来的进程的值不同。相当于克隆了一个自己。

(2) 当首次调用新创建的子进程时,其入口在哪里?

在进程队列的ready状态下,由离自己最近的父进程执行调度,即入口在最近的父进程处。

fork()用户空间--进入内核空间

--sys_fork()--do_fork()--copy_process()

(3) 分析进程调度和进程并发执行的关系?

在传统的操作系统中,CPU调度和分派的基本单位是进程。而在引入线程的操作系统中,则把线程作为CPU调度和分派的基本单位,进程则作为资源拥有的基本单位,从而使传统进程的两个属性分开,线程编程轻装运行,这样可以显著地提高系统的并发性。统一进程中线程的切换不会引起进程切换,从而避免了昂贵的系统调用。但是在由一个进程中的线程切换到另一进程中的线程,依然会引起线程切换。

在引入线程的操作系统中,不仅进程之间可以并发执行,而且在一个进程中的多个进程之间也可以并发执行,因而使操作系统具有更好的并发性,从而

网页设计实验报告

实验报告 课程名称网络技术基础实验项目TCP/IP协议配置实验仪器计算机 系别 专业 班级/学号 学生姓名 实验日期 成绩 指导教师

实验一 TCP/IP协议配置 一、实验目的(标题黑体小四) 1.熟练掌握模板的用法。 2.掌握CSS的用法。 3.掌握网站发布的方法。 二、实验内容 1. 创建和使用模板。 2. css的创建和使用。 3. 发布网站。 三、实验课时 4课时 四、实验步骤 创建网站 1、创建一个站点,并创建 images 文件夹存放图片。将示例图片拷贝至images 目录下 2、创建 CSS 文件,名称为 style.css,将其保存至 style文件夹。 3、创建模板文件 tpl.dwt,并保存。结果如下: (1) 给 tpl.dwt 附加样式表 style.css。 在 tpl.dwt 的空白处点击鼠标右键,选择“附加样式表”: 选择 style.css 文件: 完成后,在 tpl.dwt 的 head标签里有如下的代码: (2) 设置模板的背景颜色。打开 CSS 面板,为 style.css 新建一条 css 规则。过程如 下:

将背景颜色设为#ff1e70: 在 style.css 生成如下的代码: body { background-color: #ff1e70? } 3) 制作布局。插入一 2 行 2 列的表格。表格的宽度=316+634=950,其他的设置:让表格居中对齐。 (4) 消除表格两边的空隙。展开 CSS 样式表,双击 body: 双击 body后,打开“body的 CSS 规则定义”对话框,按照下面的方式设置:Style.css 的代码变为: body { background-color: #ff1e70? margin: 0px? }

操作系统实验报告--实验一--进程管理

实验一进程管理 一、目的 进程调度是处理机管理的核心内容。本实验要求编写和调试一个简单的进程调度程序。通过本实验加深理解有关进程控制块、进程队列的概念,并体会和了解进程调度算法的具体实施办法。 二、实验内容及要求 1、设计进程控制块PCB的结构(PCB结构通常包括以下信息:进程名(进程ID)、进程优先数、轮转时间片、进程所占用的CPU时间、进程的状态、当前队列指针等。可根据实验的不同,PCB结构的内容可以作适当的增删)。为了便于处理,程序中的某进程运行时间以时间片为单位计算。各进程的轮转时间数以及进程需运行的时间片数的初始值均由用户给定。 2、系统资源(r1…r w),共有w类,每类数目为r1…r w。随机产生n进程P i(id,s(j,k),t),0<=i<=n,0<=j<=m,0<=k<=dt为总运行时间,在运行过程中,会随机申请新的资源。 3、每个进程可有三个状态(即就绪状态W、运行状态R、等待或阻塞状态B),并假设初始状态为就绪状态。建立进程就绪队列。 4、编制进程调度算法:时间片轮转调度算法 本程序用该算法对n个进程进行调度,进程每执行一次,CPU时间片数加1,进程还需要的时间片数减1。在调度算法中,采用固定时间片(即:每执行一次进程,该进程的执行时间片数为已执行了1个单位),这时,CPU时间片数加1,进程还需要的时间片数减1,并排列到就绪队列的尾上。 三、实验环境 操作系统环境:Windows系统。 编程语言:C#。 四、实验思路和设计 1、程序流程图

2、主要程序代码 //PCB结构体 struct pcb { public int id; //进程ID public int ra; //所需资源A的数量 public int rb; //所需资源B的数量 public int rc; //所需资源C的数量 public int ntime; //所需的时间片个数 public int rtime; //已经运行的时间片个数 public char state; //进程状态,W(等待)、R(运行)、B(阻塞) //public int next; } ArrayList hready = new ArrayList(); ArrayList hblock = new ArrayList(); Random random = new Random(); //ArrayList p = new ArrayList(); int m, n, r, a,a1, b,b1, c,c1, h = 0, i = 1, time1Inteval;//m为要模拟的进程个数,n为初始化进程个数 //r为可随机产生的进程数(r=m-n) //a,b,c分别为A,B,C三类资源的总量 //i为进城计数,i=1…n //h为运行的时间片次数,time1Inteval为时间片大小(毫秒) //对进程进行初始化,建立就绪数组、阻塞数组。 public void input()//对进程进行初始化,建立就绪队列、阻塞队列 { m = int.Parse(textBox4.Text); n = int.Parse(textBox5.Text); a = int.Parse(textBox6.Text); b = int.Parse(textBox7.Text); c = int.Parse(textBox8.Text); a1 = a; b1 = b; c1 = c; r = m - n; time1Inteval = int.Parse(textBox9.Text); timer1.Interval = time1Inteval; for (i = 1; i <= n; i++) { pcb jincheng = new pcb(); jincheng.id = i; jincheng.ra = (random.Next(a) + 1); jincheng.rb = (random.Next(b) + 1); jincheng.rc = (random.Next(c) + 1); jincheng.ntime = (random.Next(1, 5)); jincheng.rtime = 0;

四种实时操作系统特性进行分析和比较

四种实时操作系统特性进行分析和比较 https://www.360docs.net/doc/8b2704676.html,2006年11月18日21:55ChinaByte 本文对四种实时操作系统(RTOS)特性进行分析和比较。它们是:Lynx实时系统公司的LynxOS、QNX软件系统有限公司的QNX以及两种具有代表性的实时Linux——新墨西哥工学院的RT-Linux和堪萨斯大学的KURT-Linux。 近年来,实时操作系统在多媒体通信、在线事务处理、生产过程控制、交通控制等各个领域得到广泛的应用,因而越来越引起人们的重视。 基本特征概述 *QNX是一个分布式、嵌入式、可规模扩展的实时操作系统。它遵循POSIX.1 (程序接口)和POSIX.2(Shell和工具)、部分遵循POSIX.1b(实时扩展)。它最早开发于1980年,到现在已相当成熟。 *LynxOS是一个分布式、嵌入式、可规模扩展的实时 操作系统,它遵循POSIX.1a、POSIX.1b和POSIX.1c标准。它最早开发于1988年。 *RT-Linux是一个嵌入式硬实时操作系统,它部分支持POSIX.1b标准。 *KURT-Linux不是为嵌入式应用设计的,不同于硬(hard)实时/软(soft)实时应用,他们提出“严格(firm)”实时应用的概念,如一些多媒体应用和ATM网络应用,KURT是为这样一些应用设计的“严格的”实时系统。 体系结构异同 实时系统的实现多为微内核体系结构,这使得核心小巧而可靠,易于ROM固化,并可模块化扩展。微内核结构系统中,OS服务模块在独立的地址空间运行,所以,不同模块的内存错误便被隔离开来。但它也有弱点,进程间通信和上下文切换的开销大大增加。相对于大型集成化内核系统来说,它必须靠更多地进行系统调用来完成相同的任务。 *QNX是一个微内核实时操作系统,其核心仅提供4种服务:进程调度、进程间通信、底层网络通信和中断处理,其进程在独立的地址空间运行。所有其它OS服务,都实现为协作的用户进程,因此QNX核心非常小巧(QNX4.x大约为12Kb)而且运行速度极快。 *LynxOS目前还不是一个微内核结构的操作系统,但它计划使用所谓的“Galaxy”技术将其从大型集成化内核改造成微内核,这一技术将在LynxOS 3.0中引入。新的28Kb微内核提供以下服务:核心启动和停止、底层内存管理、出错处理、中断处理、多任务、底层同步和互斥支持。

计算机操作系统综合设计实验报告实验一

计算机操作系统综合设计 实验一 实验名称:进程创建模拟实现 实验类型:验证型 实验环境: win7 vc++6.0 指导老师: 专业班级: 姓名: 学号: 联系电话: 实验地点:东六E507 实验日期:2017 年 10 月 10 日 实验报告日期:2017 年 10 月 10 日 实验成绩:

一、实验目的 1)理解进程创建相关理论; 2)掌握进程创建方法; 3)掌握进程相关数据结构。 二、实验内容 windows 7 Visual C++ 6.0 三、实验步骤 1、实验内容 1)输入给定代码; 2)进行功能测试并得出正确结果。 2、实验步骤 1)输入代码 A、打开 Visual C++ 6.0 ; B、新建 c++ 文件,创建basic.h 头文件,并且创建 main.cpp 2)进行功能测试并得出正确结果 A 、编译、运行main.cpp B、输入测试数据 创建10个进程;创建进程树中4层以上的数型结构 结构如图所示:。

createpc 创建进程命令。 参数: 1 pid(进程id)、 2 ppid(父进程id)、3 prio(优先级)。 示例:createpc(2,1,2) 。创建一个进程,其进程号为2,父进程号为1,优先级为2 3)输入创建进程代码及运行截图 4)显示创建的进程

3、画出createpc函数程序流程图 分析createpc函数的代码,画出如下流程图:

四、实验总结 1、实验思考 (1)进程创建的核心内容是什么? 答: 1)申请空白PCB 2)为新进程分配资源 3)初始化进程控制块 4)将新进程插入到就绪队列 (2)该设计和实际的操作系统进程创建相比,缺少了哪些步骤? 答:只是模拟的创建,并没有分配资源 2、个人总结 通过这次课程设计,加深了对操作系统的认识,了解了操作系统中进程创建的过程,对进程创建有了深入的了解,并能够用高 级语言进行模拟演示。一分耕耘,一分收获,这次的课程设计让 我受益匪浅。虽然自己所做的很少也不够完善,但毕竟也是努 力的结果。另外,使我体会最深的是:任何一门知识的掌握, 仅靠学习理论知识是远远不够的,要与实际动手操作相结合才能 达到功效。

Web网页设计实验报告

WEB系统开发 综合实验报告 题目红尘客栈网上订房页面 专业计算机科学与技术(信息技术及应用) 班级计信2班 学生蒋波涛 重庆交通大学 2013年

目录 一、设计目的 (3) 二、设计题目 (3) 三、结构设计 (3) 四、技术分析 (4) 五、设计过程 (7) 六、实验心得 (10) 七、实验总结 (11)

一、设计目的 在Internet飞速发展的今天,互联网成为人们快速获取、发布和传递信息的重要渠道,它在人们政治、经济、生活等各个方面发挥着重要的作用。因此网站建设在Internet 应用上的地位显而易见,它已成为政府、企事业单位信息化建设中的重要组成部分,从而倍受人们的重视。我们当代大学生更是离不开网络给我们带来的好处与便利.但是,我们成天浏览的网站网页到底是如何制作的呢?我想这一点很多同学都没有去深究过.所以,这学期我选择了”web网页设计”这门课, 本课程的设计目的是通过实践使同学们经历网页制作的全过程. 通过设计达到掌握网页设计、制作的技巧。 了解和熟悉网页设计的基础知识和实现技巧。根据题目的要求,给出网页设计方案,可以按要求,利用合适图文素材设计制作符合要求的网页设计作品。 熟练掌握Photoshop cs3、Dreamweaver cs等软件的的操作和应用。增强动手实践能力,进一步加强自身综合素质。学会和团队配合,逐渐培养做一个完整项目的能力。 二、设计题目 《红尘客栈》 三、结构设计 选定主题,确定题目之后,在做整个网站之前对网站进行需求分析。首先,做好需求调研。调研方式主要是上网查阅资料,在图书馆里翻阅相关书籍。 然后,调研结束之后对整个网站进行功能描述,并对网站进行总体规划,接着逐步细化。 我们选做的主题是个人主页,并且选定题目为“红尘客栈”,其目的是做一个简单的网站,介绍酒店概况,提供一定的资讯信息。 四、技术分析 (一)建立布局 在这次的网页设计中用到大量的布局,所以怎么样建立布局是关键。Dreamweaver cs3是大多数人设计网页的称手兵器,也是众多入门者的捷径。特别是其在布局方面的出色表现,更受青睐。大家都知道,没有表格的帮助,很难组织出一个协调合理的页面。 1.点击“ALT+F6”键,进入布局模式,插入布局表格。建立一个大概的布局。 2.使用背景图片:选中该项,按浏览可以插入一幅准备好的图片作为表格的背景,因为图片是以平铺的形式作为表格背景,所以表格大小和图片尺寸都要控制好。 (二)网页中的图像

嵌入式操作系统实验报告

中南大学信息科学与工程学院实验报告 姓名:安磊 班级:计科0901 学号: 0909090310

指导老师:宋虹

目录 课程设计内容 ----------------------------------- 3 uC/OS操作系统简介 ------------------------------------ 3 uC/OS操作系统的组成 ------------------------------ 3 uC/OS操作系统功能作用 ---------------------------- 4 uC/OS文件系统的建立 ---------------------------- 6 文件系统设计的原则 ------------------------------6 文件系统的层次结构和功能模块 ---------------------6 文件系统的详细设计 -------------------------------- 8 文件系统核心代码 --------------------------------- 9 课程设计感想 ------------------------------------- 11 附录-------------------------------------------------- 12

课程设计内容 在uC/OS操作系统中增加一个简单的文件系统。 要求如下: (1)熟悉并分析uc/os操作系统 (2)设计并实现一个简单的文件系统 (3)可以是存放在内存的虚拟文件系统,也可以是存放在磁盘的实际文件系统 (4)编写测试代码,测试对文件的相关操作:建立,读写等 课程设计目的 操作系统课程主要讲述的内容是多道操作系统的原理与技术,与其它计算机原理、编译原理、汇编语言、计算机网络、程序设计等专业课程关系十分密切。 本课程设计的目的综合应用学生所学知识,建立系统和完整的计算机系统概念,理解和巩固操作系统基本理论、原理和方法,掌握操作系统开发的基本技能。 I.uC/OS操作系统简介 μC/OS-II是一种可移植的,可植入ROM的,可裁剪的,抢占式的,实时多任务操作系统内核。它被广泛应用于微处理器、微控制器和数字信号处理器。 μC/OS 和μC/OS-II 是专门为计算机的嵌入式应用设计的,绝大部分代码是用C语言编写的。CPU 硬件相关部分是用汇编语言编写的、总量约200行的汇编语言部分被压缩到最低限度,为的是便于移植到任何一种其它的CPU 上。用户只要有标准的ANSI 的C交叉编译器,有汇编器、连接器等软件工具,就可以将μC/OS-II嵌入到开发的产品中。μC/OS-II 具有执行效率高、占用空间小、实时性能优良和可扩展性强等特点,最小内核可编译至2KB 。μC/OS-II 已经移植到了几乎所有知名的CPU 上。 严格地说uC/OS-II只是一个实时操作系统内核,它仅仅包含了任务调度,任务管理,时间管理,内存管理和任务间的通信和同步等基本功能。没有提供输入输出管理,文件系统,网络等额外的服务。但由于uC/OS-II良好的可扩展性和源码开放,这些非必须的功能完全 可以由用户自己根据需要分别实现。 uC/OS-II目标是实现一个基于优先级调度的抢占式的实时内核,并在这个内核之上提供最基本的系统服务,如信号量,邮箱,消息队列,内存管理,中断管理等。 uC/OS操作系统的组成 μC/OS-II可以大致分成核心、任务处理、时间处理、任务同步与通信,CPU的移植等5个部分。如下图:

物联网操作系统的必备特性

物联网操作系统的必备特性 物联网所带来的机遇与挑战都是空前的。要抓住机遇,迎接挑战,是否拥有最佳的操作系统做为基础是极为关键的问题。 那么,物联网环境对操作系统提出了哪些不同于以往的需求?产品开发商采用怎样的操作系统,拥有哪些特征或技术,最有可能在物联网的发展中把握先机?基本上,今后的RTOS 不仅必须具备传统的实时性、确定性和可靠性,还必须提供高度互联、全面安全、远程管理等物联网环境所要求的全新能力。最近,风河公司推出了VxWorks7,对这套在嵌入式领域主导多年的RTOs(实时操作系统)进行了再次创新,其目标正是“物联网市场已达 实时操作系统 (The RTOS for thelnternet of Things) ”。实时性依然是物联网操作系统的必备特性 实时操作系统( RTOS,RealTimeOperation System)是指能够在确定的时间对内部或者外部的事件做出正确的响应。在实时操作系统中,进程执行结果的正确与否不仅与逻辑运算或数学计算结果的正确性相关,而且与得出这个正确结果的时间有关。也就

是说,在实时系统 中,如果一个进程的运算结果虽然 是正确的,但是由 于它完成的时间超出了给定的最后期限,那么这个结果就是毫无意义的。 例如汽车中使用的气囊。当报告车辆碰撞的传感器通知CPu 后,操作系统应快速地发出打开气囊的任务,并且不允许任何其他非实时处理进行干扰,晚一秒钟展开气囊比没有气囊的情况更糟糕,这就是一个典型的实时系统。 通常认为,实时操作系统要求速度非常快。但实际上,实时操作系统强调的不仅仅是速度,而是时间关系的次序和确定性。例如,一条货轮在码头等待各地的卡车运来货物之后装船运往海外,规定好了离港启航的时间。那么,如果有一辆卡车在货轮离港时间之后才把货物运到了码头,逻辑上它虽然完成了陆地货运任务,但已经没有任何意义了。货车行驶速度和气囊打开速度当然不可相提并论,但就它与货轮配合的时间顺序而言具有同样都是实时系统,都必须要满足的是时序确定性,而跟速度有多快不一定相关! 再例如,如果使用足够高性能的CPU,Windows 可以提供非常快的速度。但是,当某些后台任务正在运行时,有时候响应会变得非常漫长,以至于某一个简单的读取文件的任务也会很长时间无响应。并不是说Windows 不够

操作系统实验报告一

重庆大学 学生实验报告 实验课程名称操作系统原理 开课实验室DS1501 学院软件学院年级2013专业班软件工程2 班学生姓名胡其友学号20131802 开课时间2015至2016学年第一学期 总成绩 教师签名洪明坚 软件学院制

《操作系统原理》实验报告 开课实验室:年月日学院软件学院年级、专业、班2013级软件工 程2班 姓名胡其友成绩 课程名称操作系统原理 实验项目 名称 指导教师洪明坚 教师 评语教师签名:洪明坚年月日 1.实验目的: ?进入实验环境 –双击expenv/setvars.bat ?检出(checkout)EPOS的源代码 –svn checkout https://www.360docs.net/doc/8b2704676.html,/svn/epos ?编译及运行 –cd epos/app –make run ?清除所有的临时文件 –make clean ?调试 –make debug ?在“Bochs Enhanced Debugger”中,输入“quit”退出调试 –调试指令,请看附录A 2.实验内容: ?编写系统调用“time_t time(time_t *loc)” –功能描述 ?返回从格林尼治时间1970年1月1日午夜起所经过的秒数。如果指针loc 非NULL,则返回值也被填到loc所指向的内存位置 –数据类型time_t其实就是long ?typedef long time_t; 3.实验步骤: ?Kernel space –K1、在machdep.c中,编写系统调用的实现函数“time_t sys_time()”,计算用户秒数。需要用到 ?变量g_startup_time,它记录了EPOS启动时,距离格林尼治时间1970年1午夜的秒数 ?变量g_timer_ticks

简单网页制作实验总结报告

《大学计算机基础》 实验报告 专业名称: 电子商务2班 学号: xxxxxxxxxxx 姓名: x x 指导教师: x x 2011年12月24日

目录 第一章网站主题设计说明 (1) 1.1 主题内容 (1) 1.2 设计思路 (1) 第二章网站内容设计 (2) 1.1 链接1标题 (2) 1.2 链接2标题 (2) 1.3 flash制作说明 (2) 第三章网站技术难点 (3) 第四章心得体会..................................... ..... ......................... (4)

第一章网站主题设计说明 1.1 主题内容 (1) 网站主题为“四季の花”,包括春夏秋冬四个季节的比较典型的花朵及有关花的诗句,色彩缤纷,十分艳丽夺目。 1.2 设计思路 (2) 大多网站都设计的关于音乐,影视,购物等非常热门的东西,本站设计的主题是花,能让人们在闲下来的时候看看花,品品诗歌,所以做有关花的网页是个不错的选择。同时,让人们分清楚春夏秋冬都各有什么典型的花。

第二章网站内容设计 1.1链接1标题:春の花 春天是生命的季节,在这个季节里,万物复苏。所以就找了虞美人,桃花,牡丹,以及海棠花来作为春天的代表。同时配有与这些花有关的诗句。 1.2 链接2标题:夏の花 夏天充满了激情与阳光,我找了兰花,荷花,百合花等来代表这个季节,色彩艳丽,十分醒目夺人。 1.3 链接3标题:秋の花 大丽花,菊花,月季和牡丹花都竞相出现在本网页,色彩缤纷,赏心悦目。 1.4 链接4标题:冬の花 蝴蝶兰,水仙,迎春花,梅花是冬季的代表,他们刻画了一副傲立冬天的坚强的姿态。

实时操作系统报告

实时操作系统课程实验报告 专业:通信1001 学号:3100601025 姓名:陈治州 完成时间:2013年6月11日

实验简易电饭煲的模拟 一.实验目的: 掌握在基于嵌入式实时操作系统μC/OS-II的应用中,基于多任务的模式的编程方法。锻炼综合应用多任务机制,任务间的通信机制,内存管理等的能力。 二.实验要求: 1.按“S”开机,系统进入待机状态,时间区域显示当前北京时间,默认模式“煮饭”; 2.按“C”选择模式,即在“煮饭”、“煮粥”和“煮面”模式中循环选择; 3.按“B”开始执行模式命令,“开始”状态选中,时间区域开始倒计时,倒计时完成后进入“保温”状态,同时该状态显示选中,时间区域显示保温时间; 4.按“Q”取消当前工作状态,系统进入待机状态,时间区域显示北京时间,模式为当前模式; 5.按“X”退出系统,时间区域不显示。 6.煮饭时长为30,煮粥时长为50,煮面时长为40. 三.实验设计: 1.设计思路: 以老师所给的五个程序为基础,看懂每个实验之后,对borlandc的操作有了大概的认识,重点以第五个实验Task_EX为框架,利用其中界面显示与按键扫描以及做出相应的响应,对应实现此次实验所需要的功能。 本次实验分为界面显示、按键查询与响应、切换功能、时钟显示与倒计时模块,综合在一起实验所需功能。 2.模块划分图: (1)界面显示: Main() Taskstart() Taskstartdispinit() 在TaskStartDispInit()函数中,使用PC_DispStr()函数画出界面。

(2)按键查询与响应: Main() Taskstart() 在TaskStart()函数中,用if (PC_GetKey(&key) == TRUE)判断是否有按键输入。然后根据key 的值,判断输入的按键是哪一个;在响应中用switch语句来执行对应按键的响应。 (3)切换功能: l计数“C”按 键的次数 M=l%3 Switch(m) M=0,1,2对应于煮饭,煮粥,煮面,然后使用PC_DispStr()函数在选择的选项前画上“@”指示,同时,在其余两项钱画上“”以“擦出”之前画下的“@”,注意l自增。 四.主要代码: #include "stdio.h" #include "includes.h" #include "time.h" #include "dos.h" #include "sys/types.h" #include "stdlib.h" #define TASK_STK_SIZE 512 #define N_TASKS 2 OS_STK TaskStk[N_TASKS][TASK_STK_SIZE]; OS_STK TaskStartStk[TASK_STK_SIZE]; INT8U TaskData[N_TASKS];

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

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

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

批处理 分时 实时操作系统的特点

批处理、分时、实时操作系统的特点 一、批处理系统的特点 1、多道:在内存中同时存放多个作业,一个时刻只有一个作业运行,这些作业共享CPU和外部设备等资源。 2、成批:用户和他的作业之间没有交互性。用户自己不能干预自己的作业的运行,发现作业错误不能及时改正。 3、批处理系统的目的是提高系统吞吐量和资源的利用率。 二、分时系统的特点 1、同时性,计算机系统能被多个用户同时使用; 2、独立性:用户和用户之间都是独立操作系统的,在同时操作时并不会发生冲突,破坏,混淆等现象; 3、及时性:系统能以最快的速度将结果显示给用户; 4、交互作用性:用户能和电脑进行人机对话。 三、实时操作系统的特点 1、高精度计时系统 计时精度是影响实时性的一个重要因素。在实时应用系统中,经常需要精确确定实时地操作某个设备或执行某个任务,或精确的计算一个时间函数。这些不仅依赖于一些硬件提供的时钟精度,也依赖于实时操作系统实现的高精度计时功能。

2、多级中断机制 一个实时应用系统通常需要处理多种外部信息或事件,但处理的紧迫程度有轻重缓急之分。有的必须立即作出反应,有的则可以延后处理。因此,需要建立多级中断嵌套处理机制,以确保对紧迫程度较高的实时事件进行及时响应和处理。 3、实时调度机制 实时操作系统不仅要及时响应实时事件中断,同时也要及时调度运行实时任务。但是, [3] 处理机调度并不能随心所欲的进行,因为涉及到两个进程之间的切换,只能在确保“安全切换”的时间点上进行,实时调度机制包括两个方面,一是在调度策略和算法上保证优先调度实时任务;二是建立更多“安全切换”时间点,保证及时调度实时任务。

网页制作实验报告

网页制作实验报告 页制作实验报告 实验一:站点设置 一、实验目的及要求 本实例是经过“站点定义为”对话框中的“高级”选项卡创建一具新站点。 二、仪器用具 1、生均一台多媒体电脑,组建内部局域,同时接入国际互联。 2、安装windows xp操作系统;建立iis服务器环境,支持asp。 3、安装页三剑客(dreamweaver mx;flash mx;fireworks mx)等页设计软件; 三、实验原理 经过“站点定义为”对话框中的“高级”选项卡创建一具新站点。 四、实验办法与步骤 1)执行“站点\治理站点”命令,在弹出的“治理站点”对话框中单击“新建”按钮,在弹出的快捷菜单中挑选“站点”命令。 2)在弹出的“站点定义为”对话框中单击“高级”选项卡。 3)在“站点名称”文本框中输入站点名称,在“默认文件夹”文本框中挑选所创建的站点文件夹。在“默认图象文件夹”文本框中挑选存放图象的文件夹,完成后单击“确定”按钮,返回“治理站点”对话框。 4)在“治理站点”对话框中单击“完成”按钮,站点创建完毕。 五、实验结果 六、讨论与结论 实验开始之前要先建立一具根文件夹,在实验的过程中把站点存在自己建的文件夹里,如此才干使实验条理化,别至于在实验后寻别到自己的站点。在实验过程中会浮现一些选项,计算机普通会有默认的挑选,最后别要去更改,假如要更改要先充分了解清晰该选项的含义,以及它会造成的效果,否则会使实验的结果失真。实验前先熟悉好操作软件是做好该实验的关键。 实验二:页面图像设置 一、实验目的及要求: 本实例的目的是设置页面的背景图像,并创建鼠标经过图像。 二、仪器用具 1、生均一台多媒体电脑,组建内部局域,同时接入国际互联。 2、安装windows xp操作系统;建立iis服务器环境,支持asp。 3、安装页三剑客(dreamweaver mx;flash mx;fireworks mx)等页设计软件; 4、安装acdsee、photoshop等图形处理与制作软件; 5、其他一些动画与图形处理或制作软件。 三、实验原理 设置页面的背景图像,并创建鼠标经过图像。 四、实验办法与步骤 1) 在“页面属性”对话框中设置页面的背景图像。 2) 在页面文档中单击“”插入鼠标经过图像。 五、实验结果

操作系统实验报告

操作系统实验报告 实验名称: 系统的引导 所在班级: 指导老师: 老师 实验日期: 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

分时实时批处理操作的特点

一、批处理系统的特点 1、多道:在内存中同时存放多个作业,一个时刻只有一个作业运行,这些作业共享CPU和外部设备等资源。 2、成批:用户和他的作业之间没有交互性。用户自己不能干预自己的作业的运行,发现作业错误不能及时改正。 3、批处理系统的目的是提高系统吞吐量和资源的利用率。 二、分时系统的特点 1、同时性,计算机系统能被多个用户同时使用; 2、独立性:用户和用户之间都是独立操作系统的,在同时操作时并不会发生冲突,破坏,混淆等现象; 3、及时性:系统能以最快的速度将结果显示给用户; 4、交互作用性:用户能和电脑进行人机对话。 三、实时操作系统的特点 1、高精度计时系统

计时精度是影响实时性的一个重要因素。在实时应用系统中,经常需要精确确定实时地操作某个设备或执行某个任务,或精确的计算一个时间函数。这些不仅依赖于一些硬件提供的时钟精度,也依赖于实时操作系统实现的高精度计时功能。 2、多级中断机制 一个实时应用系统通常需要处理多种外部信息或事件,但处理的紧迫程度有轻重缓急之分。有的必须立即作出反应,有的则可以延后处理。因此,需要建立多级中断嵌套处理机制,以确保对紧迫程度较高的实时事件进行及时响应和处理。 3、实时调度机制 实时操作系统不仅要及时响应实时事件中断,同时也要及时调度运行实时任务。但是, [3] 处理机调度并不能随心所欲的进行,因为涉及到两个进程之间的切换,只能在确保“安全切换”的时间点上进行,实时调度机制包括两个方面,一是在调度策略和算法上保证优先调度实时任务;二是建立更多“安全切换”时间点,保证及时调度实时任务。

扩展资料: 实时操作系统是保证在一定时间限制内完成特定功能的操作系统。实时操作系统有硬实时和软实时之分,硬实时要求在规定的时间内必须完成操作,这是在操作系统设计时保证的;软实时则只要按照任务的优先级,尽可能快地完成操作即可。我们通常使用的操作系统在经过一定改变之后就可以变成实时操作系统。 例如,可以为确保生产线上的机器人能获取某个物体而设计一个操作系统。在“硬”实时操作系统中,如果不能在允许时间内完成使物体可达的计算,操作系统将因错误结束。在“软”实时操作系统中,生产线仍然能继续工作,但产品的输出会因产品不能在允许时间内到达而减慢,这使机器人有短暂的不生产现象。

网页制作实验报告

北京理工大学珠海学院课程设计说明书 _2013_—_2014_学年第_1_学期 题目: 《Web应用开发课程设计》 学院:计算机学院 专业班级: 11级软件工程3班 学号: 110202031031 学生姓名:蒋征 指导教师:魏志军 成绩: 时间: 2014/1/5 2014年 1 月 5 日

摘要 本次作品是一个IT技术交流论坛,实现论坛的基本功能,注册、登录、发帖、浏览和回帖。 论坛分三个分板块,网页、C#和JA V A,纵向层次也是三层,主页、板块页和帖子页。网站使用JavaScript实现动态页面。 关键词:计算机技术交流社区JavaScript 网页 I

目录 摘要 ............................................. I 目录 ............................................. II 1 网站结构和布局 (1) 1.1 网站结构 (1) 1.1.1 总体结构 (1) 1.1.2 横向链接结构 (2) 1.2 页面布局 (3) 1.2.1 主页 (3) 1.2.2 分版页面 (6) 1.2.3 帖子页面 (6) 2 技术应用 (8) 2.1 逻辑设计 (8) 2.1.1 HTML和CSS设计 (8) 2.1.2 JavaScript设计 (10) 参考文献 (13) 心得体会 (14) I

教师评语 (15) 成绩评定表 (16) 课程设计答辩记录表 (17) II

1 网站结构 1.1主体结构 1.1.1总结构 网站是以技术交流社区为主题的论坛型网站。 这个网站是按树形结构设计如图1-1-1,页面种类共分三层,分别是主页,分主题页还有就是内容页。 主页连向三个分主题分区页面,分别是MTHL板块,C#板块还有就是JAVA 板块。 主题分区页面下面是内容帖子。 图1-1-1网页关系 1

嵌入式实时操作系统实验报告

嵌入式实时操作系统实验报告 任务间通信机制的建立 系别计算机与电子系 专业班级***** 学生姓名****** 指导教师 ****** 提交日期 2012 年 4 月 1 日

一、实验目的 掌握在基于嵌入式实时操作系统μC/OS-II的应用中,任务使用信号量的一般原理。掌握在基于优先级的可抢占嵌入式实时操作系统的应用中,出现优先级反转现象的原理及解决优先级反转的策略——优先级继承的原理。 二、实验内容 1.建立并熟悉Borland C 编译及调试环境。 2.使用课本配套光盘中第五章的例程运行(例5-4,例5-5,例5-6),观察运行结果,掌握信号量的基本原理及使用方法,理解出现优先级反转现象的根本原因并提出解决方案。 3.试编写一个应用程序,采用计数器型信号量(初值为2),有3个用户任务需要此信号量,它们轮流使用此信号量,在同一时刻只有两个任务能使用信号量,当其中一个任务获得信号量时向屏幕打印“TASK N get the signal”。观察程序运行结果并记录。 4. 试编写一个应用程序实现例5-7的内容,即用优先级继承的方法解决优先级反转的问题,观察程序运行结果并记录。 5.在例5-8基础上修改程序增加一个任务HerTask,它和YouTask一样从邮箱Str_Box里取消息并打印出来,打印信息中增加任务标识,即由哪个任务打印的;MyTask发送消息改为当Times为5的倍数时才发送,HerTask接收消息采用无等待方式,如果邮箱为空,则输出“The mailbox is empty”, 观察程序运行结果并记录。 三、实验原理 1. 信号量 μC/OS-II中的信号量由两部分组成:一个是信号量的计数值,它是一个16位的无符号整数(0 到65,535之间);另一个是由等待该信号量的任务组成的等待任务表。用户要在OS_CFG.H中将OS_SEM_EN开关量常数置成1,这样μC/OS-II 才能支持信号量。

操作系统实验报告

操作系统实验报告 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的镜像文件,如图所示:

实时操作系统期末复习题资料

实时操作系统期末复习题 考虑到降低难度,将原有的多选全部换成单选,同时增加简答,减少综合。试卷分数比例与本复习题完全一致。 一、单选题(60题,每题一分) 1、操作系统的主要功能有(C )。 A.进程管理、存储器管理、设备管理、处理机管理 B.虚拟存储管理、处理机管理、进程调度、文件管理 C.处理机管理、存储器管理、设备管理、文件管理 D.进程管理、中断管理、设备管理、文件管理 2、单处理机计算机系统中,(A)是并行操作的。 A.处理机操作和通道操作是并行的 B.程序与程序 C.主程序与子程序 D.用户程序与操作系统程序 3、处理机的所有指令可以在(D )中执行。 A.目态B.浏览器中C.任意时间D.系统态 4、要求在规定的时间内对外界的请求必须给予及时相应的OS是(B )。 A.多用户分时系统B.实时系统 C.批处理系统时间D.网络操作系统 5、(A )对实时系统最重要。 A.实时性B.交互性C.共享性D.运行效率

6、分布式系统和网络系统的主要区别是(C)。 A.并行性B.透明性C.共享性D.复杂性 7、如果分时操作系统的时间片一定,那么(B ),则相应时间越长。A.用户数越少B.用户数越多C.内存越小D.内存越大 8、下面六个系统中,必须是实时操作系统的有(C )个。 (1)航空订票系统(2)过程控制系统(3)机器口语翻译系统(4)计算机辅助系统(5)办公自动化系统(6)计算机激光照排系统 A.1 B.2 C.3 D.4 9、进程在系统中是否存在的惟一标志是(D )。 A.数据集合B.目标程序C.源程序D.进程控制块 10、当( B )时,进程从执行状态转变为就绪状态。 A.进程被调度程序选中B.时间片到 C.等待某一事件D.等待的事件发生 11、在进程状态转换时,下列( D )转换是不可能发生的。 A.就绪态→运行态B.运行态→就绪态 C.运行态→阻塞态D.阻塞态→运行态 12、下列各项工作步骤中,( B )不是创建进程所必需的步骤。 A.建立一个PCB B.作业调度程序为进程分配CPU C.为进程分配内存等资源D.将PCB链入进程就绪队列13、进程是B

相关文档
最新文档