1 编写守护进程基本规则1)umake(0)将文件模式创建屏蔽字设置为02)fork之后,父进程exit3)子进程调用setsid4)更改工作目录chdir("/")5)关闭所有打开的文件描述符6)在/dev/null上打开文件描述符1,2,32 守护进程出错处理产生日志消息的三种方式:1)内核进程...
分类:
系统相关 时间:
2014-12-22 12:35:58
阅读次数:
200
在前面的文章中介绍了五种 I/O 模型《I/O 模型》,这里介绍 I/O 模型中 I/O 多路复用在 TCP 套接字编程中的使用。在 I/O 多路复用中主要是 select 和 poll 函数的使用。
select 函数
该函数允许进程指示内核等待多个事件中的任何一个发生,并只在一个或多个事件发生或超过指定时间后才被唤醒。进程调用 select 函数是告知内核,进程对哪些描述...
分类:
其他好文 时间:
2014-12-13 17:57:48
阅读次数:
166
1. idle是什么
简单的说idle是一个进程,其pid号为 0。其前身是系统创建的第一个进程,也是唯一一个没有通过fork()产生的进程。在smp系统中,每个处理器单元有独立的一个运行队列,而每个运行队列上又有一个idle进程,即有多少处理器单元,就有多少idle进程。系统的空闲时间,其实就是指idle进程的"运行时间"。既然是idle是进程,那我们来看看idle是如何被创建,又具体做了...
分类:
系统相关 时间:
2014-11-12 10:37:42
阅读次数:
232
Linux内核-进程调度
1.多任务
#抢占式多任务:由调度程序来决定什么时间停止一个进程的运行
#进程的时间片:分配给每个可运行进程的处理器时间段
2.Linux的进程调度
#O(1)调度程序
#反转楼梯最后期限调度算法(RSDL)
#完全公平调度算法(CFS)
3.策略
#I/O消耗型和处理器消耗型进程:
...
分类:
系统相关 时间:
2014-10-24 18:57:28
阅读次数:
196
1 基础概念
信号量在创建时需要设置一个初始值,表示同时可以有几个任务可以访问该信号量保护的共享资源,初始值为1就变成互斥锁(Mutex),即同时只能有一个任务可以访问信号量保护的共享资源。
一个任务要想访问共享资源,首先必须得到信号量,获取信号量的操作将把信号量的值减1,若当前信号量的值为负数,表明无法获得信号量,该任务必须挂起在该信号量的等待队列等待该信号量可用;若当前信号量的值为...
分类:
其他好文 时间:
2014-10-23 12:35:07
阅读次数:
166
1 基础概念
自旋锁与互斥锁有点类似,只是自旋锁不会引起调用者睡眠,如果自旋锁已经被别的执行单元保持,调用者就一直循环在那里看是否该自旋锁的保持者已经释放了锁,"自旋"一词就是因此而得名。
由于自旋锁使用者一般保持锁时间非常短,因此选择自旋而不是睡眠是非常必要的,自旋锁的效率远高于互斥锁。
信号量和读写信号量适合于保持时间较长的情况,它们会导致调用者睡眠,因此只能在进程...
分类:
其他好文 时间:
2014-10-23 10:45:39
阅读次数:
251
Linux内核-进程管理
1.进程
#内核调度的对象是线程,不是进程
#对Linux而言,线程只是特殊的进程
#进程提供两种虚拟机制:虚拟处理器、虚拟内存
#创建进程通过fork()来从父进程复制创建进程
2.进程描述符
#任务队列:双向链表(每一项都是task_struct--->进程描述符)
#Linux通过slab分配器...
分类:
系统相关 时间:
2014-10-19 14:19:49
阅读次数:
214
linux中O(1)调度算法与完全公平(CFS)调度算法...
分类:
系统相关 时间:
2014-10-02 19:43:53
阅读次数:
3939
系统调用 是一个软中断,API函数,让上层应用陷入内核进程管理 进程调度、调度算法、进程三态 进程是CPU调度资源的最小单位 forkVFS虚拟文件管理 在Linux之下,一切设备均是文件 驱动总线模型2.4 2.6(真正)支持pnp ext3 ext2 vfat文件管理系统 ----...
分类:
系统相关 时间:
2014-09-21 20:33:01
阅读次数:
241
进程就是处理执行期的程序(目标代码存放在某种存储介质上)。查进程并不仅仅局限于一段可执行程序代码。通常进程包括:打开的文件挂起的信号内核内部数据处理器状态地址空间一个或多个执行线程存放全局变量的数据段对linux而言,线程是特殊的进程,并不特别区分。在现代操作系..
分类:
系统相关 时间:
2014-09-08 03:19:26
阅读次数:
398