文档库 最新最全的文档下载
当前位置:文档库 › 操作系统上机报告

操作系统上机报告

操作系统上机报告
操作系统上机报告

西安电子科技大学计算机学院《操作系统实验》

实验报告

姓名:

学号:

班级:

一、题目

实验1:LINUX/UNIX Shell部分

(一)系统基本命令

1.登陆系统,输入whoami 和pwd ,确定自己的登录名和当前目录;

登录名admixx ,当前目录/root

2.显示自己的注册目录?命令在哪里?

a.键入echo $HOME,确认自己的主目录;主目录为/root

b.键入echo $PA TH,记下自己看到的目录表;/usr/lib/qt-3.3/bin:/usr/kerberos/sbin:/usr/kerberos/

bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin:/root/bin c.键入which abcd,看看得到的错误信息;

/usr/bin/which: no abcd in (/usr/lib/ qt-3.3/bin:/usr/kerberos/sbin:/usr/kerberos/ bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin:/root/bin

再键入which ls 和which vi,对比刚刚得到的结果的目录是否在a.、b.

两题看到的目录表中;

alias ls=’ls—color=tty’

/bin/ls

/bin/vi

3.ls 和cd 的使用:

a.键入ls,ls -l ,ls -a ,ls -al 四条命令,观察输出,说明四种不同使用方式的区别。

ls : 列出目录内容ls –l : 以长格式详细显示文件信息ls –a : 列出所有文件,包括以. 文件ls –al : 以长格式显示当前目录下的所有文件

b.利用cd 转到/bin,/sbin ,/etc ,/dev,再利用ls 列出各个目录的内容,如果

"迷路",可以利用pwd 确定位置,或键入cd ,cd ~ 观察效果.

cd ,cd ~的区别:cd : 回到上层目录cd ~ : 可进入用户的HOME目录

(二)基本操作

1.用cp 将/usr/share 目录下的exercise 子目录连同目录下的文件拷贝到自己的主目录下,然后进入自己的exercise 目录.

2.输入/输出重定向和cat,more 等显示命令的配合使用:

a.输入cat 命令列出目录下longtext 文件中的内容;

b.输入cat 命令列出目录下longtext 文件中的内容,是否发现一屏显示不完? 是

c.使用more 命令列出longtext 的内容;

d.输入cat hello.txt> hello2.txt,再输入cat hello.txt>>hello2.txt,再检查hello2.txt的内容有何变化;说明>与>>的区别。

>是把hello.txt的内容覆盖在hello2.txt内>>是把hello.txt的内容续写在hello2.txt内

e.对比两条命令: more longtext 和cat longtext | more ,两者有何不同点?

more longtext 显示出已经显示出来的内容的百分比cat longtext | more不显示

f.执行命令echo

啥都没发生但如果输入echo >hello.txt 文档就会被清空

g.输入命令cat <符号并可以输入文档

h.设计一条命令,使该命令可以从标准输出中读入;

cat < hello3.txt cat hello3.txt 就可以看到

( 参考答案:cat < hello3.txt )

3.特殊字符:

输入cat [also a text].txt,看看能否打开目录下的[also a text].txt文

件,若不能,该怎么办? 输入cat ―[also a text].txt‖

(参考答案:cat \[also \ a\ text\].txt)

4.文件链接:

a.用ln 命令为目录下的longtext文件建立一个硬链接,链接名为longtext2,然后

把longtext复制一个新文件longtext3,用cat 命令将hello.txt 的内容追加到longtext

的末尾,再用diff 命令比较longtext,longtext2和longtext3,看看有什么结果,特别

是比较一下longtext和longtext2是否相同;

longtext和longtext2一直是相同的在longtext后续写hello.txt之后,longtext和

longtext2均与longtext3不同了

b.用ln 命令给longtext3建立一个符号链接longtext4,用cat 命令看看longtext4;

然后删去longtext3,再用cat 命令看看longtext4,是否有什么不同?

没有不同

c.删去longtext2,看看能否用cat 命令看到longtext? 能

d.试着执行ln -s ./abcde ./nulllink,看看是否能建立文件链接. 不能5.查找命令find:

用find 命令查找当前目录下所有以del开头或以del结尾的文件,并将其删除,要求

删除前征求用户许可.

find ./ -name del*

rm –i del*

find ./ (-name del/* -o -name \*del \) -exec rm -i {} \;

find ./ (-name del/* -o -name \*del \) -exec -ok rm {} \;

6.文件的属性:

a.用ls -l 列出exercise 目录下所有的文件和目录,观察其权限位;

b.将hello2.txt 的读权限去掉,看看还能否用cat 打开该文件;不能

c.将program 目录的读权限去掉,看看是否能用ls 命令看到其中内容?

不能

(三)Shell程序设计

编写一个Shell过程完成如下功能:

1.合并两个$1、$2文件为$3,并显示。

2.如果缺少$3,那么先报告缺少$3,将合并后的内容输出到CHENG.TXT,显示。

3.如果缺少$2、$3那么先报告缺少$2、$3,只显示$1的内容。

if test -f "$3"

then cat $1 $2>$3

cat $3

else if test -f "$2"

then echo "$3 is not a file or not in this directory"

cat $1 $2>CHENG.TXT

cat CHENG.TXT

else echo "Neither $2 or $3 is a file or in this directory"

cat $1

fi

fi

实验2:

实验题目进程的建立

实验目的创建进程及子进程

在父子进程间实现进程通信

实验软硬件环境Linux 、Windows98、Windows2000

实验内容创建进程并显示标识等进程控制块的属性信息;显示父子进程的通信信息和相应的应答信息。(进程间通信机制任选)

实验步骤创建进程;

显示进程状态信息;实现父子进程通信;

考核指标显示创建的进程及控制块参数;显示进程间关系参数

源程序:

#include

#include

#include

#include

#include

# define BUFFERSIZE 32 int main(){

pid_t pid;

int status;

int fd[2];

char buf[BUFFERSIZE]="This is a pipe\n";

if(pipe(fd)<0){

printf("pipe error\n");

exit(1);

}

pid=fork();

if(pid<0){

printf("fork errot\n");

exit(1);

}

if(pid==0){

printf("child process:\n"); //child process printf("pid=%d\n",getpid());

printf("ppid=%d\n",getppid());

printf("gid=%d\n",getgid());

printf("write:%s\n",buf);

close(fd[0]); //close write

write(fd[1],buf,sizeof(buf));//write

exit(1);

}

else{ //parenr process if(pid!=wait(&status)){

printf("wait error\n");

}

printf("parent process:\n");

printf("pid=%d\n",getpid());

printf("ppid=%d\n",getppid());

printf("gid=%d\n",getgid());

实验3:

实验题目进程间的同步

实验目的理解进程同步和互斥模型及其应用实验软硬件环境Linux 、Windows98、Windows2000

实验内容利用通信API实现进程之间的同步:建立司机和售票员进程;

并实现他们间的同步运行。

实验步骤创建进程;

实现同步操作或函数;

实现公共汽车司机和售票员开关车门及行车运行过程的同步模型;

显示同步运行的结果。

考核指标显示司机和售票员进程的同步运行轨迹。司机进程代码:

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

char SEM_NAME1[]= "s1";

char SEM_NAME2[]= "s2";

int main()

{

int i;

sem_t *s1;

sem_t *s2;

s1 = sem_open(SEM_NAME1, O_CREAT, 0644, 0); if(s1 == SEM_FAILED)

{

perror("unable to create semaphore");

sem_unlink(s1);

exit(-1);

}

s2 = sem_open(SEM_NAME2, O_CREAT, 0644, 0); if(s2 == SEM_FAILED)

{

perror("unable to create semaphore");

sem_unlink(s2);

exit(-1);

}

for (i=0; i<=2; i++) {

printf("[driver] reach station, stop car\n");

sem_post(s2);

printf("[driver] waiting closing door\n");

sem_wait(s1);

printf("[driver] leaving station\n");

printf("car is running\n");

}

sleep(2);

sem_close(s1);

sem_close(s2);

sem_unlink(SEM_NAME1);

sem_unlink(SEM_NAME2);

_exit(0);

}

售票员进程代码:

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

char SEM_NAME1[]= "s1";

char SEM_NAME2[]= "s2";

int main()

{

int i;

sem_t *s1;

sem_t *s2;

//create & initialize semaphore

s1 = sem_open(SEM_NAME1, 0, 0644, 0); if(s1 == SEM_FAILED)

{

perror("unable to create semaphore");

sem_close(s1);

exit(-1);

}

s2 = sem_open(SEM_NAME2, 0, 0644, 0);

if(s2 == SEM_FAILED)

{

perror("unable to create semaphore");

sem_close(s2);

exit(-1);

}

for (i=0; i<=2; i++) {

sem_wait(s2);

printf("[conductor] open door, passenger, close door\n");

sem_post(s1);

printf("[conductor] waiting reaching station\n");

}

sem_close(s1);

sem_close(s2);

_exit(0);

}

运行结果:

结果分析:利用PV操作实现司机进程和售票员进程之间的同步。设司机进程的信号量为S1,售票员进程信号量为S2。当车到站时,停车,进行操作V(S2),P(S1)。此时司机进程被挂起,售票员进程开始进行。售票员进程先进行P(S2)操作,若之前未进行V(S2)则被挂起,否则进程继续执行,打开车门。待人上完后关车门,进行V(S1)操作,唤醒被挂起的司机进程。汽车再次离站开出。

实验4:

实验题目Linux文件系统实验

实验目的通过熟悉使用相关命令、使用系统调用来读写文件熟悉Linux文件系统,并阅读Linux文件系统设计与实现的相关资料,加深理解。

实验软硬件环境Linux 实验内容文件命令

文件操作的系统调用Linux文件系统理解

实验步骤熟悉文件系统常用命令(ls,mv,rm,ln,cp,compress,uncompress,gzip,gun zip,rar,rpm,tar,df,mount,umount,chmod,chown,……);

建立相关用户和组,并熟悉文件系统的权限管理;利用文件操作相关的系统调用实现一个文件拷贝命令(参数为源文件、目标文件,提示源文件不存在,提示目标文件存在是否覆盖);

阅读Linux文件系统设计与实现的相关资料;

考核指标演示实验结果。#include

#include

#include

#include

#include

#include

#define BUFF_SIZE 1024

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

int src_file,dest_file;

int real_read_len;

unsigned char buff[BUFF_SIZE];

char cover;

//argc is not correct

if(argc!=3){

printf("Error use copy!\n");

printf("Example:\n");

printf("copy src_file dest_file\n");

exit(1);

}

//judge wheather src_file exists

if((access(argv[1],F_OK)!=0))

{

printf("source file dosen't exist.\n");

exit(-1);

}

//judge the existence of the dest_file

if((access(argv[2],F_OK)==0))

{

printf("dest_file already exists.cover it?\n");

printf("yes [y] or not [n]?\n");

scanf("%c",&cover);

if(cover=='n')

exit(1);

else

printf("cover it!\n");

}

//Open src_file read only

src_file=open(argv[1],O_RDONLY);

//If the dest_file is not exsit, then create new one

dest_file=open(argv[2],O_WRONLY|O_CREAT,666);

//Open error

if(src_file<0||dest_file<0){

printf("Open file error\n");

printf("Can't copy!\n");

printf("Please check cmd : copy src_file dest_file\n");

exit(1);

}

//Copy src_file to dest_file

while((real_read_len=read(src_file,buff,sizeof(buff)))>0){

write(dest_file,buff,real_read_len);

}

//close fd

close(dest_file);

close(src_file);

return 0;

}

程序分析:本程序主函数接受两个参数,为源文件目录和目标文件目录。首先程序尝试打开源文件,若无法打开表明源文件不存在。之后尝试打开目标文件,若成功打开目标文件表明目标文件已存在,询问用户是否覆盖。若目标文件打开失败表明目标文件不存在,创建目标文件并将源文件的内容复制到目标文件中。

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

实验一进程管理 一、目的 进程调度是处理机管理的核心内容。本实验要求编写和调试一个简单的进程调度程序。通过本实验加深理解有关进程控制块、进程队列的概念,并体会和了解进程调度算法的具体实施办法。 二、实验内容及要求 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;

操作系统上机实验报告(西电)

操作系统上机题目 一、题目 实验1:LINUX/UNIX Shell部分 (一)系统基本命令 1.登陆系统,输入whoami 和pwd ,确定自己的登录名和当前目录; 登录名yuanye ,当前目录/home/yuanye 2.显示自己的注册目录?命令在哪里? a.键入echo $HOME,确认自己的主目录;主目录为/home/yuanye b.键入echo $PA TH,记下自己看到的目录表;/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games c.键入which abcd,看看得到的错误信息; 再键入which ls 和which vi,对比刚刚得到的结果的目录是否在a.、b. 两题看到的目录表中; /bin/ls /usr/bin/vi 3.ls 和cd 的使用: a.键入ls,ls -l ,ls -a ,ls -al 四条命令,观察输出,说明四种不同使用方式的区别。 1. examples.desktop 公共的模板视频图片文档音乐桌面; 总计32 2.-rw-r--r-- 1 yuanye yuanye 357 2011-03-22 22:15 examples.desktop drwxr-xr-x 2 yuanye yuanye 4096 2011-03-22 23:25 公共的 drwxr-xr-x 2 yuanye yuanye 4096 2011-03-22 23:25 模板 drwxr-xr-x 2 yuanye yuanye 4096 2011-03-22 23:25 视频 drwxr-xr-x 2 yuanye yuanye 4096 2011-03-22 23:25 图片 drwxr-xr-x 2 yuanye yuanye 4096 2011-03-22 23:25 文档 drwxr-xr-x 2 yuanye yuanye 4096 2011-03-22 23:25 音乐 drwxr-xr-x 2 yuanye yuanye 4096 2011-03-22 23:25 桌面 3. . .fontconfig .local .Xauthority .. .gconf .mozilla .xsession-errors .bash_logout .gconfd .nautilus 公共的 .bashrc .gksu.lock .profile 模板 .cache .gnome2 .pulse 视频 .chewing .gnome2_private .pulse-cookie 图片 .config .gnupg .recently-used.xbel 文档 .dbus .gstreamer-0.10 .scim 音乐 .dmrc .gtk-bookmarks .sudo_as_admin_successful 桌面 .esd_auth .gvfs .update-manager-core

1001网络-操作系统实验报告

上机实验一安装操作系统及使用 一、实验目的及准备: 目的:练习虚拟机的使用和操作系统的安装过程,并熟练掌握Windows XP系统的使用。 准备:装有Windows XP系统的计算机、虚拟机VMware的安装文件、Windows XP系统的镜像文件。 二、实验内容: 1、在虚拟机VMware中安装Windows XP系统 2、用户界面的使用和工作环境的设置 三、实验步骤: (一)、在虚拟机VMware中安装Windows XP系统 安装虚拟机VMware: 1、双击安装程序后来到VMware Workstation安装向导界面。 2、选中“是的,我同意……” 3、我选择将VMware Workstation安装在默认的路径下。 4、确定无误后单击“Install”。 5、安装…… 6、如果主机操作系统开启了光驱自动运行功能,安装向导弹出提示框提示光驱的自动运行功能将影响虚拟机的使用询问是否要关闭此项功能,选择“是”关闭掉主机的此项功能。 7、安装继续 8、在安装虚拟网卡驱动时,系统会弹出提示告诉你正在安装的软件没有通过微软的徽标测试,不必理睬选择“仍然继续”。 9、安装完成。10、重启计算机。 在虚拟机VMware中安装Windows XP系统: 首先创建一个虚拟机:1、在虚拟机窗口下依次展开文件-新建-虚拟机2、出现“新建虚拟机向导”窗口:3、建议选择“自定义”方便后面配置虚拟机内存4、选择需要安装的“客户操作系统”。5、输入虚拟机名和存放虚拟机文件的文件夹的路径:6、分配虚拟机内存7、添加网络类型8、选择一个磁盘9、指定虚拟磁盘容量:10、创建后缀名为.vmdk的磁盘文件并指明其存放路径11、进入“磁盘高级选项”单击“完成”新的虚拟机就建立完毕。 接着在虚拟机中安装操作系统。1、在新建的虚拟机中选择“选项”,选择使用ISO镜像,并单击浏览,加载xp的镜像文件,2、运行虚拟机进入安装界面。3、安装完成。(二)、用户界面的使用和工作环境的设置 1、创建新的用户账号:依次单击“开始”、“控制面板”和“用户账户”。单击“添加”。在“添加新用户”向导提示下完成用户账号的创建。 2、Windows XP的用户界面:桌面与任务栏,窗口的基本操作,文件的基本操作,命令行控制界面 3、工作环境设置:设置键盘和鼠标、创建快捷方式、设置显示属性和设置文件夹选项等 4、Windows XP的管理工具的使用:注册表机制,单击“开始”菜单中的“运行”项,在“打开(O):”左边的编辑框中输入“regedit”,然后单击“确定”按钮就启动了注册表编辑器。 5、任务管理器的使用:按ctrl+alt+del键,或者在开始-运行里输入taskmgr打开任务管理器。使用应用程序选项卡查看当前打开的应用程序的状态,并可以通过单击结束任务按钮结束任务,单击切换至按钮切换到任务,用新任务按钮打开新任务。用进程选项卡查看进程状态,性能,、联网,用户选项卡的使用(描述使用方法) 6、事件查看器的使用,打开控制面板,选择管理工具,选择事件查看器。(描述使用方法) 7、性能监视工具的使用。打开控制面板,选择管理工具,选择性能。(描述使用方法) 四、实验总结:

实时操作系统报告

实时操作系统课程实验报告 专业:通信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];

嵌入式操作系统实验报告

中南大学信息科学与工程学院实验报告 姓名:安磊 班级:计科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个部分。如下图:

《 Windows7 操作系统》实验报告

实验(一) Windows 7基本操作 一、实验目的 1.掌握文件和文件夹基本操作。 2.掌握“资源管理器”和“计算机”基本操作。 二、实验要求 1.请将操作结果用Alt+Print Screen组合键截图粘贴在题目之后。 2.实验完成后,请将实验报告保存并提交。 三、实验内容 1.文件或文件夹的管理(提示:此题自行操作一遍即可,无需抓图)★期末机试必考题★ (1) 在D:盘根目录上创建一个名为“上机实验”的文件夹,在“上机实验”文件夹中创建1个名为“操作系统上机实验”的空白文件夹和2个分别名为“2.xlsx”和“3.pptx”的空白文件,在“操作系统上机实验”文件夹中创建一个名为“1.docx”的空白文件。 (2) 将“1.docx”改名为“介绍信.docx”;将“上机实验”改名为“作业”。 (3) 在“作业”文件夹中分别尝试选择一个文件、同时选择两个文件、一次同时选择所有文件和文件夹。 (4) 将“介绍信.docx”复制到C:盘根目录。 (5) 将D:盘根目录中的“作业”文件夹移动到C:盘根目录。 (6) 将“作业”文件夹中的“2.xlsx”文件删除放入“回收站”。 (7) 还原被删除的“2.xlsx”文件到原位置。 2.搜索文件或文件夹,要求如下: 查找C盘上所有以大写字母“A”开头,文件大小在10KB以上的文本文件。(提示:搜索时,可以使用“?”和“*”。“?”表示任意一个字符,“*”表示任意多个字符。)

3. 在桌面上为C:盘根目录下的“作业”文件夹创建一个桌面快捷方式。★期末机试必考题★ 3.“计算机”或“资源管理器”的使用 (1) 在“资源管理器”窗口,设置以详细信息方式显示C:\WINDOWS中所有文件和文件夹,使所有图标按类型排列显示,并不显示文件扩展名。(提示:三步操作全部做完后,将窗口中显示的最终设置结果抓一张图片即可) (2) 将C:盘根目录中“介绍信.docx”的文件属性设置为“只读”和“隐藏”,并设置在窗口中显示“隐藏属性”的文件或文件夹。(提示:请将“文件夹”对话框中选项设置效果与C:盘根目录中该文件图标呈现的半透明显示效果截取在一整张桌面图片中即可) 4.回收站的设置 设置删除文件后,不将其移入回收站中,而是直接彻底删除功能。

实时操作系统 期末报告

实时操作系统期末总结报告 一、实时操作系统的概述 实时操作系统(RTOS)是指当外界事件或数据产生时,能够接受并以足够快的速度予以处理,其处理的结果又能在规定的时间之内来控制生产过程或对处理系统做出快速响应,并控制所有实时任务协调一致运行的操作系统。因而,提供及时响应和高可靠性是其主要特点。实时操作系统有硬实时和软实时之分,硬实时要求在规定的时间内必须完成操作,这是在操作系统设计时保证的;软实时则只要按照任务的优先级,尽可能快地完成操作即可。我们通常使用的操作系统在经过一定改变之后就可以变成实时操作系统。 1.1.实时操作系统的相关概念 (1)实时操作系统的定义 实时操作系统是保证在一定时间限制内完成特定功能的操作系统。例如人驾驶的汽车中的系统,需要一个比较稳定的实时操作系统。在“硬”实时操作系统中,如果不能在允许时间内完成使物体可达的计算,操作系统将因错误结束。在“软”实时操作系统中,比如汽车不能很快的识别人的操作指令,那么它可能造成严重的事故(如:汽车的瞬时刹车;公交车,它能准确的报站,这其实就是一个实时操作系统的具体体现;其次,车上的GPS导航仪,其实质也是一个比较精确实时操作系统的产物,如果不能实时,那么导航仪将失效,结果不能正确的指导司机驾驶的方向,同时这种实时操作系统的及时性必须达到一定的程度:ms级)。一些实时操作系统是为特定的应用

设计的,另一些是通用的。一些通用目的的操作系统称自己为实时操作系统。但某种程度上,大部分通用目的的操作系统,如微软的Windows NT或IBM的OS/390有实时系统的特征。这就是说,即使一个操作系统不是严格的实时系统,它们也能解决一部分实时应用问题。 (2)实时操作系统中的一些重要的概念 代码临界段:指处理时不可分割的代码。一旦这部分代码开始执行则不允许中断打入; 资源:任何为任务所占用的实体; 共享资源:可以被一个以上任务使用的资源; 任务:也称作一个线程,是一个简单的程序。每个任务被赋予一定的优先级,有它自己的一套CPU寄存器和自己的栈空间。典型地,每个任 务都是一个无限的循环,每个任务都处在以下五个状态下:休眠 态,就绪态,运行态,挂起态,被中断态; 任务切换:将正在运行任务的当前状态(CPU寄存器中的全部内容)保存在任务自己的栈区,然后把下一个将要运行的任务的当前状态从该任 务的栈中重新装入CPU的寄存器,并开始下一个任务的运行; 内核:负责管理各个任务,为每个任务分配CPU时间,并负责任务之间通讯。分为不可剥夺型内核和可剥夺型内核; 调度:内核的主要职责之一,决定轮到哪个任务运行。一般基于优先级调度法; (3)及时性 关于实时操作系统的及时性,我将从如下两个方面进行介绍:实时操作系统的时间限和实时操作系统的应用相关。 时间限:对一些实时性要求较高的系统,它们要求的时间限一般是毫秒级(ms),但是通常的实时操作系统,一般是秒级(s)或是在

操作系统上机实验报告

大连理工大学实验报告 学院(系):专业:班级: 姓名:学号:组:___ 实验时间:实验室:实验台: 指导教师签字:成绩: 实验名称:进程控制 一、实验目的和要求 (1)进一步加强对进程概念的理解,明确进程和程序的区别 (2)进一步认识并发执行的实质 二、实验环境 在windows平台上,cygwin模拟UNIX运行环境 三、实验内容 (1) getpid()---获取进程的pid 每个进程都执行自己独立的程序,打印自己的pid; (2) getpid()---获取进程的pid 每个进程都执行自己独立的程序,打印自己的pid; 父进程打印两个子进程的pid;

(3)写一个命令处理程序,能处理max(m,n), min(m,n),average(m,n,l)这几个命令(使用exec函数族)。 Max函数 Min函数 Average函数 Exec函数族调用 四、程序代码 五、运行结果 六、实验结果与分析 七、体会 通过这次上机,我了解了fork函数的运行方法,同时更深刻的了解了进程的并行执行的本质,印证了在课堂上学习的理论知识。同时通过编写实验内容(3)的命令处理程序,学会了exec函数族工作原理和使用方法。通过这次上机实验让我加深了对课堂上学习的理论知识的理解,收获很多。

大连理工大学实验报告 学院(系):专业:班级: 姓名:学号:组:___ 实验时间:实验室:实验台: 指导教师签字:成绩: 实验名称:进程通讯 一、实验目的和要求 了解和熟悉UNIX支持的共享存储区机制 二、实验环境 在windows平台上,cygwin模拟UNIX运行环境 三.实验内容 编写一段程序, 使其用共享存储区来实现两个进程之间的进程通讯。进程A创建一个长度为512字节的共享内存,并显示写入该共享内存的数据;进程B将共享内存附加到自己的地址空间,并向共享内存中写入数据。 四、程序代码 五、运行结果 六、实验结果与分析 七、体会

《网络操作系统(Windows-server-)》实训指导书

目录 《网络操作系统(WINDOWS SERVER 2012)》课程实训指导书 (1) 一、实训目的与要求 (1) 二、实训内容 (1) 三、参考课时 (1) 四、实训考核与组织 (1) 五、说明 (2) 六、实训项目 (2) 实训项目一 WINDOWS SERVER 2012的安装与配置 (3) 实训项目二 DNS域名服务的实现 (5) 实训项目三 DHCP服务器的配置与管理的实现 (8) 实训项目四 WINS服务器的配置 (10) 实训项目五 WINDOWS SERVER 2012活动目录的实现 (12) 实训项目六 WINDOWS SERVER 2012磁盘管理的实现 (16) 实训项目七 WINDOWS SERVER 2012文件管理 (18) 一、实训目的与要求 (18) 实训项目八 IIS服务器的应用实现 (21) 一、实训目的与要求 (21) 在网站中放置一些网页,打开浏览器访问该网站。(在本机上访问可使用“,在其它计算机上访问可使用“ FTP服务器的配置的实现 (22)

《网络操作系统(Windows Server 2012)》课程实训指导书一、实训目的与要求 网络操作系统(Windows Server 2012)实训以Windows Server 2012为操作平台,全面介绍与Windows Server 2012网络系统管理有关的知识和 Windows Server 2012系统管理的基本技能,最终使学生掌握解决一般网络系统管理中遇到的问题的能力。 二、实训内容 Windows Server 2012 网络操作系统实训分为:Windows Server 2012的安装与配置、DNS域名服务的实现、DHCP服务器的配置与管理的实现、WINS服务器的配置、Windows Server 2012的相关管理、以及各种服务器的配置与应用。 三、参考课时 四、实训考核与组织

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

嵌入式实时操作系统实验报告 任务间通信机制的建立 系别计算机与电子系 专业班级***** 学生姓名****** 指导教师 ****** 提交日期 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 才能支持信号量。

操作系统实验报告生产者与消费者问题模拟

操作系统上机实验报告 实验名称: 生产者与消费者问题模拟 实验目的: 通过模拟生产者消费者问题理解进程或线程之间的同步与互斥。 实验内容: 1、设计一个环形缓冲区,大小为10,生产者依次向其中写入1到20,每个缓冲区中存放一个数字,消费者从中依次读取数字。 2、相应的信号量; 3、生产者和消费者可按如下两种方式之一设计; (1)设计成两个进程; (2)设计成一个进程内的两个线程。 4、根据实验结果理解信号量的工作原理,进程或线程的同步\互斥关系。 实验步骤及分析: 一.管道 (一)管道定义 所谓管道,是指能够连接一个写进程和一个读进程的、并允许它们以生产者—消费者方式进行通信的一个共享文件,又称为pipe文件。由写进程从管道的写入端(句柄1)将数据写入管道,而读进程则从管道的读出端(句柄0)读出数据。(二)所涉及的系统调用 1、pipe( ) 建立一无名管道。 系统调用格式 pipe(filedes) 参数定义 int pipe(filedes); int filedes[2]; 其中,filedes[1]是写入端,filedes[0]是读出端。 该函数使用头文件如下: #include #inlcude #include 2、read( ) : 系统调用格式 read(fd,buf,nbyte) 功能:从fd所指示的文件中读出nbyte个字节的数据,并将它们送至由指针buf 所指示的缓冲区中。如该文件被加锁,等待,直到锁打开为止。 参数定义:

int read(fd,buf,nbyte); int fd; char *buf; unsigned nbyte; 3、write( ) 系统调用格式 read(fd,buf,nbyte) 功能:把nbyte 个字节的数据,从buf所指向的缓冲区写到由fd所指向的文件中。如文件加锁,暂停写入,直至开锁。 参数定义同read( )。 (三)参考程序 #include #include #include int pid1,pid2; main( ) { int fd[2]; char outpipe[100],inpipe[100]; pipe(fd); /*创建一个管道*/ while ((pid1=fork( ))==-1); if(pid1==0) { lockf(fd[1],1,0); /*把串放入数组outpipe中*/ sprintf(outpipe,child 1 is using pipe!); /* 向管道写长为50字节的串*/ write(fd[1],outpipe,50); sleep(5); /*自我阻塞5秒*/ lockf(fd[1],0,0); exit(0); } else { while((pid2=fork( ))==-1); if(pid2==0) { lockf(fd[1],1,0); /*互斥*/ sprintf(outpipe,child 2 is using pipe!); write(fd[1],outpipe,50); sleep(5); lockf(fd[1],0,0);

操作系统安装的实验报告

实验报告 课程名称:网络操作系统 实验项目名称: Windows Server 2003的操作系统的安装; Red Hat Linux 9的操作系统的安装 学生姓名:胡廷 专业:计算机网络技术 学号:1200007833 实验地点:昆明冶金高等专科学校实训楼六机房 实验日期:2013 年11月16 日

目录 实验项目名称: Windows Server 2003的操作系统的安装; (1) Red Hat Linux 9的操作系统的安装 (1) 实训1: Windows Server 2003的安装 (3) 一、实验目的 (3) 二、实验内容 (3) 三、实验步骤 (3) 四、结论 (13) 五、思考题 (14) 实训2: Red Hat Linux 操作系统的安装 (15) 一、实验目的 (15) 二、实验内容 (15) 三、实验步骤 (16) 四、结论 (31) 五、思考题 (32)

实训1: Windows Server 2003的安装 一、实验目的 1、掌握Windows Server 2003操作系统网络授权模式的选择和确定 2、了解各种不同的安装方式,能根据不同的情况正确选择不同的方式来安装Windows Server 2003操作系统。 3、熟悉Windows Server 2003操作系统的启动与安装步骤。 二、实验内容 为新建的虚拟机安装Windows Server 2003操作系统,要求如下: 1、Windows Server 2003分区的大小为20GB,文件系统格式为NTFS; 2、授权模式为每服务器15个连接,计算机名称srever47-win2003,管理员密码为wlczxt0912$47; 3、服务器的IP地址为192.168.15.47,子网掩码为255.255.255.0,DNS地址为218.194.208.5、211.98.72.8,网关设置为192.168.15.252,属于工作组workgroup。 三、实验步骤 1、启动VMWARE,新建一个虚拟机,将光盘指向Windows Server 2003安装映像文件,启动虚拟机,进入安装界面;

实时操作系统实验报告2

实时操作系统实验报告 专业:11通信工程 学号:20110306136 姓名: 王帅 指导老师:申屠浩

实验二 任务管理实验 实验目的: 1、理解任务管理的基本原理,了解任务的各个基本状态及其变迁过程; 2、掌握μC/OS -II 中任务管理的基本方法(挂起、解挂); 3、熟练使用μC/OS -II 任务管理的基本系统调用。 实验要求与思路: 为了体现任务的各个基本状态及其变迁过程,本实验设计了T0、T1和T3三个任务,它们交替运行,如图2-2所示。 T0 T1 T2 T3 T4 T5 T6 T7 T8 图2-2 注意: 图中的栅格并不代表严格的时间刻度,而仅仅表现各任务启动和执行的相对先后关系。 说明: 在系统完成初始化后,可以先创建并启动优先级最低的TaskStart ,由它创建其他3个应用任务T0、T1和T2,之后整个系 T0 T2 T1 T0 T1 T2 T1 T0

统的运行流程如下: 1)优先级最高的T0开始执行,之后T0挂起自己; 2)然后系统调度选中T1开始执行,之后T1挂起自己; 3)接着系统调度选中T2,之后唤醒T0; 4)如此循环 实现提示: 在启动任务中创建三个任务后,应挂起任务1和任务2。 在每个任务恢复其它任务并挂起自己之前,显示当前三个任务的状态,并延时1秒。 函数说明: void PC_GetDateTime (char *s); 获取"YYYY-MM-DD HH:MM:SS"格式的时间字串存放在字符串s中,s的长度最少为21字节。 void PC_DispStr (INT8U x, INT8U y, INT8U *s, INT8U color); 在y行x列以color颜色值显示字串s,注意color由背景色和前景色两种颜色构成。 INT8U OSTimeDlyHMSM (INT8U hours, INT8U minutes, INT8U seconds, INT16U milli); 按时、分、秒、毫秒设置进行延时。 void OSTimeDly (INT16U ticks) 按ticks值进行延时,1 ticks一般为10ms。 INT32U OSTimeGet (void)

