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

操作系统上机练习报告

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

操作系统上机

实验报告

成绩

教师:

2016 年12月16日

班级:

学号:

姓名:

实验一进程的建立【实验目的】

创建进程及子进程

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

【实验软硬件环境】

VC++6.0 或者Linux 操作系统

【实验内容】

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

【实验程序及分析】

在linux操作系统桌面建立test1.c程序文件如下:

#include

#include

#include

#include

main(){

char father[] = {"the message is from father!"};

char child[] = {"the message is from child!"};

int chan1[2],chan2[2];

char buff[50];

pipe(chan1);

pipe(chan2);

int F = fork();

printf("%d ",F);

if(F>0){

sleep(3);

printf("this is father progress\n");

close(chan1[0]);// close chan1 read

close(chan2[1]);// close chan2 write

write(chan1[1],father,strlen(father));

close(chan1[1]);

//sleep(10);

read(chan2[0],buff,50);

sleep(3);

printf("Father process: %s\n",buff);

printf("this father process whose ID is: %d\n",getpid());

}

else if (F==0){

printf("this is child progress\n");

//

close(chan1[1]);//close chan1 write

close(chan2[0]);//close chan2 read

read(chan1[0],buff,50);

sleep(3);

printf("Child process: %s\n",buff);

write(chan2[1],child,strlen(child));

close(chan2[1]);

printf("this child process whose ID is: %d\n",getpid());

printf("this child process whose father's ID is: %d\n",getppid()); }

else{"creat fork() error!\n";}

}

产生结果如下:

【实验心得体会】

1、通过本次实验,我认识到管道通信在进程之间的应用,了解并掌握了进程建立与通信的相关机制;

2、熟悉了Linux操作系统的一些简单操作,并体会到了Linux操作系统的设计理念。

实验二进程间的同步

【实验目的】

理解进程同步和互斥模型及其应用

【实验软硬件环境】

VC++6.0 或者Linux 操作系统

【实验内容】

利用通信API实现进程之间的同步:

建立司机和售票员进程;

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

【实验程序及分析】

分析:司机与售票员要协同工作:一方面只有售票员把门关好之后司机才可开车,因此售票员关好门之后要通知司机开车,然后售票;另一方面,也只有司机把车停下之后售票员才能开门让乘客下车和上车,因此,此时司机应通知售票员。汽车当前正在始发站停车让乘客让乘客上车,因此,必须设置一定的信号量来实现他们之间的同步问题。

设计:设置司机与售票员的信号量为全局变量,并且客车的人数:现在人数、下车人数、上车人数为全局变量;设置司机与售票员的线程。考虑到第一站和最后一站的问题,应单独处理,故在各自的线程中分情况讨论:

具体的思路是下面的图示。其中S1是司机的信号量,S2是售票员的信号量。

程序的实现(代码):

#include

#include

#include

int c=0;

int f=0;

int i=5;

pthread_mutex_t t;

void *f1(void *arg)

{

while(i)

{

pthread_mutex_lock(&t);

if(f==0)

{

i--;

printf("Driver process: We will stop at...");

printf("Station%d\n",i);

f=1;

sleep(1);

}

pthread_mutex_unlock(&t);

}

}

void *f2(void *arg)

{

while(i){

if(f==1){

pthread_mutex_lock(&t);

f=0;

printf("Conductor processs:We are leaving...");

printf("Station%d\n\n",i);

sleep(3);

pthread_mutex_unlock(&t);}

}

}

int main(){

pthread_t a;

pthread_t b;

pthread_mutex_init(&t,NULL);

pthread_create(&a,NULL,f1,NULL);

pthread_create(&b,NULL,f2,NULL);

pthread_join(a,0);

pthread_join(b,0);

printf("We arrived the destination! See U next time.\n"); return 0;

}

运行结果如下图:

【实验心得体会】

