随笔分类 - 操作系统Win/Linux
摘要:原文地址:Linux下网络蜘蛛wget使用作者:CharlesKWwget -c -t 0 -x -r -npftp://ftp.ncbi.nih.gov/pub/geo/DATA/-o geo.logwget 是一个命令行的下载工具。对于我们这些 Linux 用户来说,几乎每天都在使用它。下面为大家介绍几个有用的 wget 小技巧,可以让你更加高效而灵活的使用 wget。$ wget -r -np -ndhttp://example.com/packages/这条命令可以下载http://example.com网站上 packages 目录中的所有文件。其中,-np 的作用是不遍历父目录,-
阅读全文
摘要:sloccount=Count Source Lines Of Code官网:http://www.dwheeler.com/sloccount/Ubuntu安装sudo apt-get install sloccount使用sloccount [--version] [--cached] [--append] [ --datadir directory ] [--follow] [--duplicates] [--crossdups] [--autogen] [--multiproject] [--filecount] [--wide] [--det...
阅读全文
摘要:http://linux.chinaitlab.com/administer/836984.html物理地址 物理内存的地址,为32位或者64位。虚拟地址 现代OS都提供一技术——虚拟内存,它可以使给用户错觉好像自己在使用比实际物理内存大得多的内存,实际上通过映射把虚拟内存的虚拟地址转化为物理内存的物理地址。 多个进程可以使用相同的虚拟地址,是因为转化的时候把各自的虚拟地址映射到了不同的物理地址。逻辑地址 包含在机器语言指令中用来指定一个操作数或一条指令的地址。这种寻址方式在80X86著名的分段结构中表现的尤为具体,它促使MS-DOS或Windows程序员把程序分成若干段。每一个逻辑地...
阅读全文
摘要:1、为什么要使用反向映射 物理内存的分页机制,一个PTE(Page Table Entry)对应一个物理页,但一个物理页可以由多个PTE与之相对应,当该页要被回收时,Linux2.4的做法是遍历每个进程的所有PTE判断该PTE是否与该页建立了映射,如果建立则取消该映射,最后无PTE与该相关联后才回收该页。该方法显而易见效率极低,因为其为了查找某个页的关联PTE遍历了所有的PTE,我们不禁想:如果把每个页关联的PTE保存在页结构里面,每次只需要访问那些与之相关联的PTE不很方便吗?确实,2.4之后确实采用过此方法,为每个页结构(Page)维护一个链表,这样确实节省了时间,但此链表所占用的空间及.
阅读全文
摘要:看了半天也看不懂……好像有点明白了:有时候看源码最让人头疼的不是它的语言或者逻辑,而是它所使用的算法。先mark下来,先研究下基树再来看这篇文章。转自http://laokaddk.blog.51cto.com/blog/368606/433768address_space结构体,是页高速缓存(page cache)的核心数据结构。在很多时候,内核在读写磁盘时都引用页高速缓存,新页被追加到页高速缓存以满足用户态进程的读请求。如果页不在高速缓存中,新页就被追加到高速缓存。这样作的目的就是为了更快的效率,比如有一些页,经常被访问,那么此时,如果内存空间允许的话,可以考虑让它们长期驻留在页高速缓存中
阅读全文
摘要:哥今生不想再看到这段代码!!!#define switch_to(prev, next, last) \do { \/* \ * Context-switching clobbers(彻底击败) all registers, so we clobber \ * them explicitly, via unused output variables. \ * (EAX and EBP is not listed because EBP is saved/restored \ * explicitly for wchan access and EA...
阅读全文
摘要:Table of Contents1 时间类型。 2 时间操作 3 延时函数 1 时间类型。Linux下常用的时间类型有4个:time_t,struct timeval,struct timespec,struct tm。time_t是一个长整型,一般用来表示用1970年以来的秒数。truct timeval有两个成员,一个是秒,一个是微妙。struct timeval{ long tv_sec; long tv_usec;};struct timespec有两个成员,一个是秒,一个是纳秒。struct timespec{ time_t tv_sec; long tv_...
阅读全文
摘要:转自:http://www.ibm.com/developerworks/cn/linux/l-affinity.html简单地说,CPU 亲和性(affinity)就是进程要在某个给定的 CPU 上尽量长时间地运行而不被迁移到其他处理器的倾向性。Linux 内核进程调度器天生就具有被称为软 CPU 亲和性(affinity)的特性,这意味着进程通常不会在处理器之间频繁迁移。这种状态正是我们希望的,因为进程迁移的频率小就意味着产生的负载小。2.6 版本的 Linux 内核还包含了一种机制,它让开发人员可以编程实现硬 CPU 亲和性(affinity)。这意味着应用程序可以显式地指定进程在哪个(
阅读全文
摘要:转自:http://www.ibm.com/developerworks/cn/linux/kernel/l-kn26sch/index.html1. 前言Linux 的市场非常广阔,从桌面工作站到低端服务器,它都是任何商用操作系统的有力竞争对手。目前,Linux 正全力进军嵌入式系统和高端服务器系统领域,但它的技术缺陷限制了它的竞争力:缺乏对实时任务的支持,多处理机可扩展性差。在 2.4 内核中,造成这两个弱项的关键原因之一就是调度器设计上的缺陷。2.6 调度系统从设计之初就把开发重点放在更好满足实时性和多处理机并行性上,并且基本实现了它的设计目标。主要设计者,传奇式人物 Ingo Moln
阅读全文
摘要:转自http://www.ibm.com/developerworks/cn/linux/l-cn-schldom/Scheduling Domains 引入的背景Scheduling Domains 是现代硬件技术尤其是多 CPU 多核技术发展的产物。现在,一个复杂的高端系统由上到下可以这样构成:它是一个 NUMA 架构的系统,系统中的每个 Node 访问系统中不同区域的内存有不同的速度。同时它又是一个 SMP 系统。由多个物理 CPU(Physical Package) 构成。这些物理 CPU 共享系统中所有的内存。但都有自己独立的 Cache 。每个物理 CPU 又由多个核 (Core)
阅读全文
摘要:Table of Contents1 convential process 1.1 static priority 1.2 dynamic priority 2 real-time process 2.1 static priority 2.2 dynamic priority 2.3 real time priority 3 调度策略 1 convential process1.1 static priority范围为100-139(MAX_RT_PRIO - MAX_PRIO-1) 内核2.6中的静态优先级相当于内核2.4中的nice值,但转到MAX_RT_PRIO到MAX_PRIO-1取
阅读全文


浙公网安备 33010602011771号