华科计算机操作系统实验报告,华科操作系统实验报告

《华科操作系统实验报告》由会员分享,可在线阅读,更多相关《华科操作系统实验报告(4页珍藏版)》请在人人文库网上搜索。

1、课程实验报告课程名称:操作系统原理专业班级: 学 号: 姓 名: 指导教师: 报告日期:计算机科学与技术学院目录目录 实验一:线程的同步 . 一、实验目的 . 二、实验内容 . 三、实验心得 . 实验二:誊抄实验的进程实现一、实验目的 . 二、实验内容 . 三、实验心得 . 实验三: Linux 文件目录操作一、实验目的 . 二、实验内容 . 三、实验心得 . 实验一:线程的同步、实验目的1、掌握 Linux 系统用户界面中键盘命令的使用。2、学会一种 Linux 下的编程环境。3、掌握 Linux 下进(线)程的概念。4、了解 Linux 进程同步与通信的主要机制,并通过信号灯操作实现进程间。

2、的同 步与互斥。二、实验内容1、程序要求 两个线程, 共享公共变量 a 线程 1 负责计算 (+1) 线程 2 负责打印2、运行环境 软件配置(含操作系统版本) :ubuntu - 硬件: PC3、源程序 源程序: #include #include #include #include int semid;int a=0;typedef union senumint val;struct semid_ds *buf; unsigned short *array; struct seminfo *_buf;SEM_CTL_UN;void P(int semid,int index) struct。

3、 sembuf sem;= index;= -1;)=0|strcmp(entry-d_name, .)=0)continue;); strcat(s,entry-d_name);lstat(s, &statbuf);/);closedir(dp);void main(void)char dir1000;int depth=0;scanf(%s,dir);printdir(dir,depth);return;4、实验结果实验结果截图如下:图 3-1 文件目录操作三、实验心得通过本次实验,我熟悉了 Linux文件系统的使用,了解了 Linux文件系统目 录结构;实现了查询指定目录下的文件及子目录信息、显示文件的类型、大小、 时间等信息、递归显示子目录中的文件信息等功能; 学习了 Linux 文件属性接口 和目录文件接口等方面的知识。文件系统能为用户程序所需要, 同时也为操作系统自身需要, 它为用户和操 作系统提供存储、 检测、共享和保护文件的手段, 通过本次实验我充分了解了文 件系统的重要性,这对我今后的学习有很大的帮助。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
实验一 Linux系统的安装及用户界面的使用 一.实验目的 1. 了解Linux系统的安装、熟悉系统的启动过程和使用环境。 2. 掌握Linux环境下vi编辑器的使用方法。 3. 掌握Linux系统中编辑、编译、调试、运行一个C语言程序的全过程。 二.实验内容 1、实验要求 1. 在VMWare虚拟机环境或真实物理机器上,安装一个Linux操作系统。 2. 体验Linux操作系统中X Windows系统的使用。 3. 尝试Linux系统键盘命令的使用,并熟练掌握常用的基本命令。 4. 掌握命令行方式下vi编辑器的使用。 5. 编写一段C程序,使用系统调用fork()创建两个子进程。各进程显示不同的信息,如父进程显示字符“a”,子进程分别显示字符“b”和“c”。多次运行观察显示结果,并分析产生这种执行效果的原因。 实验二 Linux进程控制 一.实验目的 1. 掌握进程的概念,明确进程和程序的区别。 2. 认识和了解并发执行的实质。 二.实验内容 1、实验要求 1. 编写一段程序,使用系统调用fork()创建两个子进程。各进程显示不同的信息,如父进程显示字符“a”,子进程分别显示字符“b”和“c”。多次运行观察显示结果,并分析产生这种执行效果的原因。 2. 修改上面编写的程序,将每个进程的输出由单个字符改为循环输出一句话,如父进程显示:“parent:”加上进程ID,子进程分别显示:“Child1:”(或“Child2:”)加上自己的进程ID。再观察程序执行时屏幕上出现的现象,并分析原因。 3.一个父进程创建一个子进程,子进程通过exec系统调用执行另一个文件。各自的代码中显示不同的信息,观察其运行结果,分析两个进程并发执行的效果。 4. 编写程序创建如图所示的进程树,在每个进程中显示当前进程ID和父进程ID。 实验三 Linux进程间通信 一.实验目的 (1) 分析进程争用临界资源的现象,学习解决进程互斥的方法; (2) 学习如何利用进程的“软中断”、管道机制进行进程间的通信,并加深对上述通信机制的理解; (3) 了解系统调用pipe( )、msgget( )、msgsnd( )、msgrcv( )、msgctl( )、shmget( )、shmat( )、shmdt( )、shmctl( )的功能和实现过程,利用共享存储区机制进行进程间通信。 二、实验内容 1、实验要求 (1) 进程的控制 修改已编制的程序,将每个进程输出一个字符修改为每个进程输出一句话,再观察程序执行时屏幕上出现的现象,并分析出现问题的原因,进一步理解各个进程争夺临界资源的情况。 如果在程序中使用系统调用locking( )来给每一个进程加锁,可以实现进程之间的互斥,试观察并分析出现的现象。 (2) 进程的软中断通讯 编制一段程序,实现进程的软中断通讯:使用系统调用fork( )创建两个子进程;再使用系统调用signal( )让父进程捕捉键盘上来的中断信号(即按Del键);在捕捉到中断信号后,父进程用系统调用kill( )向两个子进程发信号;子进程捕捉到信号后分别输出下列信息后终止: Child process1 is killed by parent! Child process2 is killed by parent! 父进程等待两个子进程都终止以后,输出如下信息后终止: Parent process in killed! (3) 进程的管道通讯 编制一段程序,实现进程的管道通讯:使用系统调用pipe( )建立一条管道线;两个子进程分别循环向这条管道写一句话: Child 1 is sending a message! Child 2 is sending a message! 而父进程则循环从管道中读出信息,显示在屏幕上。 实验报告 内含源代码
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值