课 程 实 验 报 告
课程名称: 操 作 系 统 原 理
专业班级: 学 号: 姓 名: 指导教师: 报告日期:
计算机科学与技术学院
目录
目录 ........................................................................ 2 实验一:线程的同步 ........................................................... 3
一、实验目的 ............................................................. 3 二、实验内容 ............................................................. 3 三、实验心得 ............................................................. 4 实验二:誊抄实验的进程实现 ................................................... 4
一、实验目的 ............................................................. 4 二、实验内容 ............................................................. 4 三、实验心得 ............................................................. 4 实验三:Linux文件目录操作 ................................................... 4
一、实验目的 ............................................................. 4 二、实验内容 ............................................................. 4 三、实验心得 ............................................................. 4
实验一:线程的同步
一、实验目的
1、掌握Linux系统用户界面中键盘命令的使用。 2、学会一种Linux下的编程环境。 3、掌握Linux下进(线)程的概念。
4、了解Linux进程同步与通信的主要机制,并通过信号灯操作实现进程间的同步与互斥。
二、实验内容
1、程序要求
两个线程,共享公共变量a 线程1负责计算(+1) 线程2负责打印 2、运行环境
软件配置(含操作系统版本):ubuntu - 硬件:PC 3、源程序
源程序: #include <> #include <> #include <>
#include
int semid; int a=0;
typedef union senum {
int val;
struct semid_ds *buf; unsigned short *array; struct seminfo *_buf; }SEM_CTL_UN;
void P(int semid,int index) {