自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(1)
  • 资源 (47)
  • 收藏
  • 关注

转载 “白色”程序员(猿)节

【平年的9月13日和闰年的9月12日(每年的第256天)是程序员节。之所以选择256,是因为它是一个8位字节能够表示的数目,256是2的幂中小于365的最大值。同样的逻辑,在24位RGB颜色空间里,最大值为十六进制0xFFFFFF,表示为白色。所以全世界的程序员们穿白色来庆祝这一天。设立程序员节要归功于瓦伦丁·巴尔特(Valentin Balt),并行技术网页设计公司(Parallel Techn

2012-09-20 09:26:20 1291

上海交大计算机考研复试机试

上海交大 计算机考研 SJTU-CS 复试机试 (2005-2010) 题目

2015-05-25

算法设计与分析基础 英文 第3版

算法设计与分析基础(第3版) 英文 - 国外经典教材.计算机科学与技术系列 Introduction to the Design and Analysis of Algorthms(Second Edition (美) Anany Levitin 内容简介 · · · · · · Based on a Based on a new classification of algorithm design techniques and a clear delineation of analysis methods, "Introduction to the Design and Analysis of Algorithms" presents the subject in a coherent and innovative manner. Written in a student-friendly style, the book emphasizes the understanding of ideas over excessively formal treatment while thoroughly covering the material required in an introductory algorithms course. Popular puzzles are used to motivate students' interest and strengthen their skills in algorithmic problem solving. Other learning-enhancement features include chapter summaries, hints to the exercises, and a detailed solution manual. 作者简介 · · · · · · 莱维丁是Villanova大学计算科学系的教授。他的论文 A New Road Map of Algorithm Design Techniques:Picking Up Where the Traditional Classification Leaves Off(《算法设计技术新途径:弥补传统分类法的缺憾》)受到业内人士极高的评价。在SIGCSE会议上,作者做过多次关于算法教学的演讲。

2015-04-18

《算法导论》(Introduction to Algorithms) 英文 文字版

内容介绍: Editorial Reviews Review "In light of the explosive growth in the amount of data and the diversity of computing applications, efficient algorithms are needed now more than ever. This beautifully written, thoughtfully organized book is the definitive introductory book on the design and analysis of algorithms. The first half offers an effective method to teach and study algorithms; the second half then engages more advanced readers and curious students with compelling material on both the possibilities and the challenges in this fascinating field." —Shang-Hua Teng, University of Southern California "Introduction to Algorithms, the 'bible' of the field, is a comprehensive textbook covering the full spectrum of modern algorithms: from the fastest algorithms and data structures to polynomial-time algorithms for seemingly intractable problems, from classical algorithms in graph theory to special algorithms for string matching, computational geometry, and number theory. The revised third edition notably adds a chapter on van Emde Boas trees, one of the most useful data structures, and on multithreaded algorithms, a topic of increasing importance." —Daniel Spielman, Department of Computer Science, Yale University "As an educator and researcher in the field of algorithms for over two decades, I can unequivocally say that the Cormen book is the best textbook that I have ever seen on this subject. It offers an incisive, encyclopedic, and modern treatment of algorithms, and our department will continue to use it for teaching at both the graduate and undergraduate levels, as well as a reliable research reference." —Gabriel Robins, Department of Computer Science, University of Virginia Product Description Some books on algorithms are rigorous but incomplete; others cover masses of material but lack rigor. Introduction to Algorithms uniquely combines rigor and comprehensiveness. The book covers a broad range of algorithms in depth, yet makes their design and analysis accessible to all levels of readers. Each chapter is relatively self-contained and can be used as a unit of study. The algorithms are described in English and in a pseudocode designed to be readable by anyone who has done a little programming. The explanations have been kept elementary without sacrificing depth of coverage or mathematical rigor. The first edition became a widely used text in universities worldwide as well as the standard reference for professionals. The second edition featured new chapters on the role of algorithms, probabilistic analysis and randomized algorithms, and linear programming. The third edition has been revised and updated throughout. It includes two completely new chapters, on van Emde Boas trees and multithreaded algorithms, and substantial additions to the chapter on recurrences (now called "Divide-and-Conquer"). It features improved treatment of dynamic programming and greedy algorithms and a new notion of edge-based flow in the material on flow networks. Many new exercises and problems have been added for this edition. As of the third edition, this textbook is published exclusively by the MIT Press. About the Author Thomas H. Cormen is Professor of Computer Science and former Director of the Institute for Writing and Rhetoric at Dartmouth College. Charles E. Leiserson is Professor of Computer Science and Engineering at the Massachusetts Institute of Technology. Ronald L. Rivest is Andrew and Erna Viterbi Professor of Electrical Engineering and Computer Science at the Massachusetts Institute of Technology. Clifford Stein is Professor of Industrial Engineering and Operations Research at Columbia University.

2015-04-06

算法导论 第三版 中文版

算法导论第三版中文版 pdf高清版 在有关算法的书中,有一些叙述非常严谨,但不够全面;另一些涉及了大量的题材,但又缺乏严谨性。算法导论第三版中文版将严谨性和全面性融为一体,深入讨论各类算法,并着力使这些算法的设计和分析能为各个层次的读者接受。全书各章自成体系,可以作为独立的学习单元;算法以英语和伪代码的形式描述,具备初步程序设计经验的人就能看懂;说明和解释力求浅显易懂,不失深度和数学严谨性。全书选材经典、内容丰富、结构合理、逻辑清晰,对本科生的数据结构课程和研究生的算法课程都是非常实用的教材,在IT专业人员的职业生涯中,算法导论第三版也是一本案头必备的参考书或工程实践手册。 第3版的主要变化 1、新增了van Emde Boas树和多线程算法,并且将矩阵基础移至附录。 2、修订了递归式(现在称为“分治策略”)那一章的内容,更广泛地覆盖分治法。 3、移除两章很少讲授的内容:二项堆和排序网络。 4、修订了动态规划和贪心算法相关内容。 5、流网络相关材料现在基于边上的全部流。 6、由于关于矩阵基础和Strassen算法的材料移到了其他章,矩阵运算这一章的内容所占篇幅更小。 7、修改了对Knuth-Morris-Pratt字符串匹配算法的讨论。 8、新增100道练习和28道思考题,还更新并补充了参考文献。

2015-04-05

算法导论 第三版 英文版

Introduction to Algorithms, 3rd edition 《算法导论》原书名 《Introduction to Algorithms》 是一本十分经典的计算机算法书籍 与高德纳(Donald E Knuth)的《计算机程序设计艺术》(《The Art Of Computer Programming》)相媲美。 《算法导论》由Thomas H Cormen Charles E Leiserson Ronald L Rivest Clifford Stein四人合作编著。 Some books on algorithms are rigorous but incomplete; others cover masses of material but lack rigor. Introduction to Algorithms uniquely combines rigor and comprehensiveness. The book covers a broad range of algorithms in depth, yet makes their design and analysis accessible to all levels of readers. Each chapter is relatively self-contained and can be used as a unit of study. The algorithms are described in English and in a pseudocode designed to be readable by anyone who has done a little programming. The explanations have been kept elementary without sacrificing depth of coverage or mathematical rigor. The first edition became a widely used text in universities worldwide as well as the standard reference for professionals. The second edition featured new chapters on the role of algorithms, probabilistic analysis and randomized algorithms, and linear programming. The third edition has been revised and updated throughout. It includes two completely new chapters, on van Emde Boas trees and multithreaded algorithms, and substantial additions to the chapter on recurrences (now called "Divide-and-Conquer"). It features improved treatment of dynamic programming and greedy algorithms and a new notion of edge-based flow in the material on flow networks. Many new exercises and problems have been added for this edition. As of the third edition, this textbook is published exclusively by the MIT Press. 中文版第二版简介: 《算法导论(原书第2版)》一书深入浅出,全面地介绍了计算机算法。对每一个算法的分析既易于理解又十分有趣,并保持了数学严谨性。本书的设计目标全面,适用于多种用途。涵盖的内容有:算法在计算中的作用,概率分析和随机算法的介绍。本书专门讨论了线性规划,介绍了动态规划的两个应用,随机化和线性规划技术的近似算法等,还有有关递归求解、快速排序中用到的划分方法与期望线性时间顺序统计算法,以及对贪心算法元素的讨论。本书还介绍了对强连通子图算法正确性的证明,对哈密顿回路和子集求和问题的NP完全性的证明等内容。全书提供了900多个练习题和思考题以及叙述较为详细的实例研究。   《算法导论(原书第2版)》一书内容丰富,对本科生的数据结构课程和研究生的算法课程都是很实用的教材。本书在读者的职业生涯中,也是一本案头的数学参考书或工程实践手册。   在有关算法的书中,有一些叙述非常严谨,但不够全面,另一些涉及了大量的题材,但又缺乏严谨性。《算法导论》将严谨性和全面性融为一体。   《算法导论(原书第2版)》一书深入讨论各类算法,并着力使这些算法的设计和分析能为各个层次的读者接受。各章自成体系,可以作为独立的学习单元。算法以英语和伪代码的形式描述,具备初步程序设计经验的人就能看懂。说明和解释力求浅显易懂,不失深度和数学严谨性。   《算法导论(原书第2版)》一书自第1版出版以来,已经成为世界范围内广泛使用的大学教材和专业人员的标准参考书。第2版增加了论述算法作用、概率分析与随机算法、线性规划等几章。同时,对第1版的几乎每一节都作了大量的修订。一项巧妙而又重要的修改是提前引入循环不变式,并在全书中用来证明算法的正确性。在不改变数学和分析重点的前提下,作者将许多数学基础知识从第一部分移到了附录中,并在开始部分加入了一些富有诱导性的题材。

2015-04-05

C++ Cookbook 源代码

C++ Cookbook 源代码 OReilly.C.plus.plus.Cookbook

2012-07-15

Linux内核API完全参考手册+实例源代码.part13.rar

《Linux内核API完全参考手册》以最新的Linux内核版本2.6.3 0为依据,对常用的内核API作了系统分析和归纳,内核API模块包括:内核模块机制API、进程管理内核API、进程调度内核API、中断机制内核API、内存管理内核API、内核定时机制API、内核同步机制API、文件系统内核API和设备驱动及设备管理API。 作者: 邱铁 周玉 邓莹莹    出版社:机械工业出版社 《Linux内核API完全参考手册》实例源代码 第2-10章实例训练 出版日期:2011 年1月

2012-07-15

Linux内核API完全参考手册+实例源代码.part12.rar

《Linux内核API完全参考手册》以最新的Linux内核版本2.6.3 0为依据,对常用的内核API作了系统分析和归纳,内核API模块包括:内核模块机制API、进程管理内核API、进程调度内核API、中断机制内核API、内存管理内核API、内核定时机制API、内核同步机制API、文件系统内核API和设备驱动及设备管理API。 作者: 邱铁 周玉 邓莹莹    出版社:机械工业出版社 《Linux内核API完全参考手册》实例源代码 第2-10章实例训练 出版日期:2011 年1月

2012-07-15

Linux内核API完全参考手册+实例源代码.part11.rar

《Linux内核API完全参考手册》以最新的Linux内核版本2.6.3 0为依据,对常用的内核API作了系统分析和归纳,内核API模块包括:内核模块机制API、进程管理内核API、进程调度内核API、中断机制内核API、内存管理内核API、内核定时机制API、内核同步机制API、文件系统内核API和设备驱动及设备管理API。 作者: 邱铁 周玉 邓莹莹    出版社:机械工业出版社 《Linux内核API完全参考手册》实例源代码 第2-10章实例训练 出版日期:2011 年1月

2012-07-15

Linux内核API完全参考手册+实例源代码.part10.rar

《Linux内核API完全参考手册》以最新的Linux内核版本2.6.3 0为依据,对常用的内核API作了系统分析和归纳,内核API模块包括:内核模块机制API、进程管理内核API、进程调度内核API、中断机制内核API、内存管理内核API、内核定时机制API、内核同步机制API、文件系统内核API和设备驱动及设备管理API。 作者: 邱铁 周玉 邓莹莹    出版社:机械工业出版社 《Linux内核API完全参考手册》实例源代码 第2-10章实例训练 出版日期:2011 年1月

2012-07-15

Linux内核API完全参考手册+实例源代码.part09.rar

《Linux内核API完全参考手册》以最新的Linux内核版本2.6.3 0为依据,对常用的内核API作了系统分析和归纳,内核API模块包括:内核模块机制API、进程管理内核API、进程调度内核API、中断机制内核API、内存管理内核API、内核定时机制API、内核同步机制API、文件系统内核API和设备驱动及设备管理API。 作者: 邱铁 周玉 邓莹莹    出版社:机械工业出版社 《Linux内核API完全参考手册》实例源代码 第2-10章实例训练 出版日期:2011 年1月

2012-07-15

Linux内核API完全参考手册+实例源代码.part08.rar

《Linux内核API完全参考手册》以最新的Linux内核版本2.6.3 0为依据,对常用的内核API作了系统分析和归纳,内核API模块包括:内核模块机制API、进程管理内核API、进程调度内核API、中断机制内核API、内存管理内核API、内核定时机制API、内核同步机制API、文件系统内核API和设备驱动及设备管理API。 作者: 邱铁 周玉 邓莹莹    出版社:机械工业出版社 《Linux内核API完全参考手册》实例源代码 第2-10章实例训练 出版日期:2011 年1月

2012-07-15

Linux内核API完全参考手册+实例源代码.part07.rar

《Linux内核API完全参考手册》以最新的Linux内核版本2.6.3 0为依据,对常用的内核API作了系统分析和归纳,内核API模块包括:内核模块机制API、进程管理内核API、进程调度内核API、中断机制内核API、内存管理内核API、内核定时机制API、内核同步机制API、文件系统内核API和设备驱动及设备管理API。 作者: 邱铁 周玉 邓莹莹    出版社:机械工业出版社 《Linux内核API完全参考手册》实例源代码 第2-10章实例训练 出版日期:2011 年1月

2012-07-15

Linux内核API完全参考手册+实例源代码.part06.rar

《Linux内核API完全参考手册》以最新的Linux内核版本2.6.3 0为依据,对常用的内核API作了系统分析和归纳,内核API模块包括:内核模块机制API、进程管理内核API、进程调度内核API、中断机制内核API、内存管理内核API、内核定时机制API、内核同步机制API、文件系统内核API和设备驱动及设备管理API。 作者: 邱铁 周玉 邓莹莹    出版社:机械工业出版社 《Linux内核API完全参考手册》实例源代码 第2-10章实例训练 出版日期:2011 年1月

2012-07-15

Linux内核API完全参考手册+实例源代码.part05.rar

《Linux内核API完全参考手册》以最新的Linux内核版本2.6.3 0为依据,对常用的内核API作了系统分析和归纳,内核API模块包括:内核模块机制API、进程管理内核API、进程调度内核API、中断机制内核API、内存管理内核API、内核定时机制API、内核同步机制API、文件系统内核API和设备驱动及设备管理API。 作者: 邱铁 周玉 邓莹莹    出版社:机械工业出版社 《Linux内核API完全参考手册》实例源代码 第2-10章实例训练 出版日期:2011 年1月

2012-07-15

Linux内核API完全参考手册+实例源代码.part03.rar

《Linux内核API完全参考手册》以最新的Linux内核版本2.6.3 0为依据,对常用的内核API作了系统分析和归纳,内核API模块包括:内核模块机制API、进程管理内核API、进程调度内核API、中断机制内核API、内存管理内核API、内核定时机制API、内核同步机制API、文件系统内核API和设备驱动及设备管理API。 作者: 邱铁 周玉 邓莹莹    出版社:机械工业出版社 《Linux内核API完全参考手册》实例源代码 第2-10章实例训练 出版日期:2011 年1月

2012-07-15

Linux内核API完全参考手册+实例源代码.part01.rar

《Linux内核API完全参考手册》以最新的Linux内核版本2.6.3 0为依据,对常用的内核API作了系统分析和归纳,内核API模块包括:内核模块机制API、进程管理内核API、进程调度内核API、中断机制内核API、内存管理内核API、内核定时机制API、内核同步机制API、文件系统内核API和设备驱动及设备管理API。 作者: 邱铁 周玉 邓莹莹    出版社:机械工业出版社 《Linux内核API完全参考手册》实例源代码 第2-10章实例训练 出版日期:2011 年1月

2012-07-15

Linux内核API完全参考手册+实例源代码.part04.rar

《Linux内核API完全参考手册》以最新的Linux内核版本2.6.3 0为依据,对常用的内核API作了系统分析和归纳,内核API模块包括:内核模块机制API、进程管理内核API、进程调度内核API、中断机制内核API、内存管理内核API、内核定时机制API、内核同步机制API、文件系统内核API和设备驱动及设备管理API。 作者: 邱铁 周玉 邓莹莹    出版社:机械工业出版社    《Linux内核API完全参考手册》实例源代码 第2-10章实例训练 出版日期:2011 年1月

2012-07-15

Linux内核API完全参考手册+实例源代码.part02.rar

《Linux内核API完全参考手册》以最新的Linux内核版本2.6.3 0为依据,对常用的内核API作了系统分析和归纳,内核API模块包括:内核模块机制API、进程管理内核API、进程调度内核API、中断机制内核API、内存管理内核API、内核定时机制API、内核同步机制API、文件系统内核API和设备驱动及设备管理API。 作者: 邱铁 周玉 邓莹莹    出版社:机械工业出版社    《Linux内核API完全参考手册》实例源代码 第2-10章实例训练 出版日期:2011 年1月

2012-07-15

为Linux内核打补丁

作者:Jesper Juhl,2005年8月 最后更新日期 :2006-01-05 译者:Jeffshia, 2006年8月 email: tshxiayu@126.com 在Linux内核邮件列表中一个经常被问到的问题就是怎样为Linux内核打一个补丁,或者更具体一点说, 存在这么多的主干/分支,一个补丁到底要打在哪个版本的基础内核上。希望这篇文档能够为你解释明白这 一点。 除了解释怎样应用以及卸载补丁以外,在这里还提供了一个不同内核树(以及如何为它们打上特 定补丁)的简要介绍。

2012-03-26

LINUX内核设计与实现 第二版.part2

译者序 序言 前言 第1章 linux内核简介. 1.1 追寻linus的足迹:linux简介 1.2 操作系统和内核简介 1.3 linux内核和传统unix内核的比较 1.4 linux内核版本 1.5 linux内核开发者社区 1.6 小结 第2章 从内核出发 2.1 获取内核源码 2.1.1 安装内核源代码 2.1.2 使用补丁 2.2 内核源码树 2.3 编译内核 2.3.1 减少编译的垃圾信息 2.3.2 衍生多个编译作业 2.3.3 安装内核 2.4 内核开发的特点 .2.4.1 没有libc库 2.4.2 gnu c 2,4.3 没有内存保护机制 2.4.4 不要轻易在内核中使用浮点数 2.4.5 容积小而固定的栈 2.4.6 同步和并发 2.4.7 可移植性的重要性 2.5 小结 第3章 进程管理 3.1 进程描述符及任务结构 3.1.1 分配进程描述符 3.1.2 进程描述符的存放 3.1.3 进程状态 3.1.4 设置当前进程状态 3.1.5 进程上下文 3.1.6 进程家族树 3.2 进程创建 3.2.1 写时拷贝 3.2.2 fork() 3.2.3 vfork() 3.3 线程在linux中的实现 3.4 进程终结 3.4.1 删除进程描述符 3.4.2 孤儿进程造成的进退维谷 3.5 进程小结 第4章 进程调度 4.1 策略 4.1.1 i/o消耗型和处理器消耗型的进程 4.1.2 进程优先级 4.1.3 时间片 4.1.4 进程抢占 4.1.5 调度策略的活动 4.2 linux调度算法 4.2.1 可执行队列 4.2.2 优先级数组 4.2.3 重新计算时间片 4.2.4 schedule() 4.2.5 计算优先级和时间片 4.2.6 睡眠和唤醒 4.2.7 负载平衡程序 4.3 抢占和上下文切换 4.3.1 用户抢占 4.3.2 内核抢占 4.4 实时 4.5 与调度相关的系统调用 4.5.1 与调度策略和优先级相关的系统调用 4.5.2 与处理器绑定有关的系统调用 4.5.3 放弃处理器时间 4.6 调度程序小结 第5章 系统调用 5.1 api、posix和c库 5.2 系统调用 5.2.1 系统调用号 5.1.2 系统调用的性能 5.3 系统调用处理程序 5.3.1 指定恰当的系统调用 5.3.2 参数传递 5.4 系统调用的实现 5.5 系统调用上下文 5.5.1 绑定一个系统调用的最后步骤 5.5.2 从用户空间访问系统调用 5.5.3 为什么不通过系统调用的方式实现 5.6 系统调用小结 第6章 中断和中断处理程序 6.1 中断 6.2 中断处理程序 6.3 注册中断处理程序 6.4 编写中断处理程序 6.4.1 共享的中断处理程序 6.4.2 中断处理程序实例 6.5 中断上下文 6.6 中断处理机制的实现 6.7 中断控制 6.7.1 禁止和激活中断 6.7.2 禁止指定中断线 6.7.3 中断系统的状态 6.8 别打断我,马上结束 第7章 下半部和推后执行的工作 7.1 下半部 7.1.1 为什么要用下半部 7.1.1 下半部的环境 7.2 软中断 7.2.1 软中断的实现 7.2.2 使用软中断 7.3 tasklet 7.3.1 tasklet的实现 7.3.2 使用tasklet 7.3.3 ksofiirqd 7.3.4 老的bh机制 7.4 工作队列 7.4.1 工作队列的实现 7.4.2 使用工作队列 7.4.3 老的任务队列机制 7.5 下半部机制的选择 7.6 在下半部之间加锁 7.7 下半部处理小结 第8章 内核同步介绍 8.1 临界区和竞争条件 8.2 加锁 8.2.1 到底是什么造成了并发执行 8.2.2 要保护些什么 8.3 死锁 8.4 争用和扩展性 8.5 小结 第9章 内核同步方法 9.1 原子操作 9.1.1 原子整数操作 9.1.2 原子位操作 9.2 自旋销 9.2.1 其他针对自旋锁的操作 9.2.2 自旋销和下半部 9.3 读一写自旋销 9.4 信号量 9.4.1 创建和初始化信号量 9.4.2 使用信号量 9.5 读—写信号量 9.6 自旋锁与信号量 9.7 完成变量 9.8 bkl.. 9.9 禁止抢占 9.10 顺序和屏障 9.11 小结 第10章 定时器和时间管理 10.1 内核中的时间概念 10.2 节拍率:hz 10.3 jiffies 10.3.1 jiffies的内部表示 10.3.2 jiffies的回绕 10.3.3 用户空间和hz 10.4 硬时钟和定时器 10.4.1 实时时钟 10.4.2 系统定时器 10.5 时钟中断处理程序 10.6 实际时间 10.7 定时器 10.7.1 使用定时器 10,7.2 定时器竞争条件 10.7.3 实现定时器 10.8 延迟执行 10.8.1 忙等待 10.8.2 短延迟 10.8.3 schedule_timeout() 10.8.4 设置超时时间,在等待队列上睡眠 10.9 小结 第11章 内存管理 11.1 页 11.2 区 11.3 获得页 11.3.1 获得填充为0的页 11.3.2 释放页 11.4 kmalloc() 11.4.1 gfp_mask标志 11.4.2 kfree() 11.5 vmalloc() 11.6 slab层 11.7 slab分配器的接口 11.8 在栈上的静态分配 11.9 高端内存的映射 11.9.1 永久映射 11.9.2 临时映射 11.10 每个cpu的分配 11.11 新的每个cpu接口 11.11.1 编译时的每个cpu数据 11.11.2 运行时的每个cpu数据 11.12 使用每个cpu数据的原因 11.13 分配函数的选择 第12章 虚拟文件系统 12.1 通用文件系统接口 12.1 文件系统抽象层 12.3 unix文件系统 12.4 vfs对象及其数据结构 12.5 超级块对象 12.6 索引节点对象 12.7 目录项对象 12.7.1 目录项状态 12.7.2 目录项缓存 12.7.3 目录项操作 12.8 文件对象 12.9 和文件系统相关的数据结构 12.10 和进程相关的数据结构 12.11 linux中的文件系统 第13章 块i/o层 13.1 解剖一个块设备 13.2 缓冲区和缓冲区头 13.3 bio结构体 13.4 请求队列 19.5 i/o调度程序 13.5.1 i/0调度程序的工作 13.5.2 linus电梯 13.5.3 最终期限i/o调度程序 13.5.4 预测i/0调度程序 13.5.5 完全公正的排队i/0调度程序 13.5.6 空操作的i/o调度程序 13.5.7 i/o调度程序的选择 13.6 小结 第14章 进程地址空间 14.1 内存描述符 14.1.1 分配内存描述符 14.1.2 销毁内存描述符 14.1.3 mm_struct与内核线程 14.2 内存区域 14.2.1 vma标志 14.2.2 vma操作 14.2.3 内存区域的树型结构和内存区域的链表结构 14.2.4 实际使用中的内存区域 14.3 操作内存区域 14.3.1 find_vma() 14.3.2 find_vma_prev() 14.3.3 find vma_intersection() 14.4 mmap()和do_mmap():创建地址区间 14.5 munmap()和do_munmap():删除地址区间 14.6 页表 14.7 小结 第15章 页高速缓存和页回写 15.1 页高速缓存 15.2 基树 15.3 缓冲区高速缓存 15.4 pdfiush后台例程 15.4.1 膝上型电脑模式 15.4.2 bdflush和kupdated 15.4.3 避免拥塞的方法:使用多线程 15.5 小结 第16章 模块 16.1 构建模块 16.1.1 放在内核源代码树中 16.1.2 放在内核代码外 16.2 安装模块 16.3 产生模块依赖性 16.4 载入模块 16.5 管理配置选项 16.6 模块参数 16.7 导出符号表 16.8 小结 第17章 kobject与sysfs 17.1 kobject 17.2 ktype 17.3 kset 17.4 subsystem 17.5 别混淆了这些结构体 17.6 管理和操作kobject 17.7 引用计数 17.8 sysfs 17.8.1 sysfs中添加和删除kobject 17.8.2 向sysfs中添加文件 17.9 内核事件层 17.10 小结 第18章 调试 18.1 调试前需要准备什么 18.2 内核中的bug 18.3 printk() 18.3.1 printk()函数的健壮性 18.3.2 记录等级 18.3.3 记录缓冲区 18.3.4 syslogd和klogd 18.3.5 printk()和内核开发时需要留意的一点 18.4 oops 18.4.1 ksymoops 18.4.2 kallsyms 18.5 内核调试配置选项 18.6 引发bug并打印信息 18.7 神奇的sysrq 18.8 内核调试器的传奇 18.8.1 gdb 18.8.2 kgdb 18.8.3 kdb 18.9 刺探系统 18.9.1 用uid作为选择条件 18.9.2 使用条件变量 18.9.3 使用统计量 18.9.4 重复频率限制 18.10 用二分查找法找出引发灾难的变更 18.11 当所有的努力都失败时 第19章 可移植性 19.1 linux的可移植性 19.2 字长和数据类型 19.2.1 不透明类型 19.2.2 指定数据类型 19.2.3 长度明确的类型 19.2.4 char型的符号问题 19.3 数据对齐 19.3.1 避免对齐引发的问题 19.3.2 非标准类型的对齐 19.3.3 结构体填补 19.4 字节顺序 19.4.1 高位优先和低位优先的历史 19.4.2 内核中的字节顺序 19.5 时间 19.6 页长度 19.7 处理器排序 19.8 smp、内核抢占、高端内存 19.9 小结 第20章 补丁、开发和社区 20.1 社区 20.2 linux编码风格 20.2.1 缩进 20.2.2 括号 20.2.3 每行代码的长度 20.2.4 命名规范 20.2.5 函数 20.2.6 注释 20.2.7 typedef 20.2.8 多用现成的东西 20.2.9 在源码中不要使用ifdef 20.2.10 结构初始化 20.2.11 代码的事后修正 20.3 管理系统 20.4 提交错误报告 20.5 创建补丁 20.6 提交补丁 20.7 小结 附录a 链表... 附录b 内核随机数产生器 附录c 复杂度算法

2012-03-19

LINUX内核设计与实现 第二版.part1

本书基于linux 2.6内核系列详细介绍linux内核系统,覆盖了从核心内核系统的应用到内核设计与实现等各方面内容。主要内容包括:进程管理、系统调用?中断和中断处理程序、内核同步、时间管理、内存管理、地址空间、调试技术等。本书理论联系实践,既介绍理论也讨论具体应用,能够带领读者快速走进linux内核世界,真正开发内核代码。.   本书适合作为高等院校操作系统课程的教材或参考书,也可供相关技术人员参考。..   本书填补了linux内核理论和实践细节之间的鸿沟。本书针对linux 2.6内核,包括0(1)调度程序、抢占式内核。块i/o层以及i/o调度程序等。本书还包含了linux内核开发者在开发时需要用到的很多信息,包括调试技术、编程风格、注意事项等等。   如果你是一名linux内核爱好者,本书的内容可以帮助你大显身手。如果你是一名普通程序员,本书的内容将会拓宽你的编程思路。如果你初次接触linux内核,本书则可以帮助你对内核各个核心子系统有一个整体把握。 译者序 序言 前言 第1章 linux内核简介. 1.1 追寻linus的足迹:linux简介 1.2 操作系统和内核简介 1.3 linux内核和传统unix内核的比较 1.4 linux内核版本 1.5 linux内核开发者社区 1.6 小结 第2章 从内核出发 2.1 获取内核源码 2.1.1 安装内核源代码 2.1.2 使用补丁 2.2 内核源码树 2.3 编译内核 2.3.1 减少编译的垃圾信息 2.3.2 衍生多个编译作业 2.3.3 安装内核 2.4 内核开发的特点 .2.4.1 没有libc库 2.4.2 gnu c 2,4.3 没有内存保护机制 2.4.4 不要轻易在内核中使用浮点数 2.4.5 容积小而固定的栈 2.4.6 同步和并发 2.4.7 可移植性的重要性 2.5 小结 第3章 进程管理 3.1 进程描述符及任务结构 3.1.1 分配进程描述符 3.1.2 进程描述符的存放 3.1.3 进程状态 3.1.4 设置当前进程状态 3.1.5 进程上下文 3.1.6 进程家族树 3.2 进程创建 3.2.1 写时拷贝 3.2.2 fork() 3.2.3 vfork() 3.3 线程在linux中的实现 3.4 进程终结 3.4.1 删除进程描述符 3.4.2 孤儿进程造成的进退维谷 3.5 进程小结 第4章 进程调度 4.1 策略 4.1.1 i/o消耗型和处理器消耗型的进程 4.1.2 进程优先级 4.1.3 时间片 4.1.4 进程抢占 4.1.5 调度策略的活动 4.2 linux调度算法 4.2.1 可执行队列 4.2.2 优先级数组 4.2.3 重新计算时间片 4.2.4 schedule() 4.2.5 计算优先级和时间片 4.2.6 睡眠和唤醒 4.2.7 负载平衡程序 4.3 抢占和上下文切换 4.3.1 用户抢占 4.3.2 内核抢占 4.4 实时 4.5 与调度相关的系统调用 4.5.1 与调度策略和优先级相关的系统调用 4.5.2 与处理器绑定有关的系统调用 4.5.3 放弃处理器时间 4.6 调度程序小结 第5章 系统调用 5.1 api、posix和c库 5.2 系统调用 5.2.1 系统调用号 5.1.2 系统调用的性能 5.3 系统调用处理程序 5.3.1 指定恰当的系统调用 5.3.2 参数传递 5.4 系统调用的实现 5.5 系统调用上下文 5.5.1 绑定一个系统调用的最后步骤 5.5.2 从用户空间访问系统调用 5.5.3 为什么不通过系统调用的方式实现 5.6 系统调用小结 第6章 中断和中断处理程序 6.1 中断 6.2 中断处理程序 6.3 注册中断处理程序 6.4 编写中断处理程序 6.4.1 共享的中断处理程序 6.4.2 中断处理程序实例 6.5 中断上下文 6.6 中断处理机制的实现 6.7 中断控制 6.7.1 禁止和激活中断 6.7.2 禁止指定中断线 6.7.3 中断系统的状态 6.8 别打断我,马上结束 第7章 下半部和推后执行的工作 7.1 下半部 7.1.1 为什么要用下半部 7.1.1 下半部的环境 7.2 软中断 7.2.1 软中断的实现 7.2.2 使用软中断 7.3 tasklet 7.3.1 tasklet的实现 7.3.2 使用tasklet 7.3.3 ksofiirqd 7.3.4 老的bh机制 7.4 工作队列 7.4.1 工作队列的实现 7.4.2 使用工作队列 7.4.3 老的任务队列机制 7.5 下半部机制的选择 7.6 在下半部之间加锁 7.7 下半部处理小结 第8章 内核同步介绍 8.1 临界区和竞争条件 8.2 加锁 8.2.1 到底是什么造成了并发执行 8.2.2 要保护些什么 8.3 死锁 8.4 争用和扩展性 8.5 小结 第9章 内核同步方法 9.1 原子操作 9.1.1 原子整数操作 9.1.2 原子位操作 9.2 自旋销 9.2.1 其他针对自旋锁的操作 9.2.2 自旋销和下半部 9.3 读一写自旋销 9.4 信号量 9.4.1 创建和初始化信号量 9.4.2 使用信号量 9.5 读—写信号量 9.6 自旋锁与信号量 9.7 完成变量 9.8 bkl.. 9.9 禁止抢占 9.10 顺序和屏障 9.11 小结 第10章 定时器和时间管理 10.1 内核中的时间概念 10.2 节拍率:hz 10.3 jiffies 10.3.1 jiffies的内部表示 10.3.2 jiffies的回绕 10.3.3 用户空间和hz 10.4 硬时钟和定时器 10.4.1 实时时钟 10.4.2 系统定时器 10.5 时钟中断处理程序 10.6 实际时间 10.7 定时器 10.7.1 使用定时器 10,7.2 定时器竞争条件 10.7.3 实现定时器 10.8 延迟执行 10.8.1 忙等待 10.8.2 短延迟 10.8.3 schedule_timeout() 10.8.4 设置超时时间,在等待队列上睡眠 10.9 小结 第11章 内存管理 11.1 页 11.2 区 11.3 获得页 11.3.1 获得填充为0的页 11.3.2 释放页 11.4 kmalloc() 11.4.1 gfp_mask标志 11.4.2 kfree() 11.5 vmalloc() 11.6 slab层 11.7 slab分配器的接口 11.8 在栈上的静态分配 11.9 高端内存的映射 11.9.1 永久映射 11.9.2 临时映射 11.10 每个cpu的分配 11.11 新的每个cpu接口 11.11.1 编译时的每个cpu数据 11.11.2 运行时的每个cpu数据 11.12 使用每个cpu数据的原因 11.13 分配函数的选择 第12章 虚拟文件系统 12.1 通用文件系统接口 12.1 文件系统抽象层 12.3 unix文件系统 12.4 vfs对象及其数据结构 12.5 超级块对象 12.6 索引节点对象 12.7 目录项对象 12.7.1 目录项状态 12.7.2 目录项缓存 12.7.3 目录项操作 12.8 文件对象 12.9 和文件系统相关的数据结构 12.10 和进程相关的数据结构 12.11 linux中的文件系统 第13章 块i/o层 13.1 解剖一个块设备 13.2 缓冲区和缓冲区头 13.3 bio结构体 13.4 请求队列 19.5 i/o调度程序 13.5.1 i/0调度程序的工作 13.5.2 linus电梯 13.5.3 最终期限i/o调度程序 13.5.4 预测i/0调度程序 13.5.5 完全公正的排队i/0调度程序 13.5.6 空操作的i/o调度程序 13.5.7 i/o调度程序的选择 13.6 小结 第14章 进程地址空间 14.1 内存描述符 14.1.1 分配内存描述符 14.1.2 销毁内存描述符 14.1.3 mm_struct与内核线程 14.2 内存区域 14.2.1 vma标志 14.2.2 vma操作 14.2.3 内存区域的树型结构和内存区域的链表结构 14.2.4 实际使用中的内存区域 14.3 操作内存区域 14.3.1 find_vma() 14.3.2 find_vma_prev() 14.3.3 find vma_intersection() 14.4 mmap()和do_mmap():创建地址区间 14.5 munmap()和do_munmap():删除地址区间 14.6 页表 14.7 小结 第15章 页高速缓存和页回写 15.1 页高速缓存 15.2 基树 15.3 缓冲区高速缓存 15.4 pdfiush后台例程 15.4.1 膝上型电脑模式 15.4.2 bdflush和kupdated 15.4.3 避免拥塞的方法:使用多线程 15.5 小结 第16章 模块 16.1 构建模块 16.1.1 放在内核源代码树中 16.1.2 放在内核代码外 16.2 安装模块 16.3 产生模块依赖性 16.4 载入模块 16.5 管理配置选项 16.6 模块参数 16.7 导出符号表 16.8 小结 第17章 kobject与sysfs 17.1 kobject 17.2 ktype 17.3 kset 17.4 subsystem 17.5 别混淆了这些结构体 17.6 管理和操作kobject 17.7 引用计数 17.8 sysfs 17.8.1 sysfs中添加和删除kobject 17.8.2 向sysfs中添加文件 17.9 内核事件层 17.10 小结 第18章 调试 18.1 调试前需要准备什么 18.2 内核中的bug 18.3 printk() 18.3.1 printk()函数的健壮性 18.3.2 记录等级 18.3.3 记录缓冲区 18.3.4 syslogd和klogd 18.3.5 printk()和内核开发时需要留意的一点 18.4 oops 18.4.1 ksymoops 18.4.2 kallsyms 18.5 内核调试配置选项 18.6 引发bug并打印信息 18.7 神奇的sysrq 18.8 内核调试器的传奇 18.8.1 gdb 18.8.2 kgdb 18.8.3 kdb 18.9 刺探系统 18.9.1 用uid作为选择条件 18.9.2 使用条件变量 18.9.3 使用统计量 18.9.4 重复频率限制 18.10 用二分查找法找出引发灾难的变更 18.11 当所有的努力都失败时 第19章 可移植性 19.1 linux的可移植性 19.2 字长和数据类型 19.2.1 不透明类型 19.2.2 指定数据类型 19.2.3 长度明确的类型 19.2.4 char型的符号问题 19.3 数据对齐 19.3.1 避免对齐引发的问题 19.3.2 非标准类型的对齐 19.3.3 结构体填补 19.4 字节顺序 19.4.1 高位优先和低位优先的历史 19.4.2 内核中的字节顺序 19.5 时间 19.6 页长度 19.7 处理器排序 19.8 smp、内核抢占、高端内存 19.9 小结 第20章 补丁、开发和社区 20.1 社区 20.2 linux编码风格 20.2.1 缩进 20.2.2 括号 20.2.3 每行代码的长度 20.2.4 命名规范 20.2.5 函数 20.2.6 注释 20.2.7 typedef 20.2.8 多用现成的东西 20.2.9 在源码中不要使用ifdef 20.2.10 结构初始化 20.2.11 代码的事后修正 20.3 管理系统 20.4 提交错误报告 20.5 创建补丁 20.6 提交补丁 20.7 小结 附录a 链表... 附录b 内核随机数产生器 附录c 复杂度算法

2012-03-19

Linux内核设计与实现part1

目录回到顶部↑出版者的话 专家指导委员会 译者序 序言 前言 第1章 linux内核简介 1.1 linux简介 1.2 操作系统和内核简介 1.3 linux内核和传统unix内核的比较 1.4 linux内核版本 1.5 linux内核开发者社区 1.6 内核开发的特点 1.6.1 没有libc库 1.6.2 gnu c 1.6.3 没有内存保护机制 1.6.4 不要轻易在内核中使用浮点数 1.6.5 容积小而固定的栈 1.6.6 同步和并发 1.6.7 可移植性的重要性 1.7 编译内核

2012-03-19

Linux内核设计与实现. 中英文合集

目录回到顶部↑出版者的话 专家指导委员会 译者序 序言 前言 第1章 linux内核简介 1.1 linux简介 1.2 操作系统和内核简介 1.3 linux内核和传统unix内核的比较 1.4 linux内核版本 1.5 linux内核开发者社区 1.6 内核开发的特点 1.6.1 没有libc库 1.6.2 gnu c 1.6.3 没有内存保护机制 1.6.4 不要轻易在内核中使用浮点数 1.6.5 容积小而固定的栈 1.6.6 同步和并发 1.6.7 可移植性的重要性 1.7 编译内核

2012-03-19

linux内核修炼之道

至此落笔之际,恰至Linux问世18周年,18年的成长,如梦似幻,风雨颇多,感慨颇多。 犹自忆起多年以前一位前辈训导时的箴言:今天的必然正是由之前一系列的偶然所决定的。过去的某年某月,我偶然初识Linux就身陷其中,至今仍找不到出去的路,而正是这次乃至之后的多次偶然相联合,从而决定了今日的我要在此写下这些话。那么,当您偶然地拿起这本书,偶然地看到这段话,您是否会问自己:这样的偶然又会导致什么样的必然? 如果您依然决定继续这次的偶然之旅,那么首先请认识两个人,准确的说是一个人和一只企鹅。这个人自然就是LinusTorvalds,我们也可是称他为Linus或李纳斯,正是这位来自芬兰的天才,在1991年1月2日,攥着在圣诞节和生日得到的钱,偶然地做出了一个重大的财政决定,分期三年买一台价格3500美元得相貌平平得计算机,从而Linux开始了。 企鹅则是Linux的标志,很多人可能不知道Linus,但是却可能知道这只企鹅,这是一个奇怪的现象,就像很多人知道微软,却不知道比尔盖茨。不管怎么说,是Linus塑造了这只企鹅,并让它有一副爽透了的样子,就像刚刚吞下一扎啤酒。除此之外,这只企鹅还要很特别,其他的企鹅都是黑嘴巴黑脚蹼,但它却是黄嘴巴黄脚蹼,这使它看上去好像是鸭子与企鹅的杂交品种,也许它是唐老鸭在南极之旅中与一只当地企鹅一夜倾情的结晶。

2012-03-19

Linux内核阅读——感悟

读核感悟.......................................................................2 读核感悟-Linux内核启动-内核的生成...........................................2 读核感悟-Linux内核启动-从hello world说起...................................3 读核感悟-Linux内核启动-BIOS.................................................5 读核感悟-Linux内核启动-setup辅助程序........................................6 读核感悟-Linux内核启动-内核解压缩...........................................8 读核感悟-Linux内核启动-开启页面映射.........................................9 读核感悟-Linux内核启动-链接脚本............................................11 读核感悟-伪装现场-系统调用参数.............................................

2012-03-19

linux 内核架构图

linux 内核架构图 linux高手珍藏之linux内核架构图,很详细。

2012-03-19

简单计算器

计算部分与windows自带的简单计算器基本类似。 要使用键盘时必须选择系统菜单下的使用键盘菜单项。 包含课程实验报告及使用方法

2011-10-08

十六进制编辑器

一款十六进制编辑器,汇编原码;功能强大,自定义控件

2011-10-08

文本编辑器

这是我做的一个简单的课程设计 这是一个简单的文本编辑器, 利用调用BOSE的6号 9号等功能 实现简单的文本编辑-This is what I do a simple curriculum design is a simple text editor, the use of the bose call on the 6th on the 9th functions simple text editor

2011-10-08

80X86汇编语言程序设计

华中科技大学出版社出版,课本高清版电子书

2011-10-08

简单的记事本

用WIN32汇编语言实现的一个简单的记事本,拥有常用功能-Using WIN32 assembly language to achieve a simple notepad with common functions

2011-10-08

文本编辑器

用汇编写的一个小编辑器,献给汇编爱好者,里面有源码,构建文件和exe文件-Written compiled by the editor of a small, dedicated to the compilation of lovers

2011-10-08

精通Windows_API:函数、接口、编程实例.pdf

出版社:人民邮电出版社 ·页码:547 页 ·出版日期:2009年 ·ISBN:711519095X/9787115190956 ·条形码:9787115190956 ·版本:1版 ·装帧:平装 ·开本:16 ·中文:中文 内容简介 Windows API(Windows Application Program Interface,Windows应用程序接口)是一系列函数、宏、数据类型、数据结构的集合,运行于Windows系统的应用程序,可以使用操作系统提供的接口来实现需要的功能。《精通Windows API——函数、接口、编程实例》由浅入深、循序渐进地教授读者如何使用Windows API进行Windows应用程序开发。全书共18章,分为3个部分,第1部分(第1章~第3章)介绍Windows程序设计基础;第2部分(第4章~第17章)按照程序设计的各个方面进行划分,包括文件系统、内存管理、进程与线程、用户界面、Shell程序开发、Windows GDI、Socket网络通信驱动程序开发、安全机制等内容;第3部分(第18章)作为全书的总结和补充。   《精通Windows API——函数、接口、编程实例》适合广大的Windows应用程序开发人员、VC++开发工程师、网络游戏开发人员、软件培训机构学员和高校学生阅读。 -------------------------------------------------------------------------------- 编辑推荐 从Windows应用程序开发工具讲起,引导读者快速入门 详细讲解API和关键结构的使用方法 提供156个Windows API使用实例 涵盖主题: Windows应用程序开发入门 开发工具配置与使用 文件系统 内存管理 进程、线程和模块 线程同步 服务 图形用户界面 系统信息的管理 进程间通信 Windows SheLL程序设计 WindOWS GDl 网络通信与配置 设备驱动管理与内核通信 用户、认证和对象安全 Windows API的内部原理

2011-10-01

WindowsAPI大全

新编window API参考大全 出 版 社: 电子工业出版社 Win32 API作为 Microsoft 32位平台(包括:Windows 9x,Windows NT3.1/4.0/5.0,WindowsCE)的应用程序编程接口,它是构筑所有32位Windows平台的基石,所有在Windows平台上运行的应用程序都可以调用这些函数。 从事Windows应用程序开发,离不开对Win32 API函数的调用。只有充分理解和利用API函数,才能深入到Windows的内部,充分挖掘系统提供的强大功能和灵活性。 近年来,随着Microsoft 32位平台的版本升级, Win32 API函数的构成、功能与调用方式都有很大的发展变化,然而,国内很少有相关的新版资料出版。为了满足广大开发人员的迫切需求,我们经过认真收集、整理素材,组织编写了这本与各种Microsoft 32位平台最新版本同步的Win32 API参考手册。 全书收录了五大类函数:窗口管理、图形设备接口、系统服务、国际特性以及网络服务。所有函数均附有功能说明、参数说明、返回值说明、备注以及引用说明。另外,在本书的第一章,我们对WiN32 API函数作了完整的概述;在附录部分,讲解了如何在Visual Basic和Delphi中对其调用。 由于篇幅较大,涉及技术内容广泛,加之时间仓促,书中难免存在不少错误或疏漏,希望广大读者给与批评指正。

2011-10-01

OpenGL教程—英文原版

OpenGL is the most widely available graphics programming library, and is used for almost every discipline of computer graphics: research, scientific visualization, entertainment and visual effects, computer-aided design, interactive gaming, and many more. This course provides an accelerated introduction to creating applications using OpenGL. The course takes a beginning OpenGL programmer from the basics of what's required for OpenGL operation, through geometric modeling and transformations, thoroughly discusses topics such as lighting, depth buffering, alpha blending, and texture mapping, and concludes with a brief introduction to advanced study topics such as the stencil and accumulation buffers, and display lists. Course Prerequisites Our only prerequisite is that students should be able to read simple computer programs written in the C computer language. The course does present a few concepts from linear algebra (vector notation and matrix multiplication), but knowledge of those subjects is not required for the student to successfully understand the material. Additionally, although not a course on computer graphics, we generally do introduce and define most major concepts (e.g., depth buffering, simulated lighting, etc.)

2011-10-01

程序员羊皮卷_完整版

程序员职业生涯指导 第1 章大学生活应该这样度过 3 完成一个满意的项目丰富自己 5 安排一次真正的实习,了解社会 5 失败的实习生 6 如何找到适合的实习机会 7 实习成功的三有一无 8 开发人员实习应该这样 9 参加一个社团让自己融入团队 9 承担一份责任 10 感受项目经理的无奈 11 真正感受集体的意义 12 计算机专业的学生与IT 培训 12 IT 培训的7 大陷阱 14 大学毕业了,要不要参加IT 培训 17 到底有没有救世主 20 第2 章 四招找到好工作 20 求职中的心理健康问题 20 大专生求职受歧视 21 这世界并不亏欠我们什么 23 求职中的正确态度 24 面试前充分准备 24 专注于真正的机会 25 五个步骤查实公司信息 26 筛选重点应聘目标 27 了解职位信息有的放矢 29 明确职业和发展方向 29 简历及求职信

2011-10-01

空空如也

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

TA关注的人

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