LINUX系统用户界面进线程同步与通信.PPT

上传人:国*** 文档编号:954378 上传时间:2018-11-09 格式:PPT 页数:10 大小:187KB
下载 相关 举报
LINUX系统用户界面进线程同步与通信.PPT_第1页
第1页 / 共10页
LINUX系统用户界面进线程同步与通信.PPT_第2页
第2页 / 共10页
LINUX系统用户界面进线程同步与通信.PPT_第3页
第3页 / 共10页
LINUX系统用户界面进线程同步与通信.PPT_第4页
第4页 / 共10页
LINUX系统用户界面进线程同步与通信.PPT_第5页
第5页 / 共10页
点击查看更多>>
资源描述

1、实验三、 LINUX系统用户界面实验四、进 (线 )程同步与通信一、实验目的1、掌握 Linux系统中,图形界面和键盘命令的使用。2、学会一种 Linux下的编程环境。3、 掌握 Linux下 进程、线程 的概念。4、 了解 Linux进程 同步、通信 的主要机制,并通过 信号灯 操作实现进程间的同步Date 1二、预备知识1、 Linux下的信号灯及其 P、 V操作在 Linux中信号灯是一个 数据集合 ,用户可使用该集合的每个 元素 作为一个信号灯。信号量表0 1 2 3 4 50 1信号量数组012nDate 2( 1)创建一个指定索引的 信号灯id=semget( key, count

2、, flag )key: 信号量表 的一个索引序号,指定了一个数组count: 信号量数组 的大小flag:规定内核在特定情况下的执行动作id:返回的描述符 (类似于 open文件的描述符 )( 2)对信号灯数组操作的 一般形式 (Unix) semop( id, oplist, cont )oplist :信号量数组中, 某个元素 的下标count:操作数。为正表示 V操作;为负表示 P操作Date 3( 3)对信号灯数组控制操作的 一般形式 (Unix) semctl(id, number, cmd, arg )number:信号量数组中, 某个元素 的下标 cmd : 是一个控制操作命令

3、arg :是一个联合结构内核根据 cmd的值解释 arg如: 用于给信号灯赋初值Date 42、线程的操作( 1)线程创建pthread_create( pthread_t *thread, pthread_attr_t *attr,void *(*start_routine)(void *) , void *arg );pthread_t *thread:指定的线程标识void *(*start_routine)(void *):线程的执行函数void *arg:函数的参数Date 5( 2)线程挂起pthread_join( pthread_t th, void *thread_retur

4、n );功能:挂起当前线程直到由参数 th指定的线程终止,才被唤醒(用于控制线程的 执行 次序 )Date 63、共享内存使用共享内存,是运行在同一计算机上的多个进程,进行进程间通信的最快的方法。012n共 享存储区表 区 表进程表 本进程区表Date 7( 1)创建、或打开共享存储存区shmid=shmget (key, size, flag)key:指定的共享存储区表索引size :存储区中的字节数flag:规定内核在特定情况下的执行动作shmid:返回的描述符( 2)将共享存储区域 附接到 进程的地址空间 virtaddr=shmat(shmid, addr, flags) addr :

5、 用户想要的 共享存储区 附接的虚地址flags: 规定内核在特定情况下的执行动作virtaddr: 系统返回的 共享存储区 附接的虚地址Date 84、进程的创建及重新执行一个程序forkexecv5、编辑、 编译vicc o test -g test.c lpthread cc o sub1 sub1.cDate 9三、实验内容线程、子进程的创建1、模拟二个 线程 共享 一个缓冲区 的同步(test)2、模拟二个 进程 共享 一个缓冲区 的同步(main、 sub1、 sub2)要解决的问题: 在屏幕上怎么才能看到 进程等待 ?3、程序的 扩 充及改 进(1)用某种方式在屏幕上 显 示:送数据 到 缓 冲区、及从 缓 冲区 取数据(2) 将同步模型改 为 其他同步 问题Date 10

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 重点行业资料库 > 1

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。