Windows网络操作系统配置与管理单元六任务4:配置文件屏蔽实验报告(最新整理)

Windows网络操作系统配置与管理 实验报告 专业班级成绩评定______ 学号姓名(合作者____号____) 教师签名 单元六任务4:配置文件屏蔽第周星期第节 一、实验目的与要求 1.掌握文件屏蔽模板的配置 2.掌握文件屏蔽的配置 3.掌握文件屏蔽例外的配置 二、实验方案与步骤 任务4:配置文件屏蔽 1.工作情景 你是时讯公司网络管理员,禁止将某些类型的文件存放到公司的文件服务器上,需要对test 文件夹进行文件屏蔽,当向该文件夹存入可执行文件.bat时,将被禁止写入,并发出告警信息。 2.步骤 (1)创建文件屏蔽 1)在 SH-SVR2 上,“文件服务器资源管理器”控制台中,展开“文件屏蔽管理” 节点。 2)选择并右键单击“文件屏蔽”节点,然后单击“创建文件屏蔽”。 3)在“创建文件屏蔽”对话框中,单击“浏览”并定位到C:\test\test2文件 夹下,然后单击“确定”。 4)选择“定义自定义文件屏蔽属性”,单击“自定义属性”。 5)在“文件屏蔽属性”对话框中,选择“被动屏蔽”,然后从列表中选择“可执 行文件”。 6)单击“事件日志”选项卡,选择“将警告发送至事件日志”检查框,然后单 击“确定”。 7)在“创建文件屏蔽”对话框中,单击“创建”。 8)将显示“将自定义属性另存为模板”对话框。输入“Monitor Executables”, 然后单击“确定”。 (2)测试文件屏蔽 1)打开“Windows 资源管理器”,定位到 C:\test\test2文件夹下。 2)右键单击 test.bat文件,然后单击“复制”。 3)浏览至C:\test\test2 文件夹,在Windows 资源管理器右方空白处右键单击, 然后选择“粘贴”。 “管理工具”,选择“事 4)检查事件查看器。为了进入事件查看器,单击“开始”, 件查看器”。展开“Windows 日志”,然后单击“应用程序”。注意事件 ID 为8215的事件。 5)关闭“事件查看器”,然后关闭“Windows 资源管理器”。