通过本次实验,加深了对进程同步与互斥的理解,对Linux下的信号量函数的作用更加清晰,对Linux编程有了一些提高;除了P、V操作还可以用互斥锁来实现进程间的同步互斥,本次实验通过用多种方法更深层次的理解了进程间的通信与同步互斥。

实验三线程共享进程数据

【实验目的】

了解线程与进程之间的数据共享关系。创建一个线程,在线程中更改进程中的数据。

【实验软硬件环境】

VC++6.0 或者Linux 操作系统

【实验内容】

在进程中定义全局共享数据,在线程中直接引用该数据进行更改并输出该数据。

【实验程序及分析】

#include

#include

#include

int a = 0;

void *pth(void *arg)

{

a += 10;

printf("In the thread a = %d\n",a);

pthread_exit(NULL);

}

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

{

pthread_t T;

a = 11;

printf("In the main thread: a = %d\n",a);

if(pthread_create(&T,NULL,pth,argv[1]))

{

printf("pthread_create fails.\n");

return 0;}

sleep(1);

return 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

网络操作系统综合实训

网络操作系统综合实训 假如你是某公司的系统管理员,现在公司要做一台文件服务器。公司购买了一台某品牌的服务器,在这台服务器内插有三块硬盘。 公司有三个部门---销售,财务,技术。每个部门有三个员工,其中一名是其部门经理(另两名是副经理) 1. 在三块硬盘上共创建三个分区(盘符),并要求在创建分区的时候,使磁盘实现容错的功能; 方案:使用镜像卷实现磁盘容错功能。 1、把三个磁盘转化为动态磁盘 2、在三个磁盘上创建磁盘分区镜像 2. 在服务器上创建相应的用户帐号和组;命名规范,如:用户名:sales-1,sales-2……;组名:sale,tech……要求用户帐号只能从网络访问服务器,不能在服务器本地登录 1、打开计算机管理-本地用户和组-组-新建组 2、新建组和用户组名:sale、tech、fina,用户名:sale-1 sale-2 sale-3

tech-1 tech-2 tech-3 fina-1 fina-2 fina-3 3、打开管理工具-本地安全策略-本地策略-用户权限分配-从网络 访问此计算机-添加要进行限制的用户和组即可 3. 在文件服务器上创建三个文件夹分别存放各部门的文件,并要求只有本部门的用户能访问其部门的文件夹(完全控制的权限),每个部门的经理和公司总经理可以访问所有文件夹(读取),另创建一个公共文件夹,使得所有用户都能在里面查看和存放公共的文件; 1、管理工具-管理您的服务器-添加或删除角色-新建文件服务器

2、在新加卷E中新建四个共享文件夹分别命名为公共文件夹、技术部、财务部、销售部 4、打开文件服务器管理-管理共享文件夹-共享文件夹属性-分配所 需权限 如:销售部属性-安全-对象类型-组-即实现只有本部门人员可以访问本部门文件,其他部门及人员雷同设置即可

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、性能监视工具的使用。打开控制面板,选择管理工具,选择性能。(描述使用方法) 四、实验总结:

《 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.回收站的设置 设置删除文件后,不将其移入回收站中,而是直接彻底删除功能。

操作系统实验报告

操作系统实验报告 集团企业公司编码:(LL3698-KKI1269-TM2483-LUI12689-ITT289-

实验二进程调度1.目的和要求 通过这次实验,理解进程调度的过程,进一步掌握进程状态的转变、进程调度的策略,进一步体会多道程序并发执行的特点,并分析具体的调度算法的特点,掌握对系统性能的评价方法。 2.实验内容 阅读教材《计算机操作系统》第二章和第三章,掌握进程管理及调度相关概念和原理。 编写程序模拟实现进程的轮转法调度过程,模拟程序只对PCB进行相应的调度模拟操作,不需要实际程序。假设初始状态为:有n个进程处于就绪状态,有m个进程处于阻塞状态。采用轮转法进程调度算法进行调度(调度过程中,假设处于执行状态的进程不会阻塞),且每过t个时间片系统释放资源,唤醒处于阻塞队列队首的进程。 程序要求如下: 1)输出系统中进程的调度次序; 2)计算CPU利用率。 3.实验环境 Windows操作系统、VC++6.0 C语言 4设计思想: (1)程序中进程可用PCB表示,其类型描述如下:

