自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(92)
  • 资源 (15)
  • 收藏
  • 关注

转载 编译与静态链接

转载:http://blog.csdn.net/taocr/article/details/51144916最近一段时间做了关于一些软件的交叉编译工作,由于觉得并没有学到许多东西,所以抽时间看了关于静态链接方面的内容,读了一部分《程序员的自我修养——链接、装载与库》,记录一些读书笔记及自己的总结。一、GCC做了什么?我们在Linux中经常使用gcc 源

2016-04-22 11:50:19 593

转载 程序运行流程——链接、装载及执行

在阅读完《深入理解计算机系统》第一章(计算机系统漫游)、第七章(链接)以及第十章(虚拟存储器)和《程序员的自我修养——链接、装载与库》后,历时悠久的梦想终于要实现了。开篇之初,首先提出一个迷惑了很久的一个问题:什么是虚拟存储器?它跟进程的虚拟地址空间有什么关系?虚拟存储器是建立在主存--辅存物理结构基础上,有附加的硬件装置及操作系统存储管理软件组成的一种存储体系。

2016-04-22 11:29:58 1739

转载 Python urllib2模块post/get 下载网络资源

一、urllib2模块简介Python标准库中的urllib2模块可以说是urllib模块的一个升级的复杂版,不需要另外下载,它的函数可以处理更多复杂的情况,比如访问的网络资源需要Http验证,需要cookie信息,模仿普通浏览器一样去访问网络、网页资源,这个时候urllib2就派上用场了。二、urllib2模块函数方法1 )、设置timeout超时设置:>>> i

2016-04-21 11:00:45 769

转载 urllib2模块 异常处理

一、urllib2模块回顾       urllib2模块中最重要的函数是urlopen()函数,用于获取URLs资源(Uniform Resorce Locators)。urlopen函数不仅可以用于简单的情况,还可以进行复杂情况下的资源获取如认证(authentication)、cookies、代理等。urlopen支持多种协议,如http、ftp、file等。

2016-04-20 18:06:18 470

转载 python 的日志logging模块学习

1.简单的将日志打印到屏幕 import logginglogging.debug('This is debug message')logging.info('This is info message')logging.warning('This is warning message') 屏幕上打印:WARNING:r

2016-04-20 10:44:55 421

转载 Python:urllib 和urllib2之间的区别

作为一个Python菜鸟,之前一直懵懂于urllib和urllib2,以为2是1的升级版。今天看到老外写的一篇《Python: difference between urllib and urllib2》才明白其中的区别。 You might be intrigued by the existence of two separate URL modules in P

2016-04-19 18:13:10 1157

转载 python文件夹遍历,文件操作,获取文件修改创建时间

在Python中,文件操作主要来自os模块,主要方法如下:os.listdir(dirname):列出dirname下的目录和文件os.getcwd():获得当前工作目录os.curdir:返回当前目录('.')os.chdir(dirname):改变工作目录到dirnameos.path.isdir(name):判断name是不是一个目录,name不是目录就返回fal

2016-04-18 18:22:53 1829

转载 IO系统性能之一:衡量性能的几个指标

1几个基本的概念  作为一个数据库管理员,关注系统的性能是日常最重要的工作之一,而在所关注的各方面的性能只能IO性能却是最令人头痛的一块,面对着各种生涩的参数和令人眼花缭乱的新奇的术语,再加上存储厂商的忽悠,总是让我们有种云里雾里的感觉。本系列文章试图从基本概念开始对磁盘存储相关的各种概念进行综合归纳,让大家能够对IO性能相关的基本概念,IO性能的监控和调整有个比较全面的了解。

2016-04-18 09:59:53 731

转载 如何让linux服务器磁盘io性能翻倍

这一期我们来看一下有哪些办法可以减少linux下的文件碎片。主要是针对磁盘长期满负荷运转的使用场景(例如http代理服务器);另外有一个小技巧,针对互联网图片服务器,可以将io性能提升数倍。如果为服务器订制一个专用文件系统,可以完全解决文件碎片的问题,将磁盘io的性能发挥至极限。对于我们的代理服务器,相当于把io性能提升到3-5倍。在现有文件系统下进行优化linux内核和各个文件系

2016-04-18 09:53:16 7504

转载 利用HTML5分片上传超大文件

