青岛理工大学操作系统实验指导及实验报告

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

操作系统实验指导书
青岛理工大学计算机工程学院
二零一一年九月
一、课程编号:
二、适用专业:计算机科学与技术专业、网络工程专业、软件工程专业
三、实验个数与学时:4个实验,8学时
四、《操作系统实验》的目的
《操作系统》是一门重要的专业基础课,是涉及较多硬件知识的计算机系统软件课程。

在计算机软硬件课程的设置上,它起着承上启下的作用。

操作系统对计算机系统资源实施管理,是所有其他软件与计算机硬件的唯一接口,所有用户在使用计算机时都要得到操作系统提供的服务。

操作系统实验的主要任务是让学生掌握常用操作系统的安装方法,了解操作系统进程管理的基本内容,通过实验演示了解操作系统是如何进行进程管理的,为后期操作系统的课程设计奠定基础。

五、实验平台
在虚拟机Vmware或者Virtual Box上的Ubuntu 9.1
1
实验1 安装Linux操作系统
一、实验目的
在虚拟机Vmware或者Virtual Box上安装Unbuntu 9.1操作系统,后续实验都将在此环境上进行。

通过实验,要求:
1、掌握在虚拟机上安装操作系统的方法;
2、学会安装Linux系统;
3、学会启动Linux系统;
4、学会在宿主机Windows XP操作系统下,与虚拟机上安排的Ubuntu共享文件的方法。

二、实验内容
1、把ubuntu安装至虚拟机上。

●加载安装ubuntu操作系统的ISO IMG文件
●启动ubuntu虚拟机
●按提示分阶段装入系统
2、在Windows下通过网络磁盘来访问ubuntu共享文件夹
●在虚拟系统Ubuntu下新建一个文件夹,右击该文件夹,选择属性,共享,启
用“共享此目录”,并允许他人在此共享里写数据。

注:共享时需要Samba的支持,系统会提示安装。

●安装完成Samba后,需要重启ubuntu才能生效。

此时回到XP时可在网上邻居
里看到一个*** - desktop server(Samba,Ubuntu)的共享目录。

●返回Windows XP系统,右击“网上邻居”,选择“映射网络驱动器”,
2
●在“浏览”里找到刚才在Ubuntu下共享的文件夹,选择后完成映射,
●这时打开“我的电脑”会发现多了一个“网络驱动器”,如同我们的硬盘一
样。

3
这时你可以在XP系统里复制几个文件到相应的网络驱动器,然后进入Ubuntu系统,就能看到我们刚才复制的文件了;当然,我们也可以往ubuntu 共享文件夹里放文件,在XP系统使用。

注:在创建文件共享的时候,注意主机的网卡一定要打开,否则创建共享是不能成功的
4
实验2 Linux系统中程序编辑、编译与调试工具
一、实验目的
1、熟悉使用Linux字符界面、窗口系统的常用命令。

2、熟悉运用Linux常用的编程工具。

3、掌握在Linux操作系统环境上编辑、编译、调试、运行一个C语言程序的全过程。

二、实验内容
1、熟悉开机后登录Linux系统和退出系统的过程;
2、掌握一种Linux的编辑器,特别是字符界面的vi工具的使用(详见VI简易使用手栅);
3、掌握GCC编译器的基本用法(详见GCC使用手册及常用命令行);
4、掌握GDB调试程序的方法(详见GDB调试程序手册)。

要求在实验报告上完整地进行一个数据结构中c程序的调试,源代码不能少于50行。

5
实验3 进程并发与同步
一、实验目的
1、加深对进程概念的理解,区分进程并发执行与串行执行;
2、掌握进程并发执行的原理,理解进程并发执行的特点;
3、了解fork( )系统调用的返回值,掌握用fork()创建进程的方法;熟悉wait、exit 等系统调用;
4、能利用相应的系统调用实现进程树与进程间的同步。

二、实验内容
1、编写一C语言程序,实现在程序运行时通过系统调用fork( )创建两个子进程,使父、子三进程并发执行,父亲进程执行时屏幕显示“I am father”,儿子进程执行时屏幕显示“I am son”,女儿进程执行时屏幕显示“I am daughter”。

要求多次连续反复运行这个程序,观察屏幕显示结果的顺序,直至出现不一样的情况为止。

要求有运行结果截图与结果分析
2、连续4个fork()的进程家族树,family1-1.c程序清单如下:
#include <stdio.h>
main()
{
fork();
fork();
fork();
fork();
printf(“A\n”);
}
请根据程序运行结果,画出进程家族树,并分析原因。

3、修改程序1,在父、子进程中分别使用wait、exit等系统调用“实现”其同步推进,父进程必须等待儿子进程与女儿进程结束,才可以输出消息。

写出相应的同步控制,并分析运行结果。

4、创建一个子进程,并给它加载程序,其功能是调用键盘命令“ls -l”,已知该键盘命令的路径与文件名为:/bin/ls。

父进程创建子进程,并加载./child2程序。

写出相应的程序代码并分析程序运行结果。

6
7
8
9
实验4进程通信
一、实验目的
1、加深理解进程通信的方法与原理;
2、掌握如何利用管道机制、消息缓冲队列、共享存储区机制进行进程间的通信。

二、实验内容
1、了解系统调用pipe()、msgget()、msgsnd()、msgrcv()、msgctl()、shmget()、shmat()、shmdt()、shmctl()的功能和实现过程。

2、编写一C语言程序,使其用管道来实现父子进程间通信。

子进程向父进程发送字符串“is sending a message to parent!”;父进程则从管道中读出子进程发来的消息,并将其显示到屏幕上,然后终止。

3、运行该程序,观察、记录并简单分析其运行结果。

10。

相关文档
最新文档