三个接收队列 tcp协议栈数据接收实现了三个接收缓存分别是prequeue、sk_write_queue、sk_backlog。之所以需要三个接收缓存的原因如下:tcp协议栈接收到数据包时struct sock *sk 可能被进程下上文或者中断上下文占用:1、如果处于进程上下文sk_lock.ow....
分类:
其他好文 时间:
2015-04-02 13:19:47
阅读次数:
423
在Linux中,任何时候,处理器都处于以下三种状态之一:1)在用户空间,在某个进程中执行用户代码2)在内核空间,处于进程上下文中,执行某个特定的进程3)在内核空间,处于中断上下文中(与进程无关),进行中断处理应用程序、内核与硬件的关系图如下:
分类:
系统相关 时间:
2015-04-01 15:16:48
阅读次数:
152
什么是进程,什么是线程?简而言之,进程可以看成正在运行的程序的实例。而线程可以看成进程里面的一条执行路径。每个进程都有独立代码和数据空间(进程上下文),同一个进程中可以共享程序的内存和数据。所以线程之间切换代价小,进程之间切换代价大。多进程:在操作系统中能同..
分类:
编程语言 时间:
2015-03-29 18:13:01
阅读次数:
172
【进程】进程是一个静态的概念(代码加载到内存的代码区,这就表示一个进程).线程是一个进程里不同的执行路径,机器上运行的都是线程。对于单个CPU而言,在同一个时间点上,CPU只支持一个线程运行。真正的多线程是双CPU或双核。【进程与线程】每个进程都有独立的代码和数据空间(进程上下文),进程间的切换会有...
分类:
编程语言 时间:
2015-03-20 21:38:16
阅读次数:
167
转载:http://www.cnblogs.com/Anker/p/3269106.html1、前言 最近在学习linux内核方面的知识,经常会看到用户空间与内核空间及进程上下文与中断上下文。看着很熟悉,半天又说不出到底是怎么回事,有什么区别。看书过程经常被感觉欺骗,似懂非懂的感觉,很是不爽,今天....
分类:
系统相关 时间:
2015-03-11 18:49:16
阅读次数:
259
寒假Linux学习笔记 2015年1月25日 晚 20:00 一、内核中断处理 进程上下文:应用程序主动调用内核驱动的程序的跳转 中断上下文:中断由硬件产生的,与应用程序无关 1、注册中断 Int request_irq(unsigned int irq, //中断号 void (*handler)...
分类:
其他好文 时间:
2015-02-05 13:25:18
阅读次数:
134
一,中断处理函数中断处理函数运行在中断上下文,不可抢占、调度。中断上下文编程需要注意以下几点: 不能睡眠或调用 schedule 放弃CPU 不能调用任何可能睡眠的函数,例如:获取信号量 不能访问用户空间数据,例如:copy_from_user,因为它不是在进程上下文中执行的。 执行时间尽可能短in...
分类:
系统相关 时间:
2015-01-20 21:51:44
阅读次数:
207
一:工作队列概念工作队列可以把工作推后,交由一个内核线程去执行,工作队列运行在进程上下文中,工作队列运行重新调度甚至睡眠内核驱动程序一般将下半部分交给内核缺省的工作者线程去做二:驱动中使用工作队列的步骤1,声明一个work_struct结构体[cpp]view plaincopystructwork...
分类:
系统相关 时间:
2015-01-18 19:41:11
阅读次数:
448
话说上回说到,C程序运行之前,必须要加载到其进程地址空间中。今儿咱就扯扯这个加载到底是怎么加载的。 一图胜前言,这个图简单说明了可执行文件加载过程的逻辑流,在此只做粗粒度概要说明。需要准确描述的,请出门左转,看源码去吧。1. 程序总是运行在进程上下文(context)中的,当输入./meml...
分类:
其他好文 时间:
2014-12-30 23:21:51
阅读次数:
261
最近学习驱动程序中总是发现在某些资料或书籍中提到进程上下文和中断上下文,但是又都没有讲解什么是上下文;因此笔者查阅资料补充了一下所谓的Linux上下文知识。(注:以下知识度娘而来)上下文(context):指文章或说话中与某一词语或文句相连的上文和下文:这个词的含义联系上下文不难理解。都不知道谁造出...
分类:
系统相关 时间:
2014-12-25 20:13:00
阅读次数:
262