实时操作系统包括硬实时和软实时的区别

一.什么是真正的实时操作系统 做嵌入式系统开发有一段时间了,做过用于手机平台的嵌入式Linux,也接触过用于交换机、媒体网关平台的VxWorks,实际应用后回过头来看理论,才发现自己理解的肤浅,也发现CSDN 上好多同学们都对实时、嵌入式这些概念似懂非懂,毕竟如果不做类似的产品,平时接触的机会很少,即使做嵌入式产品开发,基本也是只管调用Platformteam封装好的API。所以在此总结一下这些概念,加深自己的理解,同时也给新手入门,欢迎大家拍砖,争取写个连载,本文先总结一下实时的概念,什么是真正的实时操作系统? 1. 首先说一下实时的定义及要求: 参见 Donal Gillies 在 Realtime Computing FAQ 中提出定义:实时系统指系统的计算正确性不仅取决于计算的逻辑正确性,还取决于产生结果的时间。如果未满足系统的时间约束,则认为系统失效。

一个实时操作系统面对变化的负载(从最小到最坏的情况)时必须确定性地保证满足时间要求。请注意,必须要满足确定性,而不是要求速度足够快!例如,如果使用足够强大的CPU,Windows在CPU空闲时可以提供非常短的典型中断响应,但是,当某些后台任务正在运行时,有时候响应会变得非常漫长,以至于某一个简单的读取文件的任务会长时间无响应,甚至直接挂死。这是一个基本的问题:并不是Windows不够快或效率不够高,而是因为它不能提供确定性,所以,Windows不是一个实时操作系统。 根据实际应用,可以选择采用硬实时操作系统或软实时操作系统,硬实时当然比软实时好,但是,如果你的公司正在准备开发一款商用软件,那请你注意了,业界公认比较好的VxWorks(WindRiver开发),会花光你本来就很少的银子,而软实时的操作系统,如某些实时Linux,一般是开源免费的,我们公司本来的产品就是基于VxWorks的,现在业界都在CostReduction,为了响应号召,正在调研如何把平台换成免费的嵌入式实时Linux。同学们,如何选择,自己考虑吧:-)