在网页中直接上传大文件一直是个比较头疼的问题,主要面临的问题一般包括两类:一是上传时间长中途一旦出错会导致前功尽弃;二是服务端配置复杂,要考虑接收超大表单和超时问题,如果是托管主机没准还改不了配置,默认只能接收小于4MB的附件。比较理想的方案是能够把大文件分片,一片一片的传到服务端,再由服务端合并。这么做的好处在于一旦上传失败只是损失一个分片而已,不用整个文件重传,而且每个分片的大小可以控

2016-04-17 23:11:53 1423

转载 flash进行上传使用什么协议?

flash上传不是调用JS上传. flash有自己的与服务端后台数据通讯类. 协议是http post可以参考官方文档:http://help.adobe.com/zh_CN/FlashPlatform/reference/actionscript/3/flash/net/FileReference.html

2016-04-17 23:11:24 1903

转载 Python递归遍历目录下所有文件

Python递归遍历目录下所有文件#自定义函数:import ospath="D:\\Temp_del\\a"def gci (path):"""this is a statement"""parents = os.listdir(path)for parent in parents:child = os.path.join(path,parent)#pri

2016-04-15 18:40:41 3073

转载 python 遍历文件夹 文件

import osimport os.pathrootdir = “d:\data”                                   # 指明被遍历的文件夹for parent,dirnames,filenames in os.walk(rootdir):    #三个参数:分别返回1.父目录 2.所有文件夹名字(不含路径) 3.所有文件名字    fo

2016-04-15 18:38:31 424

转载 HTTP 表单编码 enctype

语法value">属性值值描述application/x-www-form-urlencoded在发送前编码所有字符(默认)multipart/form-data不对字符编码。在使用包含文件上传控件的表单时,必须使用该值。text/plain空格转换为 "+" 加号,但不

2016-04-15 14:03:17 1440

转载 TCP之深入浅出send和recv

本篇我们用一个测试机上的阻塞socket实例来说明主题。文章中所有图都是在测试系统上现截取的。需要理解的3个概念1. TCP socket的buffer每个TCP socket在内核中都有一个发送缓冲区和一个接收缓冲区,TCP的全双工的工作模式以及TCP的流量(拥塞)控制便是依赖于这两个独立的buffer以及buffer的填充状态。接收缓冲区把数据缓存入内核,应用进程一直没

2016-04-14 23:56:36 516

转载 Linux 中的零拷贝技术,第 2 部分

http://www.ibm.com/developerworks/cn/linux/l-cn-zerocopy2/index.html?ca=drs-Linux 中的直接 I/O如果应用程序可以直接访问网络接口存储,那么在应用程序访问数据之前存储总线就不需要被遍历,数据传输所引起的开销将会是最小的。应用程序或者运行在用户模式下的库函数可以直接访问硬件设

2016-04-14 23:03:56 506

转载 Linux 中的零拷贝技术,第 1 部分

http://www.ibm.com/developerworks/cn/linux/l-cn-zerocopy1/index.html引言传统的 Linux 操作系统的标准 I/O 接口是基于数据拷贝操作的,即 I/O 操作会导致数据在操作系统内核地址空间的缓冲区和应用程序地址空间定义的缓冲区之间进行传输。这样做最大的好处是可以减少磁盘 I/O 的操作,因为如

2016-04-14 23:03:11 400

转载 sendfile:Linux中的"零拷贝"

如今几乎每个人都听说过Linux中所谓的"零拷贝"特性,然而我经常碰到没有充分理解这个问题的人们。因此,我决定写一些文章略微深入的讲述这个问题,希望能将这个有用的特性解释清楚。在本文中,将从用户空间应用程序的角度来阐述这个问题,因此有意忽略了复杂的内核实现。什么是”零拷贝”为了更好的理解问题的解决法,我们首先需要理解问题本身。首先我们以一个网络服务守护进程为例,考虑它在将存储在文件

2016-04-14 22:58:26 407

转载 DMA技术

DMA是指外部设备不通过CPU而直接与系统内存交换数据的接口技术。DMA技术的出现,使得外围设备可以通过DMA控制器直接访问内存,与此同时,CPU可以继续执行程序.那么DMA控制器与CPU怎样分时使用内存呢?通常采用以下三种方法:(1)停止CPU访内存;(2)周期挪用;(3)DMA与CPU交替访问内存.  要把外设的数据读入内存或把内存的数据传送到外设,一般都要通过CPU控制完

2016-04-14 22:37:33 1673

转载 sendfile()对Nginx性能的提升

