1 / 28
文档名称:

操作系统有哪些.docx

格式:docx   大小:556KB   页数:28页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

操作系统有哪些.docx

上传人:xinsheng2008 2018/1/11 文件大小:556 KB

下载得到文件列表

操作系统有哪些.docx

文档介绍

文档介绍:操作系统实验报告
学号:
姓名:
指导老师:
完成日期:
目录
实验一1
实验二2
实验三7
实验四10
实验五15
实验六18
实验七22
实验一 UNIX/LINUX入门
一、实验目的
了解 UNIX/LINUX 运行环境,熟悉UNIX/LINUX 的常用基本命令,熟悉和掌握UNIX/LINUX 下c 语言程序的编写、编译、调试和运行方法。
二、实验内容
熟悉 UNIX/LINUX 的常用基本命令如ls、who、pwd、ps 等。
练****UNIX/LINUX的文本行编辑器vi 的使用方法
熟悉 UNIX/LINUX 下c /gcc 的使用方法。用vi 编写一个简单的显示“Hello,World!”c 语言程序, 编译并观察编译后的结果,然后运行它。
三、实验要求
按照要求编写程序,放在相应的目录中,编译成功后执行,并按照要求分析执行结果,并写出实验报告。
四、实验程序
#include <>
#include <>
int main()
{
printf ("Hello World!\n");
return 0;
}
五、实验感想
通过第一次室验,我了解 UNIX/LINUX 运行环境,熟悉了UNIX/LINUX 的常用基本命令,熟悉和掌握了UNIX/LINUX 下c 语言程序的编写、编译、调试和运行方法。
实验二进程管理
一、实验目的
加深对进程概念的理解,明确进程与程序的区别;进一步认识并发执行的实质。
二、实验内容
(1)进程创建
编写一段程序,使用系统调用fork()创建两个子进程。当此程序运行时,在系统中有一个父进程和两个子进程活动。让每一个进程在屏幕上显示一个字符:父进程显示“a“;子进程分别显示字符”b“和字符“c”。试观察记录屏幕上的显示结果,并分析原因。
(2)进程控制
修改已编写的程序,将每一个进程输出一个字符改为每一个进程输出一句话,再观察程序执行时屏幕上出现的现象,并分析原因。
(3)进程的管道通信
编写程序实现进程的管道通信。使用系统调用pipe()建立一个管道,二个子进程P1 和P2 分别向管道各写一句话:
Child 1 is sending a message!
Child 2 is sending a message!
父进程从管道中读出二个来自子进程的信息并显示(要求先接收P1,再接收P2)。
三、实验要求
按照要求编写程序,放在相应的目录中,编译成功后执行,并按照要求分析执行结果,并写出实验报告。
四、实验设计
1、功能设计
(1)进程创建
使用fork()创建两个子进程,父进程等待两个子进程执行完再运行。
(2)进程控制
使用fork()创建两个子进程,父进程等待两个子进程分别输出一句话再运行。
(3)进程的管道通信
先创建子进程1,向管道写入一句话,子进程1结束后创建子进程2,向管道写入一句话,最后父进程从管道中读出。
2、数据结构
子进程和管道。
3、程序框图

五、实验程序
(1)进程创建
#include<>
#include<>
int main()
{
int pid1, pid2;
pid1=fork();
if (pid1<0){ printf("Fork 1 failed!!");}
if (pid1==0){ printf("b\n");exit(0);}
if (pid1>0){ wait(NULL);
pid2 = fork();
if (pid2<0) { printf("Fork 2 failed!!"); }
if (pid2==0) { printf("c\n");exit(0);}
if (pid2>0) { wait(NULL);printf("a\n");exit(0);}
}
}
(2)进程控制
#include<>
#include<>
int main()
{
int pid1, pid2;
pid1=fork();
if (pid1<0){ printf("Fork 1 failed!!");}
if (pid1==0){ printf("This is child b\n");exit(0);}
if (pid1>0){ wait(NULL);
pid2 = fork();
if (pid2<0) { printf("Fork 2 failed!!"); }
if (pid2==0) { prin