操作系统实验报告

实验报告 实验课程名称:操作系统 实验地点:南主楼七楼机房 2018—2019学年(一)学期 2018年 9月至 2019 年 1 月 专业: 班级: 学号: 姓名: 指导老师:刘一男

实验一 实验项目:分时系统模拟 实验学时:2实验日期: 2018-10-25 成绩: 实验目的利用程序设计语言模拟分时系统中多个进程按时间片轮转调度算法进行进程调度的过程; 假设有五个进程A,B,C,D,E,它们的到达时间及要求服务的时间分别为:进程名 A B C D E 到达时间0 1 2 3 4 服务时间 4 3 4 2 4 时间片大小为1,利用程序模拟A,B,C,D,E五个进程按时间片轮转的调度及执行过程并计算各进程的周转时间及带权周转时间。 执行过程并计算各进程的周转时间及带权周转时间。 轮转调度:BDACE

(1)修改时间片大小为2,利用程序模拟A,B,C,D,E五个进程按时间片轮转的调度及执行过程并计算各进程的周转时间及带权周转时间。 轮转调度:ADBCE (2)修改时间片大小为4,利用程序模拟A,B,C,D,E五个进程按时间片轮转的调度及执行过程并计算各进程的周转时间及带权周转时间.

顺序:ABCDE 1、思考 时间片的大小对调度算法产生什么影响?对计算机的性能产生什么影响?答:通过对时间片轮转调度算法中进程最后一次执行时间片分配的优化,提出了一种改进的时间片轮转调度算法,该算法具有更好的实时性,同时减少了任务调度次数和进程切换次数,降低了系统开销,提升了CPU的运行效率,使操作系统的性能得到了一定的提高。 A B C D E 时间片为1 周转时间12 9 14 8 13 3 3 3.5 4 3.25 带权周转 时间 时间片为2 周转时间8 12 13 7 13 2 4 3.25 3.5 3.25 带权周转 时间 时间片为4 周转时间 4 6 9 10 13 1 2 2.25 5 3.25 带权周转 时间