Linux kernel 2.2之前,(如图)读写数据基本都是使用read系统调用和write系调用,以nginx来说如果一个请求建立,从磁盘的文件到网络连接之间会通过硬件(DMA)---内核层---用户层多次读写系统来完成文件数据的复制传输:从内核层用read系统调用读到用户层,再从用户层用write系统调用写到内核层,每一次用户层到内核层的进行一次上下文转换,这种代价是非常昂贵的。甚至在没有数

2016-04-14 22:21:33 579

转载 linux的sendfile系统调用

服务器响应一个http请求的步骤如下: 1 把磁盘文件读入内核缓冲区 2 从内核缓冲区读到内存 3 处理(静态资源不需处理) 4 发送到网卡的内核缓冲区(发送缓存) 5 网卡发送数据 数据从第一步中的内核缓冲区到第四步的内核缓冲区白白绕了一个圈,没有任何变化浪费了时间 而sendfile系统调用就是来解决这个问题的。sendfile省略了上面的 2、3步,磁盘文

2016-04-14 22:20:40 931

转载 视频转码技术及转码实现详解

本文简单介绍了视频转码技术 的 定义、分类及实现手段,重点分析了如何在视频工程中使用转码技术,包括转码技术的使用方式及其优势所在。分析了在流方式和文件方式下如何使用转码技术。通 过对移动非线性编辑系统远程传输视频数据和节目制作网络素材集中上载两个工程实例的分析,探讨了转码系统工作的灵活性和通用性。阐明了作者对在专业视频领 域内,配合计算机设备及网络架构,使用转码技术前景的看法。  1

2016-04-14 17:07:58 18567 1

转载 linux 查看文件系统类型

linux 查看文件系统类型Linux 查看文件系统的方式有多种,列举如下: 1. mount:~$ mount/dev/sda1 on / type ext4 (rw,errors=remount-ro,user_xattr)proc on /proc type proc (rw,noexec,nosuid,nodev)none on /sys type

2016-04-14 14:37:13 472

转载 《Linux内核设计与实现》读书笔记(十四)- 块I/O层

主要内容:块设备简介内核访问块设备的方法内核I/O调度程序 1. 块设备简介I/O设备主要有2类:字符设备:只能顺序读写设备中的内容,比如 串口设备,键盘块设备:能够随机读写设备中的内容,比如 硬盘,U盘字符设备由于只能顺序访问,所以应用场景也不多,这篇文章主要讨论块设备。块设备是随机访问的,所以块设备在不同的应用场景中存在很大的优化空间。

2016-04-14 14:27:25 406

转载 硬盘的存储原理和内部架构