structPCB_type { intpid;//进程名 intstate;//进程状态 2——表示“执行”状态 1——表示“就绪”状态 0——表示“阻塞”状态 intcpu_time;//运行需要的CPU时间(需运行的时间片个数) } 用PCB来模拟进程; (2)设置两个队列,将处于“就绪”状态的进程PCB挂在队列ready中;将处于“阻塞”状态的进程PCB挂在队列blocked中。队列类型描述如下: structQueueNode{ structPCB_typePCB; StructQueueNode*next; } 并设全程量: structQueueNode*ready_head=NULL,//ready队列队首指针 *ready_tail=NULL,//ready队列队尾指 针

操作系统上机实验报告

大连理工大学实验报告 学院(系):专业:班级: 姓名:学号:组:___ 实验时间:实验室:实验台: 指导教师签字:成绩: 实验名称:进程控制 一、实验目的和要求 (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将共享内存附加到自己的地址空间,并向共享内存中写入数据。 四、程序代码 五、运行结果 六、实验结果与分析 七、体会

操作系统实验报告16487

西安邮电大学 (计算机学院) 课实验报告 实验名称:进程管理 专业名称:计算机科学与技术 班级: 学生: 学号(8位): 指导教师: 实验日期:*****年**月**日

一. 实验目的及实验环境 目的:(1)加深对进程概念的理解,明确进程和程序的区别。 (2)进一步认识并发执行的实质。 (3)分析进程竞争资源现象,学习解决进程互斥的方法。 (4)了解Linux系统中进程通信的基本原理。 环境:Linux操作系统环境: 二. 实验容 (1)阅读Linux的sched.h源文件,加深对进程管理概念的理解。 (2)阅读Linux的fork.c源文件,分析进程的创建过程。 三.方案设计 (1)进程的创建 编写一段源程序,使系统调用fork()创建两个子进程,当此程序运行时,在系统中有一个父进程和两个子进程活动。让每一个进程在屏幕上显示一个字符:父进程显示字符“a”;子进程分别显示字符“b”和字符“c”。试观察纪录屏幕上的显示结果,并分析原因。(2)进程的控制 修改已编写的程序,将每个进程输出一个字符改为每个进程输出一句话,在观察程序执行时屏幕出现的现象,并分析原因。 如果在程序中使用调用lockf()来给每一个子进程加锁,可以实现进程之间的互斥,观察并分析出现的现象。 (3)①编写一段程序,使其现实进程的软中断通信。 要求:使用系统调用fork()创建两个子进程,再用系统调用signal()让父进程捕捉键盘上来的中断信号(即按DEL键);当捕捉到中断信号后,父进程用系统调用Kill()向两个子进程发出信号,子进程捕捉到信号后分别输出下列信息后终止: Child Processll is Killed by Parent! Child Processl2 is Killed by Parent! 父进程等待两个子进程终止后,输出如下的信息后终止 Parent Process is Killed! 程序流程图如下:

《网络操作系统(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的相关管理、以及各种服务器的配置与应用。 三、参考课时 四、实训考核与组织

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

操作系统上机实验报告 实验名称: 生产者与消费者问题模拟 实验目的: 通过模拟生产者消费者问题理解进程或线程之间的同步与互斥。 实验内容: 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);

操作系统实验报告1

操作系统 实验报告 班号:1303107 学号:1130310726 姓名:蔡鹏

1.请简述head.s 的工作原理。 head.s实在32位保护模式下运行的。我认为这段程序主要包括两个部分:1.初始化设置。2.任务执行与切换。 初始设置主要包括了:1.设置GDT表2.设置系统定时芯片3. 设置IDT表(0x08时钟中断和0x80系统调用中断)4.切换到任务0执行 任务切换和执行包括了:1.任务0和任务1 , 2.时钟中断, 3.系统中断 两个任务的在LDT中代码段和数据段描述符的内容都设置为:基地址0x0000;段限长值为0x03ff,实际段长度为4MB。因此在线性地址空间中这个?内核?的代码和数据段与任务的代码和数据段都从线性地址0开始并且由于没有采用分页机制,所以他们都直接对应物理地址0开始处。 为了每隔10毫秒切换运行的任务,head.s程序中把定时器芯片8253的通道0设置成每隔10毫秒就向中断控制芯片8259A发送一个时钟中断请求信号。PC机的ROM BIOS开机时已经在8259A中把时钟中断请求信号设置成中断向量8,因此我们需要在中断8的处理过程中执行任务切换操作。任务切换的实现是查看current变量中的当前运行的任务号,如果为0,就利用任务1的TSS选择符作为操作数执行远跳转指令,从而切换到任务1中,否则反之。

每个任务在执行时,会首先把一个字符的ASCII码放入寄存器AL中,然后调用系统中断调用int 0x80,而该系统调用处理过程则会调用一个简单的字符写屏子程序,把寄存器AL中的字符显示在屏幕上,同时把字符显示的屏幕的下一个位置记录下来,作为下一次显示字符用。在显示过一个字符后,任务代码会使用循环语句延迟一段时间,然后又跳转到任务代码开始处继续循环执行,直到运行了10毫秒而发生了定时中断,从而代码会切换到另一个任务执行。对于任务A,寄存器AL中始终存放字符‘A’,而任务B运行时AL中始终存放字符‘B’。因此程序运行时我们将看到一连串的‘A’和一连串的‘B’间隔的连续不断的显示在屏幕上。若出现了一个‘C’,是由于PC机偶然产生了一个不是时钟中断和系统调用中断的其他中断。因为我们已经在程序中给所有其他中断安装了一个默认中断处理程序。当出现一个其他中断时,系统就会运行这个中断处理程序,于是就会在屏幕上显示一个‘C’,然后退出中断。 4.请记录head.s 的内存分布状况,写明每个数据段,代码段,栈段 的起始与终止的内存地址。

操作系统安装的实验报告

实验报告 课程名称:网络操作系统 实验项目名称: 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安装映像文件,启动虚拟机,进入安装界面;

操作系统上机报告

操作系统上机报告 实验一、匿名管道通信 一、实验目的 学会创建匿名管道,并且能够利用管道进行进程间的通信。 二、实验内容 分别建立名为Parent的单文档应用程序和Child的单文档应用程序作为父子进程,由父进程创建一个匿名管道,实现父子进程向匿名管道写入和读取数据。 三、设计与实现过程 本实验在VC6.0上实现

? A.父进程 ?先建一个Parent的单文档应用程序,增加“创建管道”“读取数据”“写入数据”三个菜单,并添加消息响应函数 OnPipeCreate(),OnPipeRead(),OnPipeWrite()。在 CParentView类中增加成员变量HANDLE类型的hRead,hWrite,初始化变量,并在析构函数中释放句柄: ?void CParentView::OnPipeWrite() ?{ ?if(!CreatePipe(…)) /*创建匿名管道*/ ?{ ? /*显示消息“创建管道失败!”*/ ? /*退出*/ ?} ?if(!CreateProcess(…)) /*创建子进程*/ ?{ ? /*关闭句柄hRead、hWrite*/ ? /*显示消息“创建子进程失败!”*/ ? /*退出*/ ?} ?} ?void CParentView::OnPipeRead() ?{ ? /*定义一个字符数组,用于存放读取的数据*/ ?if(!ReadFile(…)) /*读取数据*/ ?{ ? /*显示消息“读取数据失败!”*/ ? /*退出*/ ?} ?/*打印读取的数据*/ ?/*退出*/ ?void CParentView::OnPipeWrite() ?{ ?/*定义一个字符数组,用于存放写入的数据*/ ?if(!WriteFile(…)) /*写入数据*/

《网络操作系统Windowsserver 》实训指导书

目录 二、实训内容........................................................ 三、参考课时........................................................ 四、实训考核与组织.................................................. 五、说明............................................................ 六、实训项目........................................................ 实训项目一WindowsServer2012的安装与配置........................... 实训项目二DNS域名服务的实现....................................... 实训项目三DHCP服务器的配置与管理的实现............................ 实训项目四WINS服务器的配置........................................ 实训项目五WindowsServer2012活动目录的实现......................... 实训项目六WindowsServer2012磁盘管理的实现......................... 实训项目七WindowsServer2012文件管理............................... 实训项目八IIS服务器的应用实现..................................... 实训项目九FTP服务器的配置的实现...................................

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 资源管理器”。

操作系统实验报告_实验四

实验四:进程管理(二) 实验内容: 1.编写一个程序,打印进程的如下信息:进程标识符,父进程标识符,真实用户ID,有效用户ID,真实用户组ID,有效用户组ID。并分析真实用户ID和有效用户ID的区别。 源代码及结果: 真实用户ID和有效用户ID的区别: 真实用户ID:这个ID就是我们登陆unix系统时的身份ID。 有效用户ID:定义了操作者的权限。有效用户ID是进程的属性,决定了该进程对文件的访问权限。 2.阅读如下程序,编译并运行,分析进程执行过程的时间消耗(总共消耗的时间和CPU 消耗的时间),并解释执行结果。再编写一个计算密集型的程序替代grep,比较两次时间的花销。注释程序主要语句。 /* process using time */ #include #include #include #include #include void time_print(char *,clock_t);

int main(void){ //取得进程运行相关的时间 clock_t start,end; struct tms t_start,t_end; start = times(&t_start); system(“grep the /usr/doc/*/* > /dev/null 2> /dev/null”); /*command >/dev/null的作用是将是command命令的标准输出丢弃,而标准错误输出还是在屏幕上。一般来讲标准输出和标准错误输出都是屏幕,因此错误信息还是会在屏幕上输出。>/dev/null 2> /dev/null 标准输出与标准错误输出都会被丢弃*/ // 0 1 2 标准输入标准输出错误输出 // > 将信息放到该文件null中 end=times(&t_end); time_print(“elapsed”,end-start); puts(“parent times”); time_print(“\tuser CP U”,t_end.tms_utime); time_print(“\tsys CPU”,t_end.tms_stime); puts(“child times”); time_print(“\tuser CPU”,t_end.tms_cutime); time_print(“\tsys CPU”,t_end.tms_cstime); exit(EXIT_SUCCESS); } void time_print(char *str, clock_t time) { long tps = sysconf(_SC_CLK_TCK); /*函数sysconf()的作用为将时钟滴答数转化为秒数,_SC_CLK_TCK 为定义每秒钟

网络操作系统实训

+ 课题组号 41 密级 XXXX学院软件学院 实训文档 课题名称中小企业网络管理 专业计算机网络技术 班级 XXXXXXXXXXXX 指导教师 XXXXXX 项目组组长 XXXX 项目组成员XXX

实训目标 本实训将综合应用所学知识,以湖南中南迈特技术有限公司为背景,完成Windows server 网络服务需求分析,设计、实施与维护管理。通过本实训,你将能够巩固如下知识: ?理解企业对Windows网络服务的基本需求 ?掌握小型企业网络拓扑图设计 ?掌握windows活动目录的安装、设置 ?掌握IP地址的动态分配 ?掌握DNS服务器的配置 ?掌握Web站点的配置 ?掌握FTP站点的配置 ?掌握跨域访问的配置

目录 1项目背景 (3) 1.1 公司简介 (3) 1.2 公司IT概况 (3) 2 需求分析 (4) 2.1 IP地址分配 (4) 2.2 账户管理 (4) 2.3 Web和FTP站点 (4) 2.4 域名解析 (4) 2.5远程安全访问 (5) 2.6提供公司内部邮件服务器 (5) 3项目设计 (6) 3.1 规划IP地址 (6) 3.2 规划Windows域 (7) 3.3 规划Web和FTP站点 (10) 3.4 规划邮件服务器 (11) 3.5 规划VPN远程服务 (11) 3.6 规划跨域访问 (11) 4 项目实施 (13) 4.1 搭建实训环境 (13) 4.2 分配IP地址 (13) 4.3制作设备清单表和网络拓扑图 (13) 4.4创建Windows域 (14) 4.5根据部门划分OU (组织单位) (15) 4.6根据组织单位配置组策略 (19) 4.7创建额外域控制器 (23) 4.8 配置DHCP服务 (24) 4.9 配置DNS服务 (26) 4.10 配置Web和FTP站点 (27) 总结 (31)

网络存储实验报告

湖北文理学院《网络存储》 实验报告 专业班级:计科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的实现)

操作系统实验报告18038

福州大学数学与计算机科学(软件)学院 实验报告 课程名称:计算机操作系统 学号:221100218 姓名: 专业:软件工程 年级:2011级 学期:2012学年第2学期 2013年10 月24 日

实验一 Linux操作系统的使用和分析 一、实验目的 本实验主要学习和掌握Linux操作系统的基本应用。通过本实验,学生能够熟练掌握Linux环境下各种基本操作命令接口的应用。从系统安全角度出发,学习掌握系统的基本安全优化和配置,在操作系统层次进行有效安全加固,提高Linux系统的安全性能。通过本次实验,有助于学生进一步理解操作系统原理中的相关内容,加深认识。 二、实验要求 1、熟练掌握Linux系统的基本操作命令。 2、熟悉Linux 系统的基本配置。 3、实现Linux系统的安全加固。 4、掌握一种以上的网络应用软件的安装、配置与应用。 三、实验内容 系统的启动,如图: 关闭使用shutdowm 还有列出文件夹内的信息ls,cp复制拷贝,touch创建文件命令等等 ①下载文件压缩包pro.gz,解压如图:

②然后修改安装路径: ③之后用make编译文件 ④在安装路径/home/liaoenrui/11里的etc中修改文件的组名和用户名: 将groud 命名也命名为ftp,然后用groudadd和useradd命令将这两个添加在该目录的sbin目录下:

⑤最后运行文件,./profile即可 四、实验总结 通过本次的操作系统的上机实验,我熟练了Linux系统的基本操作命令,并且对安装文件有更深入的了解,比如在上述安装过程中对于通过froftpd来架构linux的ftp,由于之前都是用window系统,所以对于这些非常的生疏,因此在请教了多人和上网查询之后,终于有所了解,并且成功的将此实验顺利完成。在本次实验中,我发现自己的动手能力又有很大的提高,相信以后继续努力的话会有更大的进步,当然这也要归功于老师的教导。 参考文献 [1] Neil Maththew Richard Stones Linux 程序设计第四版人民邮电出版社 [2] 周茜,赵明生.中文文本分类中的特征选择研究[J].中文信息学报,2003,Vol.18 No.3

操作系统上机报告

西安电子科技大学计算机学院《操作系统实验》 实验报告 姓名: 学号: 班级:

一、题目 实验1:LINUX/UNIX Shell部分 (一)系统基本命令 1.登陆系统,输入 whoami 和 pwd ,确定自己的登录名和当前目录; 登录名 admixx ,当前目录 /root 2.显示自己的注册目录命令在哪里 a.键入 echo $HOME,确认自己的主目录;主目录为 /root b.键入echo $PATH,记下自己看到的目录表;/usr/lib/bin:/usr/kerberos/sbin:/usr/kerberos/ bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin:/r oot/bin c.键入 which abcd,看看得到的错误信息; /usr/bin/which: no abcd in (/usr/lib/ bin:/usr/kerberos/sbin:/usr/kerberos/ bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin:/r oot/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 > ,再输入 cat >>,再检查的内容有何变化;说明>与>>的区别。

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