多线程编程
Linux线程概述
线程模型
线程是程序中完成一个独立任务的完整执行序列,即一个可调度的实体。根据运行环境和调度者的身份,线程可分为内核线程和用户线程。内核线程,在有的系统上也称为LWP(Light Weigth Process,轻量级进程),运行在内核空间,由内核来调度;用户线程运行在用户空间,由线程库来调度。当进程的一个内核线程获得CPU的使用权时,它就加载并...
分类:
编程语言 时间:
2014-07-08 19:45:08
阅读次数:
219
文章来源——博客园绿色冰点前几次我们分析了Linux系统中用户进程的4G虚存大致分为了几个部分,介绍了3G用户空间中数据段,代码段等静态区域的虚存管理,重点分析了栈的使用。这次我们来分析一下虚存使用中另一个重要部分--堆。前面的介绍中,我们知道编译器,操作系统担负着大量栈分配管理的工作。不论是静态分...
分类:
系统相关 时间:
2014-07-07 18:29:08
阅读次数:
203
原文出处:http://miaoo.in/talk-about-unix-io-model.html在实际应用中,数据操作通常分为输入和输出,那么以输入为例,在操作系统中,一个数据的输入通常分为以下两个过程:a. 等待数据准备好.b. 将准备好的数据从内核拷贝到用户空间.下面我们将会分别讨论 I/O...
分类:
其他好文 时间:
2014-07-02 22:37:57
阅读次数:
351
本文主要介绍了Linux中进程管理的相关命令,涉及到的主要命令有top,vmstat等.(1)top①功能:用来查看CPU,内存以及进程的状态。②用例:③相关注释:loadaverage表示负载,三个数值分别表示第1分钟,第5分钟,第10分钟Cpu中us表示用户空间程序占用百分比,sy表示内核模式占用..
分类:
系统相关 时间:
2014-07-02 16:01:10
阅读次数:
393
前言 以前没有接触sharepoint感觉这东西好陌生,只是知道。来公司这段时间,也没有参加开发。今天自己简单的实现了一下这个开发过程,webpart部分的。过程 其实webpart可以理解为一个放着用户空间的集,我们在这里建立用户控件给页面上用。 然后,我们的webpart就建立了。 整体构成.....
分类:
Web程序 时间:
2014-07-02 10:20:05
阅读次数:
239
iptables组件是一种工具,也称为用户空间(userspace),它使插入、修改和除去信息包过滤表中的规则变得容易。分为四个表和五个链,其中表是按照对数据包的操作区分的,链是按照不同的Hook点来区分的,表和链实际上是netfilter的两个维度。4个表:filter,nat,mangle,raw,默认表..
分类:
其他好文 时间:
2014-07-01 09:42:19
阅读次数:
410
背景:需要搭建一套跟线上一模一样的环境,用来预发布,这是其中的web分发的一个小模块的实现过程。 1 工具以及环境简介1.1,Inotify工具Inotify,它是一个内核用于通知用户空间程序文件系统变化的机制。众所周知,Linux 桌面系统与 MAC 或 Windows 相比有许多不如人意的地方,为了改善这种状况,开源社区提出用户态需要内核提供一些机制,以便用户态能够及时地得知内核或底层硬件设备...
分类:
Web程序 时间:
2014-07-01 07:44:44
阅读次数:
257
背景:需要搭建一套跟线上一模一样的环境,用来预发布,这是其中的web分发的一个小模块的实现过程。 1 工具以及环境简介1.1,Inotify工具Inotify,它是一个内核用于通知用户空间程序文件系统变化的机制。众所周知,Linux 桌面系统与 MAC 或 Windows 相比有许多不如人意的地方,为了改善这种状况,开源社区提出用户态需要内核提供一些机制,以便用户态能够及时地得知内核或底层硬件设备...
分类:
Web程序 时间:
2014-06-30 18:39:06
阅读次数:
350
1漏洞描述
漏洞的产生主要是因为摄像头驱动提供了几个用于用户空间调用的接口。用户空间可以使用诸如ioctl或者mmap这样的系统调用函数就能对摄像头驱动产生影响。黑客可以很容易的使用事先构造好的参数将物理内存map到用户空间,并提升权限。
2.影响设备
绝大多数使用2013年5月1日之前的Linux内核安卓系统
3.PoC
/*
*
* This progra...
分类:
移动开发 时间:
2014-06-26 07:55:07
阅读次数:
507
接上一篇文章,当Nginx以文件作为用户的请求时,它不会把文件内容读入内存,然后再从内存发送出去,而是会调用sendfile系统调用在不经过用户空间的情况下,从内核直接发送出去。这样做显然效率要更高,Nginx也为我们封装好了一系列的接口,下面就来说明如何发送一个磁盘文件给客户端。
和从内存直接发送数据最大的不同在于ngx_buf_t缓冲区的设置方法,ngx_buf_t结构体的定义如下:...
分类:
其他好文 时间:
2014-06-22 20:44:52
阅读次数:
211