操作系统
文章平均质量分 70
小栩栩
这个作者很懒,什么都没留下…
展开
-
可重入函数和线程安全的区别与联系
1 )什么是可重入函数? 可重入函数即表示可以被多个执行流重复进入,意味着只使用自己栈上的变量,可以允许有该函数的多个副本在运行,由于它们使用的是分离的栈,所以不会互相干扰。 举一个不可重入的例子: int global; int fun( int a ) { int temp; global = a; temp = gloabl*2; return t原创 2016-07-13 12:07:07 · 411 阅读 · 0 评论 -
对死锁的探究
(1)什么是死锁 死锁是进程死锁的简称,是由Dijkstra于1965年研究银行家算法时首先提出来的。它是计算机操作系统乃至并发程序设计中最难处理的问题之一。 (2)产生死锁的必要条件 〈1〉互斥条件即某个资源在一段时间内只能由一个进程占有,不能同时被两个或两个以上的进程占有。这种独占资源如CD-ROM驱动器,打印机等等,必须在占有该资源的进程主动释放它之后,其它进程才能占有该资源。这是由资原创 2016-07-15 11:04:33 · 4650 阅读 · 0 评论 -
生产者消费者模型和读者写者模型
消费者模型 生产者-消费者问题是一个经典的进程同步问题,生产者进程在生产产品,并将这些产品提供给消费者进程去消费。为使生产者进程与消费者进程能并发执行,在两者之间设置一个具有N个缓冲区的缓冲池,生产者进程将它所生产的产品放入一个缓冲区;消费者进程可从一个缓冲区中取走产品去消费。当缓冲区满的时候生产者就不能放,当缓冲区空的时候消费者就不能取。 以下是我在Linux下实现的生产者消费者模型: 读者原创 2016-07-19 15:17:31 · 2424 阅读 · 1 评论 -
Linux学习笔记之守护进程
在linux或者unix操作系统中,守护进程(Daemon)是一种运行在后台的特殊进程,它独立于控制终端并且周期性的执行某种任务或等待处理某些发生的事件。由于在linux中,每个系统与用户进行交流的界面称为终端,每一个从此终端开始运行的进程都会依附于这个终端,这个终端被称为这些进程的控制终端,当控制终端被关闭的时候,相应的进程都会自动关闭。但是守护进程却能突破这种限制,它脱离于终端并且在后台运行,并原创 2016-07-20 20:30:46 · 322 阅读 · 0 评论 -
多进程和多线程的区别
转自:http://blog.csdn.net/hairetz/article/details/4281931/ 很想写点关于多进程和多线程的东西,我确实很爱他们。但是每每想动手写点关于他们的东西,却总是求全心理作祟,始终动不了手。 今天终于下了决心,写点东西,以后可以再修修补补也无妨。 一.为何需要多进程(或者多线程),为何需要并发? 这个问题或许本身都不是个问题。但是对于转载 2016-08-02 23:23:44 · 278 阅读 · 0 评论