网络存储实验报告

湖北文理学院《网络存储》 实验报告 专业班级:计科1211 姓名:*** 学号:*** 任课教师:李学峰 2014年11月16日

实验01 Windows 2003的磁盘阵列技术 一、实验目的 1.掌握在Windows 2003环境下做磁盘阵列的条件和方法。 2.掌握在Windows 2003环境下实现RAID0的方法。 3. 掌握在Windows 2003环境下实现RAID1的方法。 4. 掌握在Windows 2003环境下实现RAID5的方法。 5. 掌握在Windows 2003环境下实现恢复磁盘阵列数据的方法。 二、实验要求 1.在Windows 2003环境下实现RAID0 2.在Windows 2003环境下实现RAID1 3.在Windows 2003环境下实现RAID5 4.在Windows 2003环境下实现恢复磁盘阵列数据 三、实验原理 (一)磁盘阵列RAID技术的概述 RAID是一种磁盘容错技术,由两块以上的硬盘构成冗余,当某一块硬盘出现物理损坏时,换一块同型号的硬盘即可自行恢复数据。RAID有RAID0、RAID1、RAID5等。RAID 技术是要有硬件来支持的,即常说的RAID卡,如果没RAID卡或RAID芯片,还想做RAID,那就要使用软件RAID技术,微软Windows系统只有服务器版本才支持软件RAID技术,如Windows Server 2003等。 (二)带区卷(RAID0) 带区卷是将多个(2-32个)物理磁盘上的容量相同的空余空间组合成一个卷。需要注意的是,带区卷中的所有成员,其容量必须相同,而且是来自不同的物理磁盘。带区卷是Windows 2003所有磁盘管理功能中,运行速度最快的卷,但带区卷不具有扩展容量的功能。它在保存数据时将所有的数据按照64KB分成一块,这些大小为64KB的数据块被分散存放于组成带区卷的各个硬盘中。 (三)镜像卷(RAID1) 镜像卷是单一卷的两份相同的拷贝,每一份在一个硬盘上。它提供容错能力,又称为RAID1技术。 RAID1的原理是在两个硬盘之间建立完全的镜像,即所有数据会被同时存放到两个物理硬盘上,当一个磁盘出现故障时,系统仍然可以使用另一个磁盘内的数据,因此,它具备容错的功能。但它的磁盘利用率不高,只有50%。 四、实验设备 1.一台装有Windows Server 2003系统的虚拟机。 2.虚拟网卡一块,类型为“网桥模式”。 3.虚拟硬盘五块。 五、实验步骤 (一)组建RAID实验的环境 (二)初始化新添加的硬盘 (三)带区卷(RAID0的实现)

相关文档
相关文档 最新文档