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

网站月流量淘宝指数

网站月流量,淘宝指数,网站维护要多久时间,唐山盘古做网站多少钱1. 并发编程概念铺垫> 多个执行流【进程】看到同一份资源:共享资源。> 被保护起来的资源叫做临界资源。> 在进程中,涉及临界资源的程序段叫做临界区。【说人话就是程序中访问共享资源的代码】> 什么是互斥:任何时刻,只…

1. 并发编程概念铺垫

> 多个执行流【进程】看到同一份资源:共享资源

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

> 在进程中,涉及临界资源的程序段叫做临界区。【说人话就是程序中访问共享资源的代码】

> 什么是互斥:任何时刻,只允许一个执行流访问资源叫叫作互斥。【比如,一个进程在访问临界资源的时候,另一个进程无法访问,直到前者访问结束解锁,将锁交给后者,后者才能访问临界区!】

> 什么是同步:多个执行流,访问临界资源的时候,具有一定的顺序性,叫做同步。

> 所谓对共享资源的保护,本质上是对共享资源代码的保护【即对临界区的保护】。

2. 认识并理解信号量

什么是信号量呢?信号量本质就是计数器,用来描述临界资源中资源的多少。

我们的进程在访问临界资源时,并不是说,你想访问就访问。其实,临界资源也是分一块一块的,每个进程如果成功访问临界资源,那么这块临界资源就势必会被占用。一旦临界资源被占满了,后来的进程就无法再访问临界资源了。系统又是如何做到这一点的呢?所有进程在访问临界资源之前,都必须要先申请信号量【我们现在可以简单把它理解为一个整形变量的计数器,用来描述临界资源的多少】,一旦申请成功,计数器减减。至此,该进程就可以随时访问系统为其分配的临界资源。但是,如果资源不够,那么该进程就会被阻塞挂起。所以,信号量的本质是对资源的预定机制

细节一:信号量需要被所有进程访问,那么信号量本身就是共享资源。信号量需要被保护起来,那么对于信号量的操作必须是要原子性的。我们把申请信号量,计数器++叫做p操作,进程结束访问临界资源,计数器--叫做v操作。所以,信号量通过PV操作来完成资源的预定机制。【而这两个操作都必须是要原子性的,至于如何保证原子性后面再说】

细节二:只有1和0两态的信号量叫做二元信号量【也就是互斥】

细节三:信号量和通信有什么关系呢?为什么信号量会被归为进程间通信的范畴呢

首先,进程对资源的访问,都必须要先申请信号量,所以进程看到了同一份资源。其次,不只是传递数据才是进程间通信,同步互斥通知也是进程间通信。比如:在进程a申请信号量时,计数器为0,那么进程a申请信号量失败,进程a则阻塞挂起到等待队列中。有朝一日,进程b访问临界资源结束,释放资源,计数器++,进程a看到后被唤醒申请临界资源。在上面这个例子中,进程b通过信号量完成了对进程a的控制

3. 系统如何管理组织ipc

我们前面一直说,系统内部有描述共享内存|消息队列|信号量的结构体对象,我们也可以理解。但是,系统内部是如何管理组织这些结构体对象呢???

不急,我们先来看看一些有关消息队列和信号量的接口:

信号量创建接口:

信号量控制接口:

消息队列创建接口:

 消息队列控制接口:

通过观察以上的接口,我们发现描述这些ipc的结构体对象都有一个共性:就是它们都命名为struct xxxid_ds,并且第一个成员类型都是struct ipc_perm,而且ipc_perm中的第一个成员都是key

因此,我们可以得出一个结论:在Linux内核中,共享内存,消息队列,信号量都用key来唯一区分!并且它们被系统当做了同一种资源。 

事实上,在Linux内核中,有一种全局的数据结构来管理组织ipc,就是struct ipc_ids。其中,entries指针指向ipc_id_ary,ipc_id_ary中有一个结构叫柔性数组

 而该柔性数组中则管理了内核中的所有ipc,无论是共享内存,消息队列还是信号量。但是,系统又是如何区分不同的结构体呢【毕竟柔性数组若是没有相应的类型,我们就这能获得它指向元素的第一个成员】??我们可以这样理解,在创建控制不同类型的ipc时,我们使用的系统调用是不同的,内核中对柔性数组可以因此来区分不同类型的结构体,到时用得到的类型进行强转即可。至此,我们也终于明白了,xxxid为什么在不断的增长,因为他就是柔性数组的下标,我们也不用担心数组下标越界。当下标到达最大值时,管理柔性数组的结构体会对其下标进行回绕。

下面是部分内核图帮我们理解:

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

相关文章:

  • 邯郸做移动网站价格营业推广是什么意思
  • 免费网站排名大全软文推广案例大全
  • 深圳做网站建设的哪家效果好又便宜推广什么app佣金高
  • 网站是什么东西下载谷歌浏览器
  • 大型手机网站制作百度seo最成功的优化
  • 汽配网站开发什么是网络营销的核心
  • 怎么做网站 有空间深圳公司网络推广该怎么做
  • 项目管理过程五个阶段厦门seo结算
  • 网易企业邮箱登录口温州seo招聘
  • php网站开发图文教程百度收录入口提交查询
  • 网站建设洽谈问题优化大师电脑版下载
  • 生产管理网站开发google搜索下载
  • 郑州网站设计报价表如何写软文
  • 外贸公司代理注册关键词优化计划
  • 帮收款的接单平台鹤壁seo
  • 用ps如何做网站首页怎么做推广和宣传平台
  • 微信里面的小程序怎么设置seo网站首页推广
  • 做网站做产品推广文章
  • wordpress 思维导图重庆百度快速优化
  • 怎么查看网站建设时间舆情服务网站
  • 专业的做pc端网站世界足球排名前100
  • 百度手机端排名如何优化手机优化大师怎么退款
  • 百度怎样做网站并宣传网站亚马逊关键词快速优化
  • 网站上的3d怎么做的免费seo网站优化工具
  • 网站转让 备案软文推广广告公司
  • 网站建设(信奈辉煌电商)seo搜外
  • 自适应网站设计案例济南seo网站排名优化工具
  • 门户网站做济南seo整站优化招商电话
  • 长沙公积金网站怎么做异动免费域名邮箱
  • 有哪些网站可以做印度市场调研今日国内重大新闻