当前位置: 首页 > wzjs >正文

深圳建立网站代发百度首页排名

深圳建立网站,代发百度首页排名,软件商店下载电脑版官网,江门移动网站建设公司通过命名管道队共享内存的数据发送进行保护的bug: 命名管道挂掉后,进程也挂掉了。 6.systemV消息队列 原理:进程间IPC:原理->看到同一份资源->维护成为一个队列。 过程: 进程A,进程B进行通信。 让操作系统提供一个队列结构,…

通过命名管道队共享内存的数据发送进行保护的bug:
命名管道挂掉后,进程也挂掉了。

6.systemV消息队列

原理:进程间IPC:原理->看到同一份资源->维护成为一个队列。

过程:

进程A,进程B进行通信。
让操作系统提供一个队列结构,A数据放在队列结点,把结点放在OS内部,B也这么干
消息队列可以实现双向通信

进程A放数据,还要放type,
进程A那数据,只拿type和自己不一样的数据。来区分自己和别的数据

结论:

结论1:消息队列,提供了一种进程给另一种进程发送有类型数据块的方式。区分那个数据是我要的,那个数据是我发的。

方法:入队列,出队列,

结论2:消息队列存在多个,OS要对消息队列进行管理->先描述,再组织。
::


消息队列的结构体:


struct msgid_ds
{
}消息队列
struct node{
}结点。


结论3:两个进程怎么保证自己看到是同一个消息队列,两个进程约定一个key,再把key放在消息队列里面。跟共享内存一样。

消息队列的调用接口:

msgget:创建消息队列
    key_t key    :
    int msgflag:
跟共享内存是一样的。
msgctl:删除消息队列

消息队列:结构体


消息队列结构体:
struct msgid_ds{
stryct ipc_prem sg perm

}

perm信息
struct perm
{
    key_t key
}
共享内存的创建基本是保持一致的,除了需要type进行区别


msgsnd:发数据

msgrcv:收数据,msgtype!!!

三种ipc通信

ipcs -q:就看消息队列

下面那个是删除 

 msgsize():msgdata的大小,type必须大于0

---------------------------------------------------------------------------------------------------------------------------------
这种相似性,叫做system V标准。 

---------------------------------------------------------------------------------------------------------------------------------

7.system V信号量

为什么要信号量

解决保护机制引入->信号量 

基本概念

• 多个执⾏流(进程),能看到的同⼀份公共资源:共享资源

• 被保护起来的资源叫做临界资源

• 保护的⽅式常⻅:互斥与同步

• 任何时刻,只允许⼀个执⾏流访问资源,叫做互斥

• 多个执⾏流,访问临界资源的时候,具有⼀定的顺序性,叫做同步

• 系统中某些资源⼀次只允许⼀个进程使⽤,称这样的资源为临界资源或互斥资源。

• 在进程中涉及到互斥资源的程序段叫临界区。你写的代码=访问临界资源的代码(临界区)+不访问 临界资源的代码(⾮临界区)

• 所谓的对共享资源进⾏保护,本质是对访问共享资源的代码进⾏保护

互斥:

怎么保护:只允许一个执行流访问资源->互斥
 

保护临界区的一种手段

!!!!!!!!!!!!!!

多个执行流,访问临界资源的时候,具有一定的顺序性,叫做同步。->一个人访问完后,通知下一个人继续访问,保证临界区的安全。

原子性:要么做,要么就不做


申请资源,申请锁。
访问资源,锁是要共享的

谁来保证锁的安全->申请锁的时候,就需要原子性的概念了。

7-2信号量

1.信号量是什么?

本质是一个计数器,用来表示,临街资源中,资源的数量是多少。

2.理解信号量 


电影院就是共享内存,把共享内存按照不同的区域,部分使用,
1.不要访问同一个位置
2.不要放过多的进程进来

信号量本质是个计数器,表述的是临界资源中,资源数量的多少

所有进程,访问临界资源中的一小块,就修现申请信号量
进程访问资源前,现申请信号量,本质是:对资源的预定机制


过程:进程访问资源,先对信号量进行申请,申请后,信号量--,如果信号量为0,那么就不会给你
 

细节1:信号领本身就是共享资源
申请 -- ,原子性--> p操作

sem ++,原子性-->v操作,归还资源

细节2:
信号量只有1或者0的两态的信号量叫做二元信号量。--->这就是互斥
二元信号量的本质就是互斥 

3.共享资源使用的问题

信号量和通信有什么关系???
1.先访问信号量P,每个进程都得先看到同一个信号量!!
system V可以解决这个问题
2.不是传递数据,是通信IPC,通知,同步互斥,也算
传递控制信息

 4.信号量接口

1.创建信号量:
semeget:
key:
nsems:信号量的个数
semflag:权限

返回值:信号量级别的返回值semid
 


2.查看信号量资源:
ipc -s:
semid:返回值
ower:谁创建的
perms:权限
nsem:数量
 

3.删除信号量: 

4.对信号量进行操作
semop

sembuf:结构体
sem_op:操作P/V
flg:暂时不管
 

5.初始化信号量:

cmd->SETVAL

细节信号量的初始值是多少???

semctl:还
对信号量新进参数初始化。

setval:设计在信号量集中第几个信号量的值

senum:信号量集里面信号量的下标

...:可变参数,可传入结构体semun

senum = 0,cmd = SETCAL,对信号量集中下标为0的用“...”指向的结构体进行初始化

查看信号量ipc -s

OS内部存在大量的信号量集

操作系统也要对信号量进行挂历->先描述在,在组织。

信号量结构体:
struct ipc_perm_sem_perm

ipc_perm:第一个资源都是key

struct XXXid_ds的结构!!! - >key!

大图总结:(手机再看一遍)

 加餐:基于简单建造者模式的消息队列

http://www.dtcms.com/wzjs/409372.html

相关文章:

  • 计算机培训机构培训出来好就业吗厦门百度快速优化排名
  • 设计素材网站特点seo运营是什么意思
  • 做外汇著名网站搜索引擎优化是做什么的
  • 建设网站改版网站客服
  • 网站建设意识形态关键词排名优化方法
  • 怎么做酒店网站专业黑帽seo
  • 黑彩网站怎么做什么关键词能搜到资源
  • wordpress搬家后分类打不开成都专业的整站优化
  • 长春专业网站制作四川seo平台
  • 法院网站建设app广告联盟平台
  • 福州 网站开发公司高州网站seo
  • 浦江建设局网站seo快速培训
  • 网页设计 网站建设 哪个好seo数据分析
  • 广州建站网络公司电销精准客户资源
  • 做一网站多少钱福建seo排名
  • 普宁网站建设怎么创建网站免费建立个人网站
  • 怎么搭建免费网站中国疾控卫生应急服装
  • 公司怎么建网站做推广推广app的软文案例
  • 房山营销型网站制作开发seo推广骗局
  • 东营最新消息今天美国seo薪酬
  • 网站icp申请专业推广引流团队
  • 网站规划书包括哪些方面怎样推广品牌
  • 网站开发作为固定资产怎么摊销aso关键词覆盖优化
  • 武汉网站制作开发小说推广关键词怎么弄
  • 怎么做免费个人网站免费行情软件网站下载大全
  • 专门做外贸机械的网站百度百家号登录入口
  • 长沙百度搜索网站排名重庆人力资源和社会保障网官网
  • 天河建设网站平台专业网站建设
  • 视频网站开发工具网推app怎么推广
  • 佛山微网站建设多少钱seo免费课程视频