自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

进击的小学生

To be or not to be, this is a question.

  • 博客(12)
  • 资源 (10)
  • 论坛 (1)
  • 收藏
  • 关注

原创 61-System V 信号量(生产者与消费者模型)

学过 OS 的同学一定知道这个模型,这里再简单回忆一下。最后给出基于 System V 信号量的完整实现。1. PV 原语P(S) :表示将资源 S 数量减 1,即 S = S - 1. 如果 S <= 0,该进程进入等待。V(S):表示将资源 S 数量加 1,即 S = S + 1. 如果 S > 0,该进程继续执行,否则释放一个正在等待的进程。PV 操作是原子的,原子操作可以理解为一次性执

2017-01-15 10:44:31 1766 10

原创 60-System V 信号量(操作)

要掌握信号量,只要熟练掌握对信号量的请求和释放(归还)就行了,也就是 semop 函数,本质上它就是用来对信号量进行加或减的操作。当然,semctl 也很重要,它主要用来获取和设置 ipc 内核对象,另外它也可以获取和设置信号量的值。1. 创建和获取信号量函数 semget 主要是用来创建和信号量的 ipc 内核对象,同时返回其 id 号。函数原型int semget(key_t key, in

2017-01-14 15:12:05 1317

原创 59-System V 信号量(简介)

不同于 System V 共享内存和消息队列,这两者都是用于交换数据,而 System V 信号量通常用来做进程同步。1. System V 信号量简介准确的说 System V 信号量应该叫 System V 信号量集,因为它可以同时操作多个信号量。多个信号量保存在数组中。你可以把信号量理解成一种资源数量,当你使用这种资源的时候,信号量的值就会减少,当你归还资源的时候,信号量的值就增多。在信号量中

2017-01-13 19:54:19 1479

原创 58-System V 消息队列

在有了共享内存的基础后,消息队列对你来说就是 A piece of cake 了。同样我们需要创建消息队列的内核对象,获取它的 id,然后操控它。1. 消息队列简介消息队列本质上是位于内核空间的链表,链表的每个节点都是一条消息。每一条消息都有自己的消息类型,消息类型用整数来表示,而且必须大于 0.每种类型的消息都被对应的链表所维护,图1 展示了内核空间的一个消息队列: 图1 位于内核空间的消息

2017-01-13 14:33:48 1530 5

原创 57-System V 共享内存-shmctl

在很久以前,我们学过一个函数 fcntl,当时学习它时挺费劲,因为一个函数,竟然有如此多的功能。今天要学习 shmctl 函数,也是一样。这种以 cntl/ctl 为后缀的函数,往往都具备这样的特性:它们都有一个命令控制参数,你传递不同的命令,这个函数有具备着不同的功能,可谓身兼数职说的就是它吧。1. shmctl 函数1.1 函数原型int shmctl(int shmid, int cmd, s

2017-01-12 20:19:41 2141

原创 56-System V 共享内存-shmat 与 shmdt

在理解内核对象后,接下来谈谈 System V 共享内存的 shmat 和 shmdt 函数。1. shmget 函数再次回顾一下 shmget 函数。图1 中左侧表示的是一个进程空间(未区分内核空间与用户空间),进程空间中并非所有的线性地址被分配(或者说并非所有线性地址都被映射到物理页),黑色部分表示的是未分配的线性地址。 图1 进程空间与物理页 当你使用 shmget 创建出共享内存后,

2017-01-12 14:09:52 1571

原创 55-键值与 ftok

在上一篇博文中,创建和获取 ipc 内核对象的方式所使用的键值都是需要事先约定好的。通常在编写程序的时候,这个键值可以放在公共头文件中,这样不同进程间如果需要获取相同的 ipc 内核对象,就使用公共头文件中约定好的 key 值。当然你也可以通过命令行传参数的方式来指定 key 值。本文介绍一个函数 ftok,它可以根据路径和一个整数生成 key 值。如此你就可以约定好一个路径以及一个整数来取得相同的

2017-01-09 18:18:53 1188

原创 54-System V IPC 内核对象

在你基本掌握了共享内存的使用方法后,接下来我们需要继续深入 System V IPC。1. IPC 内核对象每个 IPC 内核对象都是位于内核空间中的一个结构体。它长什么样现在我们还不需要关心,所以现在你只需要知道这样的结构体存在就够了。具体的对于共享内存、消息队列和信号量,他们在内核空间中都有对应的结构体来描述。当你使用 get 后缀创建内核对象时,内核中就会为它开辟一块内存保存它。只要你不显式删

2017-01-09 16:41:27 1582

原创 53-System V 共享内存初体验

为了能快速掌握 System V IPC,本篇以最少量的文字让初学者先初步掌握共享内存,后续文章,再慢慢深入。共享内存只是 System V IPC 中的一种,前面的进程通信总览中我们讲过 System V IPC 包括了共享内存、消息队列和信号量。1. 共享内存为了能够快速上手共享内存,下面直接介绍一下大致的方法:根据已知的键(key) 使用 get 函数获取或者创建内核对象的 id 号。根据

2017-01-05 11:02:48 1716 2

原创 52-有名管道

有名管道打破了无名管道的限制,进化出了一个实实在在的 FIFO 类型的文件。这意味着即使没有亲缘关系的进程也可以互相通信了。所以,只要不同的进程打开 FIFO 文件,往此文件读写数据,就可以达到通信的目的。不过 FIFO 文件与我们最开始讲的本地文件通信还是有着本质的区别,它长着普通文件的脑袋,却有着无名管道的基因。1. 创建 FIFO 类型文件通过命令 mkfifo 创建如:$ mkfifo

2017-01-04 11:30:03 1629 6

原创 51-无名管道

这恐怕是最古老的 linux 进程间通信的方式了。这种方式简单而又强大,尤其适合有亲缘关系的进程(通常是父子进程)间通信了。实际上,你或多或少的都用过管道这种通信方式,比如你在使用的 linux 命令中的管道连接符 |。所以,对于管道来说,你应该有一种亲切感。1. 管道为何物?如果你实践过前面我们讲过的使用本地文件进行进程间通信的方式,那么你就可以把管道理解成位于进程内核空间(如果你不记得这个概念,

2017-01-03 18:43:13 1674 10

原创 50-进程间通信总览

在上一篇里,使用了读写文件的方式来实现进程间通信,使用了信号量完成了进程间的同步,虽然这种实现方式也能够完成任务,但是缺点就在于它需要读写磁盘。所以 linux 系统提供了多种多样的进程间通信的手段,帮助我们实现进程间通信。不过,在讲解 Linux 进程间通信(后面简称 Linux IPC)之前,需要了解 Linux IPC的分类。1. Linux IPC 分类说分类不太准确,不过还是先按照此方式大

2017-01-03 17:48:15 1297

EasyDraw 3.0(事故树绘制)

EasyDraw 事故树软件,3.0 版本,完全免费。排版更加精致,支持生成 svg 矢量图,png/jpeg 图形。

2018-11-02

梯度下降法VS2008_C++

梯度下降法完整的VS2008代码。博客地址:http://blog.csdn.net/q1007729991/article/details/40382071

2014-10-23

事故树绘制软件easydraw免费V2.19

免费版本的事故软件,实现所有计算功能,节点自动调整,建树判错等功能!支持导出图片。

2013-12-13

GCC 内联汇编

gcc 内联汇编 1 AT&T 与 INTEL 的汇编语言语法的区别 1.1 大小写 1.2 操作数赋值方向 1.3 前缀 1.4 间接寻址语法 1.5 后缀 1.6 指令 2 GCC 内嵌汇编 2.1 简介 2.2 内嵌汇编举例 2.3 语法 2.3.1 汇编语句模板 2.3.2 输出部分 2.3.3 输入部分 2.3.4 限制字符 2.3.5 破坏描述部分 2.4GCC 如何编译内嵌汇编代码

2018-10-28

版本控制之道-使用 Git

程序员修炼三部曲第一部,Travis Swicegood 著,董越、付昭伟等译

2018-10-28

事故树绘制分析软件

简单易用,功能其全的一个事故树绘制分析软件,用以计算最小割集,最小径集,顶上事件概率,概率重要度,结构重要度,临界重要度,计算方法可选。 计算的结果可以保存到本地txt文本文件,方便您复制到您需要的地方,给您的论文写作也会带来极大方便。概率计算提供一套精确算法,可以根据您所提供的数据计算出精确结果。当然您也可以选择近似算法,本软件提供首项近似法和平均近似法的计算结果,给您多种选则。软件非常简单易用,自己几分钟就可以学会,谢谢您的使用!

2012-12-17

增强版事故树绘制与分析程序

1.完善建立事故树的过程 2.事故树节点自动排列,免去手工排列节点的烦恼 3.编号自动生成,免去手工编号的繁琐 4.自动检测是否有闭环回路,防止用户建立逻辑上错误的事故树 5.自动检测用户是否在一个事件下重复添加 6.相同事件下建立节点,会进行同步复制,提高建树效率 7.相同事件下删除节点,会进行同步删除 8.手工拖动节点时自动对齐 9.修改节点信息,所有相同节点进行同步修改 10.画布大小自定义 11.画布颜色,事件框颜色,门颜色,文字颜色可以自定义 12.完美的一键保存bmp图片功能 13.编码树与文字树一键切换 14.列出事件清单,方便用户一次性输入事件概率 15.完善顶上事件概率计算,提供最小割集逼近法,无重复基本事件计算法,首项近似法,以及事件状态组合法。 16.优化最小割集、径集算法,提高计算速度 17.结构重要度删除不必要的状态组合法,仅提供公式三计算结果 18.提高了概率重要度、关键重要度的计算精度

2013-04-19

汇编_单片机_matlab_Multisim等

注意:此为TXT文档,里面都有下载地址,你所要下载的东东都在我的u115网盘里! 静态反汇编工具W32Dasm.rar 51单片机种子全.rar win7系统工具.rar matlab详细教程.rar Multisim教程.exe 中国象棋经典残局《适情雅趣》_0.1.exe UltraEdit-32_V16.20.0.1009_汉化版(30天免费使用).exe 精美PPT模板_2009.11.30.zip VC6.0简体中文企业版.rar

2010-11-24

MFC 音乐播放器

基本上实现了常用的播放功能,可以自动下一首,通过音量条控制音量,实现时间进度栏,实现将添加到列表的歌曲文件列表存储到本地,下次启动的时候依然还在,更多功能等待你的发觉,不要说分高,学习才是王道,尊重作者的劳动成果,花了两天时间写的。

2012-12-12

k近邻_kd-tree_kd树_vs2008_C++代码

vs2008写的Kd树泛型算法,支持k近邻查询。

2014-12-15

--Allen--的留言板

发表于 2020-01-02 最后回复 2020-01-02

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人 TA的粉丝

提示
确定要删除当前文章?
取消 删除