E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
Linux2.6
Nginx原理
这得益于Nginx使用了最新的epoll(
Linux2.6
内核)和kqueue(freebsd)网络I/O模型,而Apache则使用的是传统的select模型。
zhanxinggui
·
2013-10-14 14:14
Linux
engine
代理服务器
服务器架构
apache与Nginx的主要区别(内核多路I/O之select与epoll的区别)
这得益于Nginx使用了最新的epoll(
Linux2.6
内核)和kqueue(freebsd)网络I/
xygl2009
·
2013-10-13 19:00
socket 由浅入深 系列------select Epoll poll 比较(六)
Epoll可是当前在Linux下开发大规模并发网络程序的热门人选,Epoll 在
Linux2.6
内核中正式引入,和select相似,其实都I/O多路复用技术而已,并没有什么神秘的。
u010236550
·
2013-10-11 22:00
linux2.4到
linux2.6
内核调度(10)
一个进程结束运行时,如果它的交互程度比父进程低(sleep_avg 较小),那么核心将在 sched_exit() 中对其父进程的 sleep_avg 进行调整,调整公式如下(以 child_sleep_avg 表示子进程的 sleep_avg):sleep_avg = sleep_avg*EXIT_WEIGHT/(EXIT_WEIGHT+1) + child_sleep_avg/(EXIT_WE
wenph2008
·
2013-10-08 12:00
linux2.4到
linux2.6
内核调度(11)
当前 runqueue 中没有就绪进程了,则启动负载平衡从别的 cpu 上转移进程,再进行挑选(详见"调度器相关的负载平衡"); 如果仍然没有就绪进程,则将本 cpu 的 IDLE 进程设为候选。 在挑选出 next 之后,如果发现 next 是从 TASK_INTERRUPTIBLE 休眠中醒来后第一次被调度到(activated>0),调度器将根据 next 在就绪队列上等待的时长重新调整进程
wenph2008
·
2013-10-08 12:00
linux2.4到
linux2.6
内核调度(9)
(NS_TO_JIFFIES((p)->sleep_avg) * MAX_BONUS / MAX_SLEEP_AVG) - MAX_BONUS/2如下图所示:再用这个 bonus 去减静态优先级就得到进程的动态优先级(并限制在 MAX_RT_PRIO和MAX_PRIO 之间),bonus 越小,动态优先级数值越大,优先级越低。也就是说,sleep_avg 越大,优先级也越高。MAX_BONUS 定
wenph2008
·
2013-10-08 12:00
linux2.4到
linux2.6
内核调度(8)
图2:现在的current4. 新的运行时间片表现2.6 中,time_slice 变量代替了 2.4 中的 counter 变量来表示进程剩余运行时间片。time_slice 尽管拥有和 counter 相同的含义,但在内核中的表现行为已经大相径庭,下面分三个方面讨论新的运行时间片表现:1) time_slice 基准值和 counter 类似,进程的缺省时间片与进程的静态优先级(在 2.4 中
wenph2008
·
2013-10-08 12:00
linux2.4到
linux2.6
内核调度(7)
5) activated表示进程因什么原因进入就绪态,这一原因会影响到调度优先级的计算。activated 有四个值:-1,进程从 TASK_UNINTERRUPTIBLE 状态被唤醒; 0,缺省值,进程原本就处于就绪态; 1,进程从 TASK_INTERRUPTIBLE 状态被唤醒,且不在中断上下文中; 2,进程从 TASK_INTERRUPTIBLE 状态被唤醒,且在中断上下文中。 activ
wenph2008
·
2013-10-08 12:00
linux2.4到
linux2.6
内核调度(5)
调度系统代码结构 绝大多数调度系统的实现代码,包括 runqueue 结构的定义,都在[kernel/sched.c]文件中,这样做的目的是将所有调度系统的代码集中起来,便于更新和替换。除非特别注明,本文所引代码和函数实现均位于[kernel/sched.c]中。3. 改进后的 task_struct2.6 版的内核仍然用 task_struct 来表征进程,尽管对线程进行了优化,但线程的内核表示
wenph2008
·
2013-10-08 12:00
linux2.4到
linux2.6
内核调度(6)
时间相关的核心应用通常围绕时钟中断进行,在
Linux2.6
中,系统时钟每1毫秒中断一次(时钟频率,用HZ宏表示,定义为1000,即每秒中断1000次,--2.4中定义为100,很多应用程序也仍然沿用100
wenph2008
·
2013-10-08 12:00
linux2.4到
linux2.6
内核调度(4)
7) struct mm_struct *prev_mm保存进程切换后被调度下来的进程(称之为 prev)的 active_mm 结构指针。因为在 2.6 中 prev 的 active_mm 是在进程切换完成之后释放的(mmdrop()),而此时 prev 的 active_mm 项可能为 NULL,所以有必要在 runqueue 中预先保留。8) unsigned long nr_runnin
wenph2008
·
2013-10-08 12:00
linux2.4到
linux2.6
内核调度(3)
arrays 二元数组是两类就绪队列的容器,active 和 expired 分别指向其中一个。active 中的进程一旦用完了自己的时间片,就被转移到 expired 中,并设置好新的初始时间片;而当 active 为空时,则表示当前所有进程的时间片都消耗完了,此时,active 和 expired 进行一次对调,重新开始下一轮的时间片递减过程(参见"调度器")。回忆一下 2.4 调度系统,进程
wenph2008
·
2013-10-08 12:00
linux2.4到
linux2.6
内核调度(2)
1) prio_array_t *active, *expired, arrays[2]runqueue 中最关键的数据结构。每个 CPU 的就绪队列按时间片是否用完分为两部分,分别通过 active 指针和 expired 指针访问,active 指向时间片没用完、当前可被调度的就绪进程,expired 指向时间片已用完的就绪进程。每一类就绪进程都用一个 struct prio_array 的结
wenph2008
·
2013-10-08 12:00
linux2.4到
linux2.6
内核调度(1)
本文从 Linux 2.4 调度系统的缺陷入手,详细分析了 Linux 2.6 调度系统的原理和实现细节,并对与调度系统相关的负载平衡、NUMA 结构以及实时性能进行了分析和评价。文末,作者从调度系统的发展和实现出发,对 Linux 的发展特点和方向提出了自己的看法。1.前言Linux 的市场非常广阔,从桌面工作站到低端服务器,它都是任何商用操作系统的有力竞争对手。目前,Linux 正全力进军嵌入
wenph2008
·
2013-10-08 12:00
Linux epoll详解
当然,这不是2.6内核才有的,它是在2.5.44内核中被引进的(epoll(4)isanewAPIintroducedinLinuxkernel2.5.44),它几乎具备了之前所说的一切优点,被公认为
Linux2.6
lingfengtengfei
·
2013-10-08 08:00
Linux系统内核中的Device Mapper机制
Devicemapper是
Linux2.6
内核中提供的一种从逻辑设备到物理设备的映射框架机制,在该机制下,用户可以很方便的根据自己的需要制定实现存储资源的管理策略,当前比较流行的Linux下的逻
bingqingsuimeng
·
2013-10-08 08:00
[置顶] 《Linux启动过程分析》init进程挂载其他重要文件系统
说明:本分析基于
Linux2.6
内核和Android2.3版本,其他版本仅供参考。
tankai19880619
·
2013-09-30 17:00
Linux 设备文件与udev
udev是
Linux2.6
内核里的一个功能,它替代了原来的devfs,成为当前Linux默认的设备管理工具。
shareCode
·
2013-09-28 20:00
Linux Epoll介绍和程序实例
Epoll可是当前在Linux下开发大规模并发网络程序的热门人选,Epoll在
Linux2.6
内核中正式引入,和select相似,其实都I/O多路复用技术而已,并没有什么神秘的。
jiayanhui2877
·
2013-09-27 17:00
[置顶] 《Linux启动过程分析》内核挂载根文件系统
Android2.3及Linux2.6.29内核模拟器版本编译与调试 前边通过源码情景分析,看过了总线、设备、驱动及其发现机制,
Linux2.6
内核udev设备节点创建相关;对于文件系统,一直望而生畏,
tankai19880619
·
2013-09-27 14:00
Android LCD(四):LCD驱动调试篇
关键词:android LCDTFTSN75LVDS83B TTL-LVDS LCD电压背光电压平台信息:内核:
linux2.6
/linux3.0系统:android/android4.0 平台:samsung
kevinx_xu
·
2013-09-22 18:00
Android LCD(三):Samsung LCD接口篇
关键词:android LCD控制器 FramebufferPWM 平台信息:内核:
linux2.6
/linux3.0系统:android/android4.0 平台:samsung exynos 4210
kevinx_xu
·
2013-09-22 18:00
Android LCD(一):LCD基本原理篇
关键词:android LCDTFT液晶偏光片彩色滤光片 背光平台信息:内核:
linux2.6
/linux3.0系统:android/android4.0 平台:samsung exynos 4210、
kevinx_xu
·
2013-09-22 16:00
Android LCD(二):LCD常用接口原理篇
平台信息:内核:
linux2.6
/linux3.0系统:android/android4.0 平台:samsung exynos 4210、exynos 4412 、exynos 5250作者:xubin341719
kevinx_xu
·
2013-09-22 16:00
android 电容屏(三):驱动调试之驱动程序分析篇
关键词:android 电容屏tp工作队列中断坐点计算 电容屏主要参数平台信息:内核:
linux2.6
/linux3.0系统:android/android4.0 平台:S5PV310(samsungexynos4210
yanghao23
·
2013-09-21 23:00
android 电容屏(二):驱动调试之基本概念篇
关键词:android 电容屏tp工作队列中断多点触摸协议平台信息:内核:
linux2.6
/linux3.0系统:android/android4.0 平台:S5PV310(samsungexynos4210
yanghao23
·
2013-09-21 23:00
android 电容屏(一):电容屏基本原理篇
关键词:android 电容屏tp ITO 平台信息:内核:
linux2.6
/linux3.0系统:android/android4.0 平台:S5PV310(samsungexynos4210) 转载
yanghao23
·
2013-09-21 23:00
Fedora的启动方式
可是,
linux2.6
(貌似是)内核之后,这个文件就改了,它不再控制着系统的默认启动模式了。
wangpeihuixyz
·
2013-09-19 13:00
fedora
《Linux设备节点创建》内核kobject上报uevent过滤规则
说明:本文基于Android2.3和
Linux2.6
,其余版本仅供参考。
tankai19880619
·
2013-09-17 17:00
《Linux设备节点创建》用户空间ueventd创建设备节点规则
说明:本文基于Android2.3和
Linux2.6
,其余版本仅供参考。Android2.3及Linux2.6.29内核模拟器版本编译与调试一、devfs、udev和sysfs是什么关系?
tankai19880619
·
2013-09-16 11:00
《Linux总线、设备与驱动》ldd3中demo分析
说明:本文基于Android2.3和
Linux2.6
;其他版本仅供参考。
tankai19880619
·
2013-09-13 11:00
网络模型,Epoll介绍,和几种其他模型的比较!
Epoll可是当前在Linux下开发大规模并发网络程序的热门人选,Epoll在
Linux2.6
内核中正式引入,和select相似,其实都I/O多路复用技术而已,并没有什么神秘的。
u011133213
·
2013-09-12 19:00
网络
epoll
Linux2.6
内核中epoll用法详解
epoll是
linux2.6
内核中才有的机制,其他版本内核中是没有的,是
Linux2.6
内核引入的多路复用IO的一种方式,用于提高网络IO性能的方法。
kate19930802
·
2013-09-10 22:00
Linux Epoll介绍和程序实例
Epoll可是当前在Linux下开发大规模并发网络程序的热门人选,Epoll在
Linux2.6
内核中正式引入,和select相似,其实都I/O多路复用技术而已,并没有什么神秘的。
zhoujiaxq
·
2013-09-10 17:00
android 物理按键
关键词:android 按键 矩阵按键AD按键 平台信息:内核:
linux2.6
/linux3.0系统:android/android4.0平台:S5PV310(samsungexynos4210)
rain0993
·
2013-09-10 01:00
RCU锁在linux内核的演变
本文主要谈一下rcu在
linux2.6
内核的演变过程,它分别经历了三个阶段,分别是传统rcu锁,可抢占rcu锁以及2.6.29中将要引入的树形分层rcu锁。
Blaider
·
2013-09-05 18:00
Linux进程调度与内核抢占总结
Linux2.6
以后支持内核抢占,在开发过程中内核抢占经常会造成一些竞态问题,分析起来比较麻烦,所以有必要总结一下触发抢占的因素和时机。
gary531
·
2013-09-05 15:00
linux
内核
Linux下应用程序如何取得U盘插拔消息(转载)
Linux下应用程序如何取得U盘插拔消息(转载) 原文链接:http://blog.csdn.net/childman/article/details/2443781
Linux2.6
内核版本以后,对于
wangxueang224
·
2013-09-04 10:00
linux内核工作队列的使用方法
Linux2.6
内核使用了不少工作队列来处理任务,他在使用上和tasklet最大的不同是工作队列的函数可以使用休眠,而tasklet的函数是不允许使用休眠的。
shanzhizi
·
2013-09-02 17:00
工作队列
android电池(五):电池 充电IC(PM2301)驱动分析篇
关键词:android 电池 电量计 PL2301任务初始化宏 power_supply 中断线程化平台信息:内核:
linux2.6
/linux3.0系统:android/android4.0 平台
hanmengaidudu
·
2013-09-02 16:00
android电池(四):电池 电量计(MAX17040)驱动分析篇
关键词:android 电池 电量计 MAX17040 任务初始化宏 power_supply平台信息:内核:
linux2.6
/linux3.0系统:android/android4.0 平台:samsung
hanmengaidudu
·
2013-09-02 16:00
android 电池(三):android电池系统
关键词:android电池系统电池系统架构uevent power_supply驱动平台信息:内核:
linux2.6
/linux3.0系统:android/android4.0 平台:S5PV310(samsungexynos4210
hanmengaidudu
·
2013-09-02 16:00
android 电池(二):android关机充电流程、充电画面显示
关键词:android 电池关机充电 androidboot.modecharger关机充电充电画面显示平台信息:内核:
linux2.6
/linux3.0系统:android/android4.0 平台
hanmengaidudu
·
2013-09-02 16:00
android 电池(一):锂电池基本原理篇
关键词:android 电池关机充电 androidboot.modecharger平台信息:内核:
linux2.6
/linux3.0系统:android/android4.0 平台:S5PV310(samsungexynos4210
hanmengaidudu
·
2013-09-02 16:00
flashcache中应用device mapper机制
DeviceMapper(DM)是
Linux2.6
全面引入的块设备新构架,通过DM可以灵活地管理系统中所有的真实或虚拟的块设备。
hs794502825
·
2013-08-30 21:00
Android 模拟系统事件(一)
简介Android系统是在
Linux2.6
版本上开发的,所以起使用设备驱动 /dev/input/event X(x为0到7)分别来映射不同事件。内容这里就简单介绍两种系统自带类来实现系统事件注入。
banketree
·
2013-08-28 22:00
sysfs 文件系统
linux2.6
内核引入sysfs文件系统,sysfs可以看成与proc,devfs和devpty同类别的文件系统,该文件系统是虚拟的文件系统,可以更方便对系统设备进行管理。
rightsoft
·
2013-08-28 15:18
sysfs
Linux
sysfs 文件系统
linux2.6
内核引入sysfs文件系统,sysfs可以看成与proc,devfs和devpty同类别的文件系统,该文件系统是虚拟的文件系统,可以更方便对系统设备进行管理。
rightsoft
·
2013-08-28 15:18
sysfs
Linux2.6
内核进程调度分析
主动调用调度器之外,核心还在应用不完全感知的情况下在以下三种时机中启动调度器工作: 1>从中断或系统调用返回到用户态; 2>某个进程允许被抢占CPU; 3>主动进入休眠状态; 调度策略: 在
Linux2.6
u011068464
·
2013-08-28 00:00
linux2.6
内核Makefile详解
熟悉内核的Makefile对开发设备驱动、理解内核代码结构都是非常重要的
linux2.6
内核Makefile的许多特性和2.4内核差别很大,在内核目录的documention/kbuild/makefiles.txt
edmond999
·
2013-08-26 15:00
编程
c
linux
linux
kernel
内核
上一页
17
18
19
20
21
22
23
24
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他