欢迎来到天天文库
浏览记录
ID:50131969
大小:254.50 KB
页数:13页
时间:2020-03-05
《计算机操作系统实验报告.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、计算机操作系统实验报告实验一一、实验目的在单处理器环境下,实现互斥和同步的控制。熟悉并掌握常用Windows命令行。更进一步理解PV操作的并发控制的实现。二、Windows命令行常用命令dir是英文单词directory(目录)的缩写,主要用来显示一个目录下的文件和子目录。md是英文makedirectory(创建目录)的缩写。功能:创建一个子目录cd是英文changedirectory(改变目录)的缩写,功能:改变目录rd是英文removedirectory(删除目录)的缩写,功能;:删除目录copy功能:复制一个或一组文件至指定的目录中del是英文dele
2、te(删除)的缩写,功能:删除指定目录下一个或一组文档edit功能:edit是一个简单的编辑软件,可用于编辑程序或批处理文件。bacc功能:编译指定的文件(如baccdd)bainterp功能:运行指定文件(如:bainterpdd)三、并发程序设计题目:在BACI环境下,对程序并发执行的实验:(1)没有控制时正确的程序执行的结果不正确;(2)BACI中PV操作的并发控制的实现。实验1、多进程共享内存堆栈(1)设计思路:(2)代码:intstack[10];semaphores=1;inttop=4;voidrelease(intfree){p(s);top+
3、+;cout<<"top="<=0;top--)cout<<"stack["<4、数假定有三个进程R、W1、W2共享一个缓冲区B,而B每次只能存放一个整数。当缓冲区中无数时,进程R可以从输入设备上读入一个整数并存入B中;若存到B中的数是奇数,则允许进程W1将其取出打印;若是偶数,则允许进程W2将其取出打印。另外规定:进程R必须等B中的数被取出打印后才能再存放下一个数,进程W1或W2对每次存入的数只能打印一次并且都不能从空的缓冲区中取数。请用PV操作实现R、W1和W2三个进程的并发执行。代码:Intbuf;semaphores1=1;s2=0;s3=0;voidr(){p(s1);cout<<"input"<>buf;if5、(buf%2)v(s2);elsev(s3);}voidw1(){p(s2);cout<<"w1'buf="<6、前目录的文件名及子目录名ls–l*.ccp文件拷贝cp*.c/mnt/usbrm删除文件rma.outmkdir创建一个子目录mkdir/usr/myDatarmdir删除一个子目录rmdir/usr/myDatachmod设置文件的存取权限chmod777myCC.shfdisk查看文件系统fdisk–lmount装载文件系统mount/dev/sda0/mnt/usbumount卸载文件系统umount/mnt/usbpwd显示当前工作目录pwdps显示当前运行的进程ps–akill删除运行中的进程kill3685cc基本使用实例用法结果说明ccex2.c7、编译后生成可执行目标文件a.outcc–oex2ex2.c编译后生成可执行目标文件ex2cc–I/mnt/usb/includeex2.c编译器编译过程除了在默认路径、还可以在指定的路径/mnt/usb/include下查找源文件包含的头文件cc–L/mnt/usb/libex2.c编译器在自动连接时,除了在默认路径、还可以在指定的路径/mnt/usb/lib下查找源文件用到的库文件.另外在命令状态下:DD:剪切一行NDD:剪切N行DW:剪切一个单词NDW:剪切N个单词P:粘贴YY:复制一行NYY:复制N行YW:复制一个单词NYW:复制N个单词虚拟机里linu8、x对u盘的操作首先在终端输入:fdis
4、数假定有三个进程R、W1、W2共享一个缓冲区B,而B每次只能存放一个整数。当缓冲区中无数时,进程R可以从输入设备上读入一个整数并存入B中;若存到B中的数是奇数,则允许进程W1将其取出打印;若是偶数,则允许进程W2将其取出打印。另外规定:进程R必须等B中的数被取出打印后才能再存放下一个数,进程W1或W2对每次存入的数只能打印一次并且都不能从空的缓冲区中取数。请用PV操作实现R、W1和W2三个进程的并发执行。代码:Intbuf;semaphores1=1;s2=0;s3=0;voidr(){p(s1);cout<<"input"<>buf;if
5、(buf%2)v(s2);elsev(s3);}voidw1(){p(s2);cout<<"w1'buf="<6、前目录的文件名及子目录名ls–l*.ccp文件拷贝cp*.c/mnt/usbrm删除文件rma.outmkdir创建一个子目录mkdir/usr/myDatarmdir删除一个子目录rmdir/usr/myDatachmod设置文件的存取权限chmod777myCC.shfdisk查看文件系统fdisk–lmount装载文件系统mount/dev/sda0/mnt/usbumount卸载文件系统umount/mnt/usbpwd显示当前工作目录pwdps显示当前运行的进程ps–akill删除运行中的进程kill3685cc基本使用实例用法结果说明ccex2.c7、编译后生成可执行目标文件a.outcc–oex2ex2.c编译后生成可执行目标文件ex2cc–I/mnt/usb/includeex2.c编译器编译过程除了在默认路径、还可以在指定的路径/mnt/usb/include下查找源文件包含的头文件cc–L/mnt/usb/libex2.c编译器在自动连接时,除了在默认路径、还可以在指定的路径/mnt/usb/lib下查找源文件用到的库文件.另外在命令状态下:DD:剪切一行NDD:剪切N行DW:剪切一个单词NDW:剪切N个单词P:粘贴YY:复制一行NYY:复制N行YW:复制一个单词NYW:复制N个单词虚拟机里linu8、x对u盘的操作首先在终端输入:fdis
6、前目录的文件名及子目录名ls–l*.ccp文件拷贝cp*.c/mnt/usbrm删除文件rma.outmkdir创建一个子目录mkdir/usr/myDatarmdir删除一个子目录rmdir/usr/myDatachmod设置文件的存取权限chmod777myCC.shfdisk查看文件系统fdisk–lmount装载文件系统mount/dev/sda0/mnt/usbumount卸载文件系统umount/mnt/usbpwd显示当前工作目录pwdps显示当前运行的进程ps–akill删除运行中的进程kill3685cc基本使用实例用法结果说明ccex2.c
7、编译后生成可执行目标文件a.outcc–oex2ex2.c编译后生成可执行目标文件ex2cc–I/mnt/usb/includeex2.c编译器编译过程除了在默认路径、还可以在指定的路径/mnt/usb/include下查找源文件包含的头文件cc–L/mnt/usb/libex2.c编译器在自动连接时,除了在默认路径、还可以在指定的路径/mnt/usb/lib下查找源文件用到的库文件.另外在命令状态下:DD:剪切一行NDD:剪切N行DW:剪切一个单词NDW:剪切N个单词P:粘贴YY:复制一行NYY:复制N行YW:复制一个单词NYW:复制N个单词虚拟机里linu
8、x对u盘的操作首先在终端输入:fdis
此文档下载收益归作者所有