本来想写个文件系统的专题,结果发现对硬盘的内部架构和存储原理还是比较模糊,因为不了解“一点”硬盘的存储原理对文件系统的认识老是感觉镜花水月,不踏实。经过搜集整理资料就由了本文的问世。借用Bean_lee兄一句话:成果和荣耀归于前辈。首先,让我们看一下硬盘的发展史:1956年9月13日,IBM的IBM 350 RAMAC(Random Access Method of Acc

2016-04-14 14:04:12 672

转载 硬盘的读写原理

硬盘的种类主要是SCSI 、IDE 、以及现在流行的SATA等;任何一种硬盘的生产都要一定的标准;随着相应的标准的升级,硬盘生产技术也在升级;比如 SCSI标准已经经历了SCSI-1 、SCSI-2、SCSI-3;其中目前咱们经常在服务器网站看到的 Ultral-160就是基于SCSI-3标准的;IDE 遵循的是ATA标准,而目前流行的SATA,是ATA标准的升级版本;IDE是并口设备,而SATA

2016-04-14 09:25:17 1315

转载 磁盘IOPS(每秒读写次数)的计算方法与测量

IOPS (Input/Output Per Second)即每秒的输入输出量(或读写次数),是衡量磁盘性能的主要指标之一。IOPS是指单位时间内系统能处理的I/O请求数量,一般以每秒处理的I/O请求数量为单位,I/O请求通常为读或写数据操作请求。随机读写频繁的应用,如OLTP(Online Transaction Processing),IOPS是关键衡量指标。另一个重要指标是数据吞吐量(Thr

2016-04-14 09:15:46 22822

转载 磁盘读写和数据库读写哪个效率更高?磁盘读写与数据库的关系

假定在程序效率和关键过程相当且不计入缓存等措施的条件下,读写任何类型的数据都没有直接操作文件来的快,不论MSYQL过程如何,最后都要到磁盘上去读这个“文件”(记录存储区等效),所以当然这一切的前提是只读 内容,无关任何排序或查找操作。动态网站一般都是用数据库来存储信息,如果信息的及时性要求不高 可以加入缓存来减少频繁读写数据库。两种方式一般都支持,但是绕过操作系统直接操作磁盘的性能较高,而

2016-04-13 23:14:28 8829

转载 磁盘缓存

磁盘缓存,又称磁盘快取,实际上就是将下载到的数据先保存于系统为软件分配的内存空间中(这个内存空间被称之为“内存池”),当保存到内存池中的数据达到一个程度时,便将数据保存到硬盘中。这样可以减少实际的磁盘操作,有效的保护磁盘免于重复的读写操作而导致的损坏。磁盘缓存是为了减少CPU透过I/O读取磁盘机的次数,提升磁盘I/O的效率,用一块内存来储存存取较频繁的磁盘内容;因为内存的存取是电子动作,而磁盘

2016-04-13 22:50:08 581

转载 磁盘IO:缓存IO、直接IO、内存映射

磁盘IO的几种访问方式如下:缓存IO       缓存I/O又被称作标准I/O,大多数文件系统的默认I/O操作都是缓存I/O。在Linux的缓存I/O机制中,数据先从磁盘复制到内核空间的缓冲区,然后从内核空间缓冲区复制到应用程序的地址空间。       读操作:操作系统检查内核的缓冲区有没有需要的数据,如果已经缓存了,那么就直接从缓存中返回;否则从磁盘中读取,然

2016-04-13 22:47:21 776

转载 13.8 总结

13.8  总结输入输出数据的缓冲由内核和stdio库完成。有时可能希望阻止缓冲,但这需要了解其对应用程序性能的影响。可以使用各种系统调用和库函数来控制内核和stdio 缓冲,并执行一次性的缓冲区刷新。进程使用posix_fadvise()函数,可就进程对特定文件可能采取的数据访问模式向内核提出建议。内核可籍此来优化对缓冲区高速缓存的应用,进而提高I/O性能。在Linux环

2016-04-13 22:37:48 332

转载 13.7 混合使用库函数和系统调用进行文件I/O

13.7  混合使用库函数和系统调用进行文件I/O在同一文件上执行I/O操作时,还可以将系统调用和标准C语言库函数混合使用。fileno()和fdopen()函数有助于完成这一工作。给定一个(文件)流,fileno()函数将返回相应的文件描述符(即stdio库在该流上已经打开的文件描述符)。随即可以在诸如read()、write()、dup()和fcntl()之类的I/O系

2016-04-13 22:36:56 446

转载 13.6 绕过缓冲区高速缓存:直接I/O

13.6  绕过缓冲区高速缓存:直接I/O始于内核2.4,Linux允许应用程序在执行磁盘I/O时绕过缓冲区高速缓存,从用户空间直接将数据传递到文件或磁盘设备。有时也称此为直接I/O(direct I/O)或者裸I/O(raw I/O)。此处的描述细节为Linux所特有,SUSv3并未对其进行规范。尽管如此,大多数UNIX实现均对设备和文件提供了某种形式的直接I/O访问。有

2016-04-13 22:36:10 1569

转载 13.5 就I/O模式向内核提出建议

13.5  就I/O模式向内核提出建议posix_fadvise()系统调用允许进程就自身访问文件数据时可能采取的模式通知内核。内核可以(但不必非要)根据posix_fadvise()所提供的信息来优化对缓冲区高速缓存的使用,进而提高进程和整个系统的性能。调用posix_fadvise()对程序语义并无影响。参数fd所指为一文件描述符,调用期望通知内核进程对

2016-04-13 22:35:20 621

转载 13.4 I/O缓冲小结

13.4  I/O缓冲小结图13-1概括了stdio函数库和内核所采用的缓冲(针对输出文件),以及对各种缓冲类型的控制机制。从图中自上而下,首先是通过stdio库将用户数据传递到stdio缓冲区,该缓冲区位于用户态内存区。当缓冲区填满时,stdio库会调用write()系统调用,将数据传递到内核高速缓冲区(位于内核态内存区)。最终,内核发起磁盘操作,将数据传递到磁盘。

2016-04-13 22:34:44 628

转载 13.3 控制文件I/O的内核缓冲

13.3  控制文件I/O的内核缓冲(1)强制刷新内核缓冲区到输出文件是可能的。这有时很有必要,例如,当应用程序(诸如数据库的日志进程)要确保在继续操作前将输出真正写入磁盘(或者至少写入磁盘的硬件高速缓存中)。在描述用于控制内核缓冲的系统调用之前,有必要先熟悉一下SUSv3中的相关定义。同步I/O数据完整性和同步I/O文件完整性SUSv3将同步I/O完成 定义为:某

2016-04-13 22:34:02 577

转载 13.2 stdio库的缓冲

13.2  stdio库的缓冲当操作磁盘文件时,缓冲大块数据以减少系统调用,C语言函数库的I/O函数(比如,fprintf()、fscanf()、fgets()、fputs()、fputc()、fgetc())正是这么做的。因此,使用stdio库可以使编程者免于自行处理对数据的缓冲,无论是调用 write()来输出,还是调用 read()来输入。设置一个stdio流的缓冲模式

2016-04-13 22:32:43 615

转载 13.1 文件I/O的内核缓冲:缓冲区高速缓存

《Linux/UNIX系统编程手册(全2册)》第13章文件I/O缓冲,本章描述了这两种类型的缓冲,并讨论了其对应用程序性能的影响。本章还讨论了可以屏蔽或影响缓冲的各种技术,以及直接I/O技术--在某些需要绕过内核缓冲的场景中非常有用。本节为大家介绍文件I/O的内核缓冲:缓冲区高速缓存。第13章 文件I/O缓冲出于速度和效率考虑,系统I/O调用(即内核)和标准C语言库I/O函数(即std

2016-04-13 22:17:43 2710

转载 每天进步一点点——Linux下的磁盘缓存

转载请说明出处:http://blog.csdn.net/cywosp/article/details/21126161    前段时间在开发一个使用SSD做缓存的系统,在高速写入数据时会出现大量的磁盘缓存。太多的磁盘缓存如果没有及时的写入磁盘中,在机器出现问题时是非常危险的,这样会导致很多的数据丢失,但是如果实时的将数据刷入磁盘中,这样写入效率有太低了。为了弄明白Linux系

2016-04-13 21:56:59 939

转载 内核缓冲区

应用缓冲技术能很明显的提高系统效率。内核与外围设备的数据交换,内核与用户空间的数据交换都是比较费时的,使用缓冲区就是为了优化这些费时的操作。其实核心到用户空间的操作本身是不buffer的,是由I/O库用buffer来优化了这个操作。比如fread本来从内核读取数据时是比较费时的,所以一次取出一块,以避免多次陷入内核。      应用内核缓冲区的 主要思想就是一次读入大量的数据放在缓冲区,需要的

2016-04-13 18:32:32 1434

编译原理第6章-语义分析

编译原理第6章-语义分析

2016-11-22

poll和epoll内核源码剖析

poll和epoll内核源码剖析

2016-11-21

c语言开发实例详解

用大量经典有趣的问题来讲解C的开发,强烈推荐

2015-03-28

TCP-IP详解卷2

TCP-IP详解卷2是TCP/IP技术详解卷2

2011-09-25

TCP-IP详解卷1

TCP-IP详解卷1是TCP/IP协议详解卷1.

2011-09-25

计算机网络与因特网

计算机网络与因特网一书是计算机网络技术里的圣经

2011-09-25

Berkeley DB 资料

Berkeley DB 批量插入更新与删除用法示例 Berkeley 函数接口 Berkeley DB 由浅入深 SQL 开发人员 Oracle Berkeley DB 指南 Berkeley DB参考手册

2010-09-21

c 函数速查手册 c的标准库函数

本帮助文件由本人整理制作,内容全摘自网络,版权归实际作者所有.

2009-10-13

linux c函数速查手册

linux编程的标您可以免费的使用、分发本手册。但未经Linhan的授权许可不得擅自进行篡改、反编译,及将其全部或部分用于商业用途。 本手册受著作权法和国际公约的保护,作者保留对本手册及本声明的最终修改权。 准库函数 都可以搜到

2009-10-13

lcd ampire128x64 的使用 proteus

本资源为lcd ampire128x64 的使用,包括它的仿真,软件为proteus6 所用程序是用 keil编写,也有源码。

2009-05-17

自动控制 -20-sim

自动控制 荷兰软件20-sim的使用及课题设计,该课题设计是利用了仿真软件的控制应用试验箱

2009-04-28

autocad做的小户型平面图

小户型平面图即是平面图的设计,本作品是用AutoCAD的平面设计模块制作的平面图图1是整个小户型平面图制作的成品图,人们可以看到这个作品的整个平面设计和室内部的布局。

2009-03-14

用matlab做的小波信号变换系统

用matlab作的小波信号变换系统,利用二维小波变换实现图像压缩、图像融合和图像增强等功能。

2009-03-14

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除