nginx+fastcgi编译与移植手册
nginx fastcgi 编译与移植 手册 nginx fastcgi 编译与移植 手册 nginx fastcgi 编译与移植 手册
encfs 交叉编译
encfs 交叉编译 encfs 交叉编译 encfs 交叉编译 encfs 交叉编译 encfs 交叉编译
基于 -64定制系统iso制作
目录
一. 制作环境的准备 2
1. 安装制作发行版的工具: 2
2. 安装Centos6.0系统 2
二. 创建定制系统(MediaCentOS 基于 CentOS6.0-64 Base server) 2
1. 光盘主要结构及文件简介 2
2. 创建设/disk目录,挂载光盘 3
3. 拷贝光盘目录 3
4. 拷贝 MediaCentOS系统所需rpm包 3
5. 定制安装控制文件ks.cfg 3
6. 修改isolinux.cfg文件 10
7. 修改安装界面文本标题 12
8.修改安装光盘背景图片 13
9. 生成comps.xml 13
10. 将媒体中心安装包拷贝到 /disk/ MediaCentOS/ 下 14
三. 制作ISO文件 14
Linux网络编程
第一章概论 ..............1
1.1 网络的历史...1
1.2 OSI 模型.......3
1.3 Internet 体系模型.............4
1.4 客户/服务器模型..............5
1.4 UNIX 的历史 ..................7
1.4.1 Unix 诞生前的故事...7
1.4.2 UNIX 的诞生.........8
1.4.3 1979 – UNIX 第七版........... 10
1.4.4 UNIX 仅仅是历史吗?........... 11
1.5 Linux 的发展................. 11
1.5.1 Linux 的发展历史.... 12
1.5.2 什么叫GNU? ..... 12
1.5.3 Linux 的特色....... 13
1.5.4 硬件需求.............. 14
1.5.5 Linux 可用的软件... 14
1.5.6 为什么选择 Linux ? .......... 15
1.6 Linux 和 Unix 的发展... 15
第二章 UNIX/Linux 模型..............17
2.1 UNIX/Linux 基本结构......17
2.2 输入和输出.....................19
2.2.1 UNIX/Linux 文件系统简介....19
2.2.2 流和标准I/O 库.....20
2.3 进程............21
第三章进程控制 ......22
3.1 进程的建立与运行..........22
3.1.1 进程的概念...........22
3.1.2 进程的建立...........22
3.1.3 进程的运行...........24
3.1.4 数据和文件描述符的继承.....29
3.2 进程的控制操作..............31
3.2.1 进程的终止...........31
3.2.2 进程的同步...........32
3.2.3 进程终止的特殊情况............33
3.2.4 进程控制的实例....33
3.3 进程的属性.....................38
3.3.1 进程标识符...........38
3.3.2 进程的组标识符....39
3.3.3 进程环境...............40
3.3.4 进程的当前目录....42
3.3.5 进程的有效标识符....43
3.3.6 进程的资源...........44
3.3.7 进程的优先级........45
3.4 守护进程.....46
3.4.1 简介...46
3.4.2 守护进程的启动...........46
3.4.3 守护进程的错误输出............46
3.4.4 守护进程的建立....48
3.5 本章小结.....49
第四章进程间通信...50
4.1 进程间通信的一些基本概念...........50
4.2 信号............50
4.2.1 信号的处理...........52
4.2.2 信号与系统调用的关系.........54
4.2.3 信号的复位...........55
4.2.4 在进程间发送信号....56
4.2.5 系统调用alarm()和pause()....58
4.2.6 系统调用setjmp()和longjmp()...........62
4.3 管道............63
4.3.1 用C 来建立、使用管道........65
4.3.2 需要注意的问题....72
4.4 有名管道.....72
4.4.1 有名管道的创建....72
4.4.2 有名管道的I/O 使用.............73
4.4.3 未提到的关于有名管道的一些注意...75
4.5 文件和记录锁定..............75
4.5.1 实例程序及其说明....75
4.5.2 锁定中的几个概念....78
4.5.3 System V 的咨询锁定............78
4.5.4 BSD 的咨询式锁定...79
4.5.5 前面两种锁定方式的比较.....81
4.5.6 Linux 的其它上锁技术..........81
4.6 System V IPC ..................84
4.6.1 ipcs 命令...............85
4.6.2 ipcrm 命令.............86
4.7 消息队列(Message Queues).........86
4.7.1 有关的数据结构....86
4.7.2 有关的函数.....
深入分析Linux内核源码
深入分析Linux内核源码
前言
第一章 走进linux
1.1 GNU与Linux的成长
1.2 Linux的开发模式和运作机制
1.3走进Linux内核
1.3.1 Linux内核的特征
1.3.2 Linux内核版本的变化
1.4 分析Linux内核的意义
1.4.1 开发适合自己的操作系统
1.4.2 开发高水平软件
1.4.3 有助于计算机科学的教学和科研
1.5 Linux内核结构
1.5.1 Linux内核在整个操系统中的位置
1.5.2 Linux内核的作用
1.5.3 Linux内核的抽象结构
1.6 Linux内核源代码
1.6.1 多版本的内核源代码
1.6.2 Linux内核源代码的结构
1.6.3 从何处开始阅读源代码
1.7 Linux内核源代码分析工具
1.7.1 Linux超文本交叉代码检索工具
1.7.2 Windows平台下的源代码阅读工具Source Insight
第二章 Linux运行的硬件基础
2.1 i386的寄存器
2.1.1通用寄存器
2.1.2段寄存器
2.1.3状态和控制寄存器
2.1.4 系统地址寄存器
2.1.5 调试寄存器和测试寄存器
2.2 内存地址
2.3 段机制和描述符
2.3.1 段机制
2.3.2 描述符的概念
2.3.3系统段描述符
2.3.4 描述符表
2.3.5 选择符与描述符表寄存器
2.3.6 描述符投影寄存器
2.3.7 Linux中的段
2.4 分页机制
2.4.1 分页机构
2.4.2页面高速缓存
2.5 Linux中的分页机制
2.5.1 与页相关的数据结构及宏的定义
2.5.2 对页目录及页表的处理
2.6 Linux中的汇编语言
2.6.1 AT&T与Intel汇编语言的比较
2.6.2 AT&T汇编语言的相关知识
2.6.3 Gcc嵌入式汇编
2.6.4 Intel386汇编指令摘要
第三章中断机制
3.1 中断基本知识
3.1.1 中断向量
3.1.2 外设可屏蔽中断
3.1.3异常及非屏蔽中断
3.1.4中断描述符表
3.1.5 相关汇编指令
3.2中断描述符表的初始化
3.2. 1 外部中断向量的设置
3.2.2中断描述符表IDT的预初始化
3.2.3 中断向量表的最终初始化
3.3异常处理
3.3.1 在内核栈中保存寄存器的值
3.3.2 中断请求队列的初始化
3.3.3中断请求队列的数据结构
3.4 中断处理
3.4.1中断和异常处理的硬件处理
3.4.2 Linux对异常和中断的处理
3.4.3 与堆栈有关的常量、数据结构及宏
3.4.4 中断处理程序的执行
3.4.5 从中断返回
3.5中断的后半部分处理机制
3.5.1 为什么把中断分为两部分来处理
3.5.2 实现机制
3.5.3数据结构的定义
3.5.4 软中断、bh及tasklet的初始化
3.5.5后半部分的执行
3.5.6 把bh移植到tasklet
第四章 进程描述
4.1 进程和程序(Process and Program)
4.2 Linux中的进程概述
4.3 task_struct结构描述
4.4 task_struct结构在内存中的存放
4.4.1 进程内核栈
4.4.2 当前进程(current宏)
4.5 进程组织的方式
4.5.1哈希表
4.5.2双向循环链表
4.5.3 运行队列
4.5.4 等待队列
4.6 内核线程
4.7 进程的权能
4.8 内核同步
4.8.1信号量
4.8.2原子操作
4.8.3 自旋锁、读写自旋锁和大读者自旋锁
4.9 本章小节
第五章进程调度
5.1 Linux时间系统
5.1.1 时钟硬件
5.1.2 时钟运作机制
5.1.3 Linux时间基准
5.1.4 Linux的时间系统
5.2 时钟中断
5.2.1 时钟中断的产生
5.2.2.Linux实现时钟中断的全过程
5.3 Linux的调度程序-Schedule( )
5.3.1 基本原理
5.3.2 Linux进程调度时机
5.3.3 进程调度的依据
5.3.4 进程可运行程度的衡量
5.3.5 进程调度的实现
5.4 进程切换
5.4.1 硬件支持
5.4.2 进程切换
第六章 Linux内存管理
6.1 Linux的内存管理概述
6.1.1 Linux虚拟内存的实现结构
6.1.2 内核空间和用户空间
6.1.3 虚拟内存实现机制间的关系
6.2 Linux内存管理的初始化
6.2.1 启用分页机制
6.2.2 物理内存的探测
6.2.3 物理内存的描述
6.2.4 页面管理机制的初步建立
6.2.5页表的建立
6.2.6内存管理区
6.3 内存的分配和回收
6.3.1 伙伴算法
6.3.2 物理页面的分配和释放
6.3.3 Slab分配机制
6.4 地址映射机制
6.4.1 描述虚拟空间的数据结构
6.4.2 进程的虚拟空间
6.4.3 内存映射
6.5 请页机制
6.5.1 页故障的产生
6.5.2 页错误的定位
6.5.3 进程地址空间中的缺页异常处理
6.5.4 请求调页
6.5.5 写时复制
6.6 交换机制
6.6.1 交换的基本原理
6.6.2 页面交换守护进程kswapd
6.6.3 交换空间的数据结构
6.6.4 交换空间的应用
6.7 缓存和刷新机制
6.7.1 Linux使用的缓存
6.7.2 缓冲区高速缓存
6.7.3 翻译后援存储器(TLB)
6.7.4 刷新机制
6.8 进程的创建和执行
6.8.1 进程的创建
6.8.2 程序执行
6.8.3 执行函数
第七章 进程间通信
7.1 管道
7.1.1 Linux管道的实现机制
7.1.2 管道的应用
7.1.3 命名管道(FIFO)
7.2 信号(signal)
7.2.1 信号种类
7.2.2 信号掩码
7.2.3 系统调用
7.2.4 典型系统调用的实现
7.2.5 进程与信号的关系
7.2.6 信号举例
7.3 System V 的IPC机制
7.3.1 信号量
7.3.2 消息队列
7.3.3 共享内存
第八章 虚拟文件系统
8.1 概述
8.2 VFS中的数据结构
8.2.1 超级块
8.2.2 VFS的索引节点
8.2.3 目录项对象
8.2.4 与进程相关的文件结构
8.2.5 主要数据结构间的关系
8.2.6 有关操作的数据结构
8.3 高速缓存
8.3.1 块高速缓存
8.3.2 索引节点高速缓存
8.3.3 目录高速缓存
8.4 文件系统的注册、安装与拆卸
8.4.1 文件系统的注册
8.4.2 文件系统的安装
8.4.3 文件系统的卸载
8.5 限额机制
8.6 具体文件系统举例
8.6.1 管道文件系统pipefs
8.6.2 磁盘文件系统BFS
8.7 文件系统的系统调用
8.7.1 open 系统调用
8.7.2 read 系统调用
8.7.3 fcntl 系统调用
8 .8 Linux2.4文件系统的移植问题
第九章 Ext2文件系统
9.1 基本概念
9.2 Ext2的磁盘布局和数据结构
9.2.1 Ext2的磁盘布局
9.2.2 Ext2的超级块
9.2.3 Ext2的索引节点
9.2.4 组描述符
9.2.5 位图
9.2.6 索引节点表及实例分析
9.2.7 Ext2的目录项及文件的定位
9.3 文件的访问权限和安全
9.4 链接文件
9.5 分配策略
9.5.1 数据块寻址
9.5.2 文件的洞
9.5.3 分配一个数据块
第十章 模块机制
10.1 概述
10.1.1 什么是模块
10.1.2 为什么要使用模块?
10.2 实现机制
10.2.1 数据结构
10.2.2 实现机制的分析
10.3 模块的装入和卸载
10.3.1 实现机制
10.3.2 如何插入和卸载模块
10.4 内核版本
10.4.1 内核版本与模块版本的兼容性
10.4.2 从版本2.0到2.2内核API的变化
10.4.3 把内核2.2移植到内核2.4
10.5 编写内核模块
10.5.1 简单内核模块的编写
10.5.2 内核模块的Makefiles文件
10.5.3 内核模块的多个文件
第十一章 设备驱动程序
11.1 概述
11.1.1 I/O软件
11.1.2 设备驱动程序
11.2 设备驱动基础
11.2.1 I/O端口
11.2.2 I/O接口及设备控制器
11.2.3 设备文件
11.2.4 VFS对设备文件的处理
11.2.5 中断处理
11.2.6 驱动DMA工作
11.2.7 I/O 空间的映射
11.2.8 设备驱动程序框架
11.3 块设备驱动程序
11.3.1 块设备驱动程序的注册
11.3.2 块设备基于缓冲区的数据交换
11.3.3 块设备驱动程序的几个函数
11.3.4 RAM 盘驱动程序的实现
11.3.5 硬盘驱动程序的实现
11.4 字符设备驱动程序
11.4.1 简单字符设备驱动程序
11.4.2 字符设备驱动程序的注册
11.4.3 一个字符设备驱动程序的实例
11.4.4 驱动程序的编译与装载
第十二章 网络
12.1 概述
12.2 网络协议
12.2.1 网络参考模型
12.2.2 TCP/IP 协议工作原理及数据流
12.2.3 Internet 协议
12.2.4 TCP协议
12.3 套接字(socket)
12.3.1 套接字在网络中的地位和作用
12.3.2 套接字接口的种类
12.3.3 套接字的工作原理
12.3.4 socket 的通信过程
12.3.5 socket为用户提供的系统调用
12.4 套接字缓冲区(sk_buff)
12.4.1 套接字缓冲区的特点
12.4.2 套接字缓冲区操作基本原理
12.4.3 sk_buff数据结构的核心内容
12.4.4 套接字缓冲区提供的函数
12.4.5 套接字缓冲区的上层支持例程
12.5 网络设备接口
12.5.1 基本结构
12.5.2 命名规则
12.5.3 设备注册
12.5.4 网络设备数据结构
12.5.5 支持函数
第十三章 启动系统
13.1 初始化流程
13.1.1 系统加电或复位
13.1.2 BIOS启动
13.1.3 Boot Loader
13.1.4 操作系统的初始化
13.2 初始化的任务
13.2.1 处理器对初始化的影响
13.2.2 其他硬件设备对处理器的影响
13.3 Linux 的Boot Loarder
13.3.1 软盘的结构
13.3.2 硬盘的结构
13.3.3 Boot Loader
13.3.4 LILO
13.3.5 LILO的运行分析
13.4 进入操作系统
13.4.1 Setup.S
13.4.2 Head.S
13.5 main.c中的初始化
13.6 建立init进程
13.6.1 init进程的建立
13.6.2 启动所需的Shell脚本文件
附录:
1 Linux 2.4内核API
2.1 驱动程序的基本函数
2.2 双向循环链表的操作
2.3 基本C库函数
2.4 Linux内存管理中Slab缓冲区
2.5 Linux中的VFS
2.6 Linux的连网
2.7 网络设备支持
2.8 模块支持
2.9 硬件接口
2.10 块设备
2.11 USB 设备
2 参考文献
linux c 常用函数
信号处理篇
内存及字符串操作篇
内存控制篇
字符串转换篇
字符测试篇
常用数学函数篇
接口处理篇
数据结构及算法篇
文件内容操作篇
文件操作篇
文件权限控制篇
日期时间篇
环境变量篇
用户组篇
终端控制篇
进程操作篇
UNIX环境高级编程
目 录
译者序
译者简介
前言
第1章 UNIX基础知识 1
1.1 引言 1
1.2 登录 1
1.2.1 登录名 1
1.2.2 shell 1
1.3 文件和目录 2
1.3.1 文件系统 2
1.3.2 文件名 2
1.3.3 路径名 2
1.3.4 工作目录 4
1.3.5 起始目录 4
1.4 输入和输出 5
1.4.1 文件描述符 5
1.4.2 标准输入、标准输出和标准
出错 5
1.4.3 不用缓存的I/O 5
1.4.4 标准I/O 6
1.5 程序和进程 7
1.5.1 程序 7
1.5.2 进程和进程ID 7
1.5.3 进程控制 7
1.6 ANSI C 9
1.6.1 函数原型 9
1.6.2 类属指针 9
1.6.3 原始系统数据类型 10
1.7 出错处理 10
1.8 用户标识 11
1.8.1 用户ID 11
1.8.2 组ID 12
1.8.3 添加组ID 12
1.9 信号 12
1.10 UNIX时间值 14
1.11 系统调用和库函数 14
1.12 小结 16
习题 16
第2章 UNIX标准化及实现 17
2.1 引言 17
2.2 UNIX标准化 17
2.2.1 ANSI C 17
2.2.2 IEEE POSIX 18
2.2.3 X/Open XPG3 19
2.2.4 FIPS 19
2.3 UNIX实现 19
2.3.1 SVR4 20
2.3.2 4.3+BSD 20
2.4 标准和实现的关系 21
2.5 限制 21
2.5.1 ANSI C限制 22
2.5.2 POSIX限制 22
2.5.3 XPG3限制 24
2.5.4 sysconf、pathconf 和fpathconf
函数 24
2.5.5 FIPS 151-1要求 28
2.5.6 限制总结 28
2.5.7 未确定的运行时间限制 29
2.6 功能测试宏 32
2.7 基本系统数据类型 32
2.8 标准之间的冲突 33
2.9 小结 34
习题 34
第3章 文件I/O 35
3.1 引言 35
3.2 文件描述符 35
3.3 open函数 35
3.4 creat函数 37
3.5 close函数 37
3.6 lseek函数 38
3.7 read函数 40
3.8 write函数 41
3.9 I/O的效率 41
3.10 文件共享 42
3.11 原子操作 45
3.11.1 添加至一个文件 45
3.11.2 创建一个文件 45
3.12 dup和dup2函数 46
3.13 fcntl函数 47
3.14 ioctl函数 50
3.15 /dev/fd 51
3.16 小结 52
习题 52
第4章 文件和目录 54
4.1 引言 54
4.2 stat, fstat和lstat函数 54
4.3 文件类型 55
4.4 设置-用户-ID和设置-组-ID 57
4.5 文件存取许可权 58
4.6 新文件和目录的所有权 60
4.7 access函数 60
4.8 umask函数 62
4.9 chmod和fchmod函数 63
4.10 粘住位 65
4.11 chown, fchown和 lchown函数 66
4.12 文件长度 67
4.13 文件截短 68
4.14 文件系统 69
4.15 link, unlink, remove和rename
函数 71
4.16 符号连接 73
4.17 symlink 和readlink函数 76
4.18 文件的时间 76
4.19 utime函数 78
4.20 mkdir和rmdir函数 79
4.21 读目录 80
4.22 chdir, fchdir和getcwd函数 84
4.23 特殊设备文件 86
4.24 sync和fsync函数 87
4.25 文件存取许可权位小结 88
4.26 小结 89
习题 89
第5章 标准I/O库 91
5.1 引言 91
5.2 流和FILE对象 91
5.3 标准输入、标准输出和标准出错 91
5.4 缓存 91
5.5 打开流 94
5.6 读和写流 96
5.6.1 输入函数 96
5.6.2 输出函数 97
5.7 每次一行I/O 98
5.8 标准I/O的效率 99
5.9 二进制I/O 100
5.10 定位流 102
5.11 格式化I/O 103
5.11.1 格式化输出 103
5.11.2 格式化输入 103
5.12 实现细节 104
5.13 临时文件 105
5.14 标准I/O的替代软件 108
5.15 小结 108
习题 108
第6章 系统数据文件和信息 110
6.1 引言 110
6.2 口令文件 110
6.3 阴影口令 112
6.4 组文件 113
6.5 添加组ID 114
6.6 其他数据文件 115
6.7 登录会计 116
6.8 系统标识 116
6.9 时间和日期例程 117
6.10 小结 121
习题 121
第7章 UNIX进程的环境 122
7.1 引言 122
7.2 main 函数 122
7.3 进程终止 122
7.3.1 exit和_exit函数 122
7.3.2 atexit函数 124
7.4 命令行参数 125
7.5 环境表 126
7.6 C程序的存储空间布局 126
7.7 共享库 127
7.8 存储器分配 128
7.9 环境变量 130
7.10 setjmp 和longjmp函数 132
7.10.1 自动、寄存器和易失变量 134
7.10.2 自动变量的潜在问题 136
7.11 getrlimit 和setrlimit函数 136
7.12 小结 139
习题 140
第8章 进程控制 141
8.1 引言 141
8.2 进程标识 141
8.3 fork函数 142
8.4 vfork 函数 145
8.5 exit函数 147
8.6 wait和waitpid函数 148
8.7 wait3和wait4函数 152
8.8 竞态条件 153
8.9 exec函数 156
8.10 更改用户ID和组ID 160
8.10.1 setreuid 和setregid函数 162
8.10.2 seteuid和 setegid函数 163
8.10.3 组ID 163
8.11 解释器文件 164
8.12 system函数 167
8.13 进程会计 171
8.14 用户标识 175
8.15 进程时间 176
8.16 小结 178
习题 178
第9章 进程关系 180
9.1 引言 180
9.2 终端登录 180
9.2.1 4.3+BSD终端登录 180
9.2.2 SVR4终端登录 182
9.3 网络登录 182
9.3.1 4.3+BSD网络登录 182
9.3.2 SVR4网络登录 183
9.4 进程组 183
9.5 对话期 184
9.6 控制终端 185
9.7 tcgetpgrp 和tcsetpgrp函数 187
9.8 作业控制 187
9.9 shell执行程序 189
9.10 孤儿进程组 193
9.11 4.3+BSD实现 195
9.12 小结 197
习题 197
第10章 信号 198
10.1 引言 198
10.2 信号的概念 198
10.3 signal函数 203
10.3.1 程序起动 205
10.3.2 进程创建 206
10.4 不可靠的信号 206
10.5 中断的系统调用 207
10.6 可再入函数 209
10.7 SIGCLD语义 211
10.8 可靠信号术语和语义 213
10.9 kill和raise函数 213
10.10 alarm和pause函数 214
10.11 信号集 219
10.12 sigprocmask 函数 220
10.13 sigpending函数 222
10.14 sigaction函数 223
10.15 sigsetjmp 和siglongjmp函数 226
10.16 sigsuspend函数 229
10.17 abort函数 234
10.18 system函数 235
10.19 sleep函数 240
10.20 作业控制信号 241
10.21 其他特征 243
10.21.1 信号名字 243
10.21.2 SVR4信号处理程序的附
加参数 244
10.21.3 4.3+BSD信号处理程序的附
加参数 244
10.22 小结 244
习题 244
第11章 终端I/O 246
11.1 引言 246
11.2 综述 246
11.3 特殊输入字符 250
11.4 获得和设置终端属性 254
11.5 终端选择标志 254
11.6 stty命令 258
11.7 波特率函数 259
11.8 行控制函数 260
11.9 终端标识 260
11.10 规范方式 263
11.11 非规范方式 266
11.12 终端的窗口大小 270
11.13 termcap, terminfo和 curses 271
11.14 小结 272
习题 272
第12章 高级I/O 273
12.1 引言 273
12.2 非阻塞I/O 273
12.3 记录锁 275
12.3.1 历史 276
12.3.2 fcntl记录锁 276
12.3.3 锁的隐含继承和释放 280
12.3.4 4.3+BSD的实现 281
12.3.5 建议性锁和强制性锁 284
12.4 流 288
12.4.1 流消息 289
12.4.2 putmsg和putpmsg函数 290
12.4.3 流ioctl操作 291
12.4.4 write至流设备 294
12.4.5 写方式 294
12.4.6 getmsg和getpmsg函数 294
12.4.7 读方式 295
12.5 I/O多路转接 296
12.5.1 select函数 298
12.5.2 poll函数 301
12.6 异步I/O 303
12.6.1 SVR4 303
12.6.2 4.3+BSD 303
12.7 readv和writev函数 304
12.8 readn和writen函数 306
12.9 存储映射I/O 307
12.10 小结 311
习题 311
第13章 精灵进程 312
13.1 引言 312
13.2 精灵进程的特征 312
13.3 编程规则 313
13.4 出错记录 314
13.4.1 SVR4流log驱动程序 315
13.4.2 4.3+BSD syslog设施 316
13.5 客户机-服务器模型 319
13.6 小结 319
习题 319
第14章 进程间通信 320
14.1 引言 320
14.2 管道 320
14.3 popen和pclose函数 325
14.4 协同进程 330
14.5 FIFO 333
14.6 系统V IPC 335
14.6.1 标识符和关键字 336
14.6.2 许可权结构 337
14.6.3 结构限制 337
14.6.4 优点和缺点 337
14.7 消息队列 338
14.8 信号量 342
14.9 共享存储 346
14.10 客户机-服务器属性 351
14.11 小结 353
习题 353
第15章 高级进程间通信 355
15.1 引言 355
15.2 流管道 355
15.3 传送文件描述符 358
15.3.1 SVR4 360
15.3.2 4.3BSD 361
15.3.3 4.3+BSD 364
15.4 open服务器第1版 366
15.5 客户机-服务器连接函数 371
15.5.1 SVR4 372
15.5.2 4.3+BSD 375
15.6 open服务器第2版 378
15.7 小结 385
习题 385
第16章 数据库函数库 386
16.1 引言 386
16.2 历史 386
16.3 函数库 386
16.4 实现概述 388
16.5 集中式或非集中式 390
16.6 并发 391
16.6.1 粗锁 391
16.6.2 细锁 391
16.7 源码 392
16.8 性能 409
16.8.1 单进程的结果 410
16.8.2 多进程的结果 410
16.9 小结 412
习题 412
第17章 与PostScript打印机通信 413
17.1 引言 413
17.2 PostScript通信机制 413
17.3 假脱机打印 415
17.4 源码 417
17.5 小结 434
习题 434
第18章 调制解调器拨号器 435
18.1 引言 435
18.2 历史 435
18.3 程序设计 436
18.4 数据文件 437
18.5 服务器设计 439
18.6 服务器源码 439
18.7 客户机设计 463
18.7.1 终端行规程 463
18.7.2 一个进程还是两个进程 464
18.8 客户机源码 465
18.9 小结 474
习题 474
第19章 伪终端 476
19.1 引言 476
19.2 概述 476
19.2.1 网络登录服务器 477
19.2.2 script程序 478
19.2.3 expect程序 479
19.2.4 运行协同进程 479
19.2.5 观看长时间运行程序的输出 479
19.3 打开伪终端设备 480
19.3.1 SVR4 481
19.3.2 4.3+BSD 482
19.4 pty_fork函数 484
19.5 pty程序 486
19.6 使用pty程序 489
19.6.1 utmp文件 489
19.6.2 作业控制交互 489
19.6.3 检查长时间运行程序的输出 491
19.6.4 script程序 491
19.6.5 运行协同进程 492
19.6.6 用非交互模式驱动交互式
程序 492
19.7 其他特性 494
19.7.1 打包模式 494
19.7.2 远程模式 494
19.7.3 窗口大小变化 495
19.7.4 信号发生 495
19.8 小结 495
习题 495
附录A 函数原型 497
附录B 其他源代码 512
附录C 习题答案 518
参考书目 536
GNU make中文手册
本文比较完整的讲述GNU make工具,涵盖GNU make的用法、语法。同时重点讨论如何为一个工程编写Makefile。作为一个Linux程序员,make工具的使用以及编写Makefile是必需的。系统、详细讲述make的中文资料比较少,出于对广大中文Linuxer的支持,本人在工作之余,花了18个多月时间完成对“info make”的翻译整理,完成这个中文版手册。本书不是一个纯粹的语言翻译版本,其中对GNU make的一些语法和用法根据我个人的工作经验进行了一些详细分析和说明,也加入了一些个人的观点和实践总结。本书的所有的例子都可以在支持V3.8版本的GNU make的系统中正确执行。
手把手教你把Vim改装成一个IDE编程环境
Linux下编程一直被诟病的一点是: 没有一个好用的IDE, 但是听说Linux牛人, 黑客之类的也都不用IDE. 但是对我等从Windows平台转移过来的Coder来说, 一个好用的IDE是何等的重要啊, 估计很多人就是卡在这个门槛上了, "工欲善其事, 必先利其器"嘛, 我想如果有一个很好用的IDE, 那些Linux牛人也会欢迎的. 这都是劳动人民的美好愿望罢了, 我今天教大家把gvim改装成一个简易IDE, 说它"简易"是界面上看起来"简易", 但功能绝对不比一个好的IDE差, 该有的功能都有, 不该有的功能也有, 你就自己没事偷着乐吧, 下面我开始介绍今天的工作了.
vim 中文手册
不要试图从本手册中去获取什么知识, 使用Vim更多的是一种技能而
不是一种知识, Vim的学习需要的更多的不是头脑而是双手, 经常按书中
的指示进行示例性的操作, 在学习Vim众多精致的技巧时, 不要贪图一下
子全都掌握, 最好是看一条技巧后, 马上在编辑器上进行操作, 这样在以
后实际的编辑操作时你的手指就会建立一种自然的反应而不是由头脑来搜
索该使用哪一条操作技巧. 建议读者不动手来不读书. 如果手边没有一
个合适的Vim编辑器环境可供操练, 那么建议读者还是不要在这里浪费时
间.
高级shell编程 第五部分 高级shell编程技巧(共5部分)
第五部分 高级shell编程技巧
第25章 深入讨论<<
第26章 shell 工 具
第27章 几个脚本例子
第28章 运行级别脚本
第29章 cgi 脚 本
附录 常用shell命令
高级shell编程 第四部分 基础s h e l l编程(共5部分)
第四部分 基础s h e l l编程
第16章 shell脚本介绍
第17章 条件测试
第18章 控制流结构
第19章 shell 函 数
第20章 向脚本传递参数
第21章 创建屏幕输出
第22章 创建屏幕输入
第23章 调试脚本
第24章 shell嵌入命令
高级shell编程 第三部分 登录环境(共5部分)
第三部分 登 录 环 境
第13章 登录环境
第14章 环境和shell变量
第15章 引 号
高级shell编程 第二部分文本过 滤(共5部分)
第二部分 文 本 过 滤
第7章 正则表达式介绍
第8章 grep 家 族
第9章 AWK 介 绍
第10章 sed 用法介绍
第11章 合并与分割
第12章 tr 用 法
高级shell编程 第一部分 s h e l l (共5部分)
第一部分 s h e l l
第1章 文件安全与权限
第2章 使用find和xargs
第3章 后台执行命令
第4章 文件名置换
第5章 shell输入与输出
第6章 命令执行顺序
linux 常用命令
Linux命令速查手册 Linux命令速查手册 Linux命令速查手册 Linux命令速查手册
blue_ts 一帧蓝屏的ts 流
blue ts blue ts blue ts blue ts blue ts blue ts blue ts blue ts blue ts blue ts blue ts blue ts blue ts blue ts blue ts blue ts blue ts
blue ts blue ts blue ts
blue ts blue ts blue ts
如何建立windows与Linux间的访问(smb)?
smb 服务器配置
smb 服务器配置
smb 服务器配置
smb 服务器配置
smb 服务器配置
smb 服务器配置
smb 服务器配置
sed awk grep
sed awk grep
sed awk grepsed awk grep
sed awk grep
sed awk grep
sed awk grep
sed awk grep
sed awk grep
sed awk grep
c 数据结构 链表源码
c 数据结构 链表源码
c 数据结构 链表源码
c 数据结构 链表源码
c 数据结构 链表源码
c 数据结构 链表源码
c 数据结构 链表源码
Linux热插拔实现
将可移动设备连入系统时,系统的后台中会依次发生如下事件:
l 内核检测到新硬件插入,然后分别通知hotplug和udev。前者用来装入相应的内核模块(如usb-storage),而后者用来在/dev中创建相应的设备节点(如/dev/sda1)。
l udev创建了相应的设备节点之后,会将这一消息通知hal的守护程序(hald)。当然udev还得保证新创建的设备节点可以被普通用户访问。
l hotplug装入了相应的内核模块之后,会把这一消息通知给hald。
l hald在受到hotplug和udev发出的消息之后,认为新硬件已经正式被系统认可了。此时它会通过一系列精心编写的规则文件(就是传说中的xxx-policy.fdi),把发现新硬件的消息通过dbus发送出去,同时还会调用update-fstab或fstab-sync来更新/etc/fstab,为相应的设备节点创建适合的挂载点。
l 卷管理器会监听dbus中发现新硬件的消息。根据所插入的硬件(区分U盘和数码相机等)不同,卷管理器会先将相应的设备节点挂载到hald创建的挂载点上,然后再打开不同的应用程序。
当然,如果是在CDROM中插入光盘,过程可能比较简单。因为CDROM本身就是一个固定的硬件,无需hotplug和udev的协助:
l hald会自己监视CDROM,并且将光盘托架开合的消息通过dbus发出去。
l 卷管理器负责检查CDROM中的盘片内容,进行挂载,并调用合适的应用程序。
要注意,hald的工作是从上游得到硬件就绪的消息,然后将这个消息转发到dbus中。尽管它会调用程序来更新fstab,但实际上它自己并不执行挂载的工作。
gvim72 for windows
gvim72 for windows
gvim72 for windows
gvim72 for windows
gvim72 for windows
gvim+ctags+taglist
(1) 下载gvim72.exe并安装
(2) 下载ctags57w32.zip (ctags) http://d.download.csdn.net/down/412021/xidian1987
解压后将ctags.exe放置到C:\windows\system32\
"开始" --> "运行" --> "cmd"
C:\Documents and Settings\Administrator>cd (进入源码所在目录)
D:\soft\linux-2.6.26\linux-2.6.26>ctags -R * (生成tags文件)
(3) 下载taglist_45.zip (tlist)
解压后将taglist_45\plugin\taglist.vim放置到C:\Program Files\Vim\vim71\plugin
将taglist_45\doc\taglist.txt放置到C:\Program Files\Vim\vim71\doc
编辑D:\Program Files\Vim\_vimrc
linux book
一本关于Linux 使用 非常详尽的书!
一本关于Linux 使用 非常详尽的书!
一本关于Linux 使用 非常详尽的书!
mips交叉编译环境 共 5 部分 (4)
驱动器 D 中的卷是 LINUX
卷的序列号是 4471-561B
D:\桌面\mips交叉编译环境 的目录
2009-10-22 20:27 <DIR> .
2009-10-22 20:27 <DIR> ..
2009-10-22 20:09 27,425,338 gcc-3.4.3.tar.bz2
2009-10-22 20:08 7,421,782 binutils-2.10.91.0.2.tar.bz2
2009-10-22 20:08 242,445 glibc-linuxthreads-2.5.tar.bz2
2009-10-22 20:10 20,544,628 glibc-2.5.tar.gz
2009-10-22 20:20 1,720 elf-machine-rela-mips.dpatch
2009-10-22 20:26 4,727 建立基于linux的MIPS交叉编译环境 .txt
6 个文件 55,640,640 字节
2 个目录 6,793,084,928 可用字节
三、构建过程
1、准备环境
目标平台: mipsel-linux(即little endian,x86也是little endian的,不懂的话自己到网上查资料吧)
安装目录: /usr/local/crossdev
源代码安装目录: /usr/local/src
注:没有的目录请自行建立。
2、准备MIPS环境的头文件
我们是在i386下编译的,但要使用MIPS的头文件定义才能正确编译MIPS的交叉编译工具。这些头文件都在kernel源程序中。
cd /usr/local/src/
tar xzvf linux-2.4.2.tar.gz
cd linux/
make ARCH=mips menuconfig
在"CPU selection"中, 选中"(R3000) CPU type",也可以选你实际的MIPS平台的CPU类型
在"General setup"中, 选中"Generate little endian code"
make dep
mkdir -p /usr/local/crossdev/mipsel-linux/include
cp -r /usr/local/src/linux/include/asm-mips /usr/local/crossdev/mipsel-linux/include/asm
cp -r /usr/local/src/linux/include/linux /usr/local/crossdev/mipsel-linux/include/
3、编译binutils
cd /usr/local/src/
tar xzvf binutils-2.11.90.0.31.tar.gz
cd binutils-2.11.90.0.31/
./configure --target=mipsel-linux --prefix=/usr/local/crossdev
make
make install
export PATH=/usr/local/crossdev/bin:$PATH
4、编译自举的(bootstrap)gcc
因为这时还没有MIPS的glibc库可以使用,只能编译一个最简单的gcc,用这个gcc编译出glibc后就可以再编译一个完成的gcc了。
cd /usr/local/src/
tar xzvf gcc-3.0.2.tar.gz
cd gcc-3.0.2/
./configure --target=mipsel-linux --prefix=/usr/local/crossdev --enable-languages=c --with-newlib --disable-shared
make
make install
注:以上编译安装的工具已经可以直接编译MIPS的kernel(make zImage)了。
5、编译glibc
现在可以使用刚才建立的binutils和gcc来编译MIPS的glibc了。
cd /usr/local/src/
tar xzvf glibc-2.2.3.tar.gz
cd glibc-2.2.3/
tar xzvf ../glibc-linuxthreads-2.2.3.tar.gz
patch -p1 < ../glibc-2.2.3-mips-base-addr-got.diff
CC=mipsel-linux-gcc AR=mipsel-linux-ar RANLIB=mipsel-linux-ranlib ./configure --host=mipsel-linux --prefix=/usr/local/crossdev/mipsel-linux --enable-add-ons=linuxthreads
make
make install
6、重新编译完整的gcc
cd /usr/local/src/
rm -rf gcc-3.0.2/
tar xzvf gcc-3.0.2.tar.gz
cd gcc-3.0.2/
./configure --target=mipsel-linux --prefix=/usr/local/crossdev --enable-languages=c,c++
make
make install
以上就构建好了一套自己的MIPS交叉编译环境,目录在/usr/local/crossdev下,你可以把它打包拷贝到其它i386的Linux系统下也能使用。
要使用其来交叉编译时请先加上PATH环境变量:export PATH=/usr/local/crossdev/bin:$PATH
mips交叉编译环境 共 5 部分 (3)
驱动器 D 中的卷是 LINUX
卷的序列号是 4471-561B
D:\桌面\mips交叉编译环境 的目录
2009-10-22 20:27 <DIR> .
2009-10-22 20:27 <DIR> ..
2009-10-22 20:09 27,425,338 gcc-3.4.3.tar.bz2
2009-10-22 20:08 7,421,782 binutils-2.10.91.0.2.tar.bz2
2009-10-22 20:08 242,445 glibc-linuxthreads-2.5.tar.bz2
2009-10-22 20:10 20,544,628 glibc-2.5.tar.gz
2009-10-22 20:20 1,720 elf-machine-rela-mips.dpatch
2009-10-22 20:26 4,727 建立基于linux的MIPS交叉编译环境 .txt
6 个文件 55,640,640 字节
2 个目录 6,793,084,928 可用字节
三、构建过程
1、准备环境
目标平台: mipsel-linux(即little endian,x86也是little endian的,不懂的话自己到网上查资料吧)
安装目录: /usr/local/crossdev
源代码安装目录: /usr/local/src
注:没有的目录请自行建立。
2、准备MIPS环境的头文件
我们是在i386下编译的,但要使用MIPS的头文件定义才能正确编译MIPS的交叉编译工具。这些头文件都在kernel源程序中。
cd /usr/local/src/
tar xzvf linux-2.4.2.tar.gz
cd linux/
make ARCH=mips menuconfig
在"CPU selection"中, 选中"(R3000) CPU type",也可以选你实际的MIPS平台的CPU类型
在"General setup"中, 选中"Generate little endian code"
make dep
mkdir -p /usr/local/crossdev/mipsel-linux/include
cp -r /usr/local/src/linux/include/asm-mips /usr/local/crossdev/mipsel-linux/include/asm
cp -r /usr/local/src/linux/include/linux /usr/local/crossdev/mipsel-linux/include/
3、编译binutils
cd /usr/local/src/
tar xzvf binutils-2.11.90.0.31.tar.gz
cd binutils-2.11.90.0.31/
./configure --target=mipsel-linux --prefix=/usr/local/crossdev
make
make install
export PATH=/usr/local/crossdev/bin:$PATH
4、编译自举的(bootstrap)gcc
因为这时还没有MIPS的glibc库可以使用,只能编译一个最简单的gcc,用这个gcc编译出glibc后就可以再编译一个完成的gcc了。
cd /usr/local/src/
tar xzvf gcc-3.0.2.tar.gz
cd gcc-3.0.2/
./configure --target=mipsel-linux --prefix=/usr/local/crossdev --enable-languages=c --with-newlib --disable-shared
make
make install
注:以上编译安装的工具已经可以直接编译MIPS的kernel(make zImage)了。
5、编译glibc
现在可以使用刚才建立的binutils和gcc来编译MIPS的glibc了。
cd /usr/local/src/
tar xzvf glibc-2.2.3.tar.gz
cd glibc-2.2.3/
tar xzvf ../glibc-linuxthreads-2.2.3.tar.gz
patch -p1 < ../glibc-2.2.3-mips-base-addr-got.diff
CC=mipsel-linux-gcc AR=mipsel-linux-ar RANLIB=mipsel-linux-ranlib ./configure --host=mipsel-linux --prefix=/usr/local/crossdev/mipsel-linux --enable-add-ons=linuxthreads
make
make install
6、重新编译完整的gcc
cd /usr/local/src/
rm -rf gcc-3.0.2/
tar xzvf gcc-3.0.2.tar.gz
cd gcc-3.0.2/
./configure --target=mipsel-linux --prefix=/usr/local/crossdev --enable-languages=c,c++
make
make install
以上就构建好了一套自己的MIPS交叉编译环境,目录在/usr/local/crossdev下,你可以把它打包拷贝到其它i386的Linux系统下也能使用。
要使用其来交叉编译时请先加上PATH环境变量:export PATH=/usr/local/crossdev/bin:$PATH
mips交叉编译环境 共 5 部分 (2)
驱动器 D 中的卷是 LINUX
卷的序列号是 4471-561B
D:\桌面\mips交叉编译环境 的目录
2009-10-22 20:27 <DIR> .
2009-10-22 20:27 <DIR> ..
2009-10-22 20:09 27,425,338 gcc-3.4.3.tar.bz2
2009-10-22 20:08 7,421,782 binutils-2.10.91.0.2.tar.bz2
2009-10-22 20:08 242,445 glibc-linuxthreads-2.5.tar.bz2
2009-10-22 20:10 20,544,628 glibc-2.5.tar.gz
2009-10-22 20:20 1,720 elf-machine-rela-mips.dpatch
2009-10-22 20:26 4,727 建立基于linux的MIPS交叉编译环境 .txt
6 个文件 55,640,640 字节
2 个目录 6,793,084,928 可用字节
三、构建过程
1、准备环境
目标平台: mipsel-linux(即little endian,x86也是little endian的,不懂的话自己到网上查资料吧)
安装目录: /usr/local/crossdev
源代码安装目录: /usr/local/src
注:没有的目录请自行建立。
2、准备MIPS环境的头文件
我们是在i386下编译的,但要使用MIPS的头文件定义才能正确编译MIPS的交叉编译工具。这些头文件都在kernel源程序中。
cd /usr/local/src/
tar xzvf linux-2.4.2.tar.gz
cd linux/
make ARCH=mips menuconfig
在"CPU selection"中, 选中"(R3000) CPU type",也可以选你实际的MIPS平台的CPU类型
在"General setup"中, 选中"Generate little endian code"
make dep
mkdir -p /usr/local/crossdev/mipsel-linux/include
cp -r /usr/local/src/linux/include/asm-mips /usr/local/crossdev/mipsel-linux/include/asm
cp -r /usr/local/src/linux/include/linux /usr/local/crossdev/mipsel-linux/include/
3、编译binutils
cd /usr/local/src/
tar xzvf binutils-2.11.90.0.31.tar.gz
cd binutils-2.11.90.0.31/
./configure --target=mipsel-linux --prefix=/usr/local/crossdev
make
make install
export PATH=/usr/local/crossdev/bin:$PATH
4、编译自举的(bootstrap)gcc
因为这时还没有MIPS的glibc库可以使用,只能编译一个最简单的gcc,用这个gcc编译出glibc后就可以再编译一个完成的gcc了。
cd /usr/local/src/
tar xzvf gcc-3.0.2.tar.gz
cd gcc-3.0.2/
./configure --target=mipsel-linux --prefix=/usr/local/crossdev --enable-languages=c --with-newlib --disable-shared
make
make install
注:以上编译安装的工具已经可以直接编译MIPS的kernel(make zImage)了。
5、编译glibc
现在可以使用刚才建立的binutils和gcc来编译MIPS的glibc了。
cd /usr/local/src/
tar xzvf glibc-2.2.3.tar.gz
cd glibc-2.2.3/
tar xzvf ../glibc-linuxthreads-2.2.3.tar.gz
patch -p1 < ../glibc-2.2.3-mips-base-addr-got.diff
CC=mipsel-linux-gcc AR=mipsel-linux-ar RANLIB=mipsel-linux-ranlib ./configure --host=mipsel-linux --prefix=/usr/local/crossdev/mipsel-linux --enable-add-ons=linuxthreads
make
make install
6、重新编译完整的gcc
cd /usr/local/src/
rm -rf gcc-3.0.2/
tar xzvf gcc-3.0.2.tar.gz
cd gcc-3.0.2/
./configure --target=mipsel-linux --prefix=/usr/local/crossdev --enable-languages=c,c++
make
make install
以上就构建好了一套自己的MIPS交叉编译环境,目录在/usr/local/crossdev下,你可以把它打包拷贝到其它i386的Linux系统下也能使用。
要使用其来交叉编译时请先加上PATH环境变量:export PATH=/usr/local/crossdev/bin:$PATH
mips交叉编译环境 共 5 部分 (1)
驱动器 D 中的卷是 LINUX
卷的序列号是 4471-561B
D:\桌面\mips交叉编译环境 的目录
2009-10-22 20:27 <DIR> .
2009-10-22 20:27 <DIR> ..
2009-10-22 20:09 27,425,338 gcc-3.4.3.tar.bz2
2009-10-22 20:08 7,421,782 binutils-2.10.91.0.2.tar.bz2
2009-10-22 20:08 242,445 glibc-linuxthreads-2.5.tar.bz2
2009-10-22 20:10 20,544,628 glibc-2.5.tar.gz
2009-10-22 20:20 1,720 elf-machine-rela-mips.dpatch
2009-10-22 20:26 4,727 建立基于linux的MIPS交叉编译环境 .txt
6 个文件 55,640,640 字节
2 个目录 6,793,084,928 可用字节
三、构建过程
1、准备环境
目标平台: mipsel-linux(即little endian,x86也是little endian的,不懂的话自己到网上查资料吧)
安装目录: /usr/local/crossdev
源代码安装目录: /usr/local/src
注:没有的目录请自行建立。
2、准备MIPS环境的头文件
我们是在i386下编译的,但要使用MIPS的头文件定义才能正确编译MIPS的交叉编译工具。这些头文件都在kernel源程序中。
cd /usr/local/src/
tar xzvf linux-2.4.2.tar.gz
cd linux/
make ARCH=mips menuconfig
在"CPU selection"中, 选中"(R3000) CPU type",也可以选你实际的MIPS平台的CPU类型
在"General setup"中, 选中"Generate little endian code"
make dep
mkdir -p /usr/local/crossdev/mipsel-linux/include
cp -r /usr/local/src/linux/include/asm-mips /usr/local/crossdev/mipsel-linux/include/asm
cp -r /usr/local/src/linux/include/linux /usr/local/crossdev/mipsel-linux/include/
3、编译binutils
cd /usr/local/src/
tar xzvf binutils-2.11.90.0.31.tar.gz
cd binutils-2.11.90.0.31/
./configure --target=mipsel-linux --prefix=/usr/local/crossdev
make
make install
export PATH=/usr/local/crossdev/bin:$PATH
4、编译自举的(bootstrap)gcc
因为这时还没有MIPS的glibc库可以使用,只能编译一个最简单的gcc,用这个gcc编译出glibc后就可以再编译一个完成的gcc了。
cd /usr/local/src/
tar xzvf gcc-3.0.2.tar.gz
cd gcc-3.0.2/
./configure --target=mipsel-linux --prefix=/usr/local/crossdev --enable-languages=c --with-newlib --disable-shared
make
make install
注:以上编译安装的工具已经可以直接编译MIPS的kernel(make zImage)了。
5、编译glibc
现在可以使用刚才建立的binutils和gcc来编译MIPS的glibc了。
cd /usr/local/src/
tar xzvf glibc-2.2.3.tar.gz
cd glibc-2.2.3/
tar xzvf ../glibc-linuxthreads-2.2.3.tar.gz
patch -p1 < ../glibc-2.2.3-mips-base-addr-got.diff
CC=mipsel-linux-gcc AR=mipsel-linux-ar RANLIB=mipsel-linux-ranlib ./configure --host=mipsel-linux --prefix=/usr/local/crossdev/mipsel-linux --enable-add-ons=linuxthreads
make
make install
6、重新编译完整的gcc
cd /usr/local/src/
rm -rf gcc-3.0.2/
tar xzvf gcc-3.0.2.tar.gz
cd gcc-3.0.2/
./configure --target=mipsel-linux --prefix=/usr/local/crossdev --enable-languages=c,c++
make
make install
以上就构建好了一套自己的MIPS交叉编译环境,目录在/usr/local/crossdev下,你可以把它打包拷贝到其它i386的Linux系统下也能使用。
要使用其来交叉编译时请先加上PATH环境变量:export PATH=/usr/local/crossdev/bin:$PATH
arm 相关电子书 (1)共 6 部分
驱动器 E 中的卷是 SOF
卷的序列号是 CCA1-EF30
E:\dzbook\Arm 的目录
2009-10-17 13:02 <DIR> .
2009-10-17 13:02 <DIR> ..
2008-09-11 00:03 244,413 Arm bootloader.rar
2008-09-11 00:03 1,818,019 arm instrutions.pdf
2008-09-11 00:03 154,665 ARM 指令集,中文版.chm
2008-09-11 00:03 1,586,688 arm-模式切换.doc
2009-10-17 13:03 0 arm.dir
2008-11-13 12:44 <DIR> Arm处理器介绍
2009-10-17 12:59 <DIR> ARM嵌入式应用开发技术白金手册
2009-06-12 10:24 20,424,811 ARM嵌入式应用系统开发典型实例.pdf
2008-09-11 00:13 117,248 ARM嵌入式系统培训.ppt
2008-09-11 00:03 4,134,613 ARM应用系统开发.zip
2008-11-13 12:43 <DIR> arm开发详解
2006-11-12 16:00 154,665 arm指令集.chm
2008-09-11 00:13 1,416,192 ARM架构.ppt
2008-09-11 00:05 1,143,882 s3c2410.pdf
2008-11-13 12:43 <DIR> 三星2410芯片中文手册
2008-09-11 00:13 93,184 嵌入式系统.ppt
2008-09-11 00:03 1,818,019 常用ARM指令集及汇编v1.0.12发行文档.pdf
13 个文件 33,106,399 字节
6 个目录 7,381,782,528 可用字节
PPPoE在嵌入式网络机顶盒中的实现
PPPoE(PPP over Ethernet)是在以太网中传播PPP(point-to-pointprotocal)帧信
息的技术。这种技术将以太网技术和点对点协议结合在一起,综合了以太网多用户接入、低
成本和PPP协议可加密、动态认证、IP地址动态分配、流量控制等优点,为宽带网提供了一
种简便、实用、安全的接入方式,目前在ADSL宽带接入技术中使用PPPoE正逐渐成为主流。
uClinux嵌入式操作系统由于具备免费、开放性、稳定性、可裁减性和可移植性等优点,
近年来在嵌入式领域(如机顶盒、PDA等)中得到了广泛的使用。目前,在标准Linux操作
系统上已经有了一些开源的PPPoE客户端拨号软件。这些软件按其实现机制可划分为用户空
间实现方案和内核空间实现方案。由于用户空间实现方案中所有数据包的PPPoE协议头都在
用户空间封装和解封装,效率很低,并且这些软件主要是针对PC机开发的,不适合在以多
媒体为主要业务的嵌入式网络机顶盒中采用。本文针对uClinux和嵌入式网络机顶盒的特
点,提出了PPPoE在嵌入式网络机顶盒中的内核空间实现方案。
linux shell bash 源码
linux shell bash 源码等等
linux 系统编程 网络编程 源码
broadcast icmp jiqiao multi_broad raw sys_net_ml tcp1 term thread udp
cap io mul_thread_download qq sem tcp tcp_dos testerr time wav
./broadcast:
broad.h client.c server server.c
./cap:
capture_packet capture_packet.c
./icmp:
icmp.c
./io:
aa ba conf filename.c fwrite.c print.c scandir.c setvbuf test tree1.c vprintf
ab bb conf.c fwrite print scandir server.conf setvbuf.c tree tree.c vprintf.c
./io/test:
a abb b c d
./io/test/d:
e f g
./jiqiao:
client client.c udp_server udp_server.c
./mul_thread_download:
down.c download download-注释.c readme.txt
./multi_broad:
client.c mul.h server.c
./qq:
ansi_code.c client gen_single_nohead_pre.c Makefile server tcp.h
ansi_code.h client.c gen_single_nohead_pre.h play_sub.c server.c
ansi_code.o client.o gen_single_nohead_pre.o play_sub.h server.o
./raw:
gethostbyname.c ping1.c ping.c zs.c
./sem:
semget_1.c semget.c
./tcp:
fork qq simple
./tcp/fork:
client client.c server server.c tcp.h
./tcp/qq:
client client.c gen_single_nohead_pre.h server.c
client1.cv gen_single_nohead_pre.c server tcp.h
./tcp/simple:
client client.c makefile server server.c tcp.h
./tcp1:
fork ftp simple simple1
./tcp1/fork:
client.c server.c tcp.h
./tcp1/ftp:
client.c ftp.h server.c
./tcp1/simple:
client client.c makefile server server.c tcp.h
./tcp1/simple1:
client1.c client2.c client.c server1.c server2.c server.c
./tcp_dos:
tcp_dos tcp_dos.c
./term:
getpass getpass.c gets gets.c translate
./term/translate:
ansi_code.c ansi_code.o chin.c dict dict.o glist.c glist.o input.h Makefile
ansi_code.h chin ciku.dict dict.c glist1.c glist.h input.c input.o tags
./testerr:
testerr_copyclient.c testerr_copyserver.c testerrno_copyserver1.c
./thread:
aa bping.c hello pthread_attr.c pthread_create pthread_mutex.c while.c
aa.c chain hello.c pthread_attr.s pthread_create1.c pthread_rwlock
aa.h cond pthread_attr pthread_cond pthread_create.c pthread_rwlock.c
bping cond.c pthread_attr1.c pthread_cond.c pthread_mutex while
./thread/chain:
chain_queue.c chain_queue_hanoi chain_queue.o hanoi.c main.c
chain_queue.h chain_queue_hanoi.c hanoi main
./time:
asctime ctime gettimeofday strftime time time.c
asctime.c ctime.c gettimeofday.c strftime.c timea.c
./udp:
client client_echo client_loop reliable_udp server_echo.c server_loop.c udp_server
client1 client_echo.c client_loop.c server server_hello stack
client1.c client_hello htonl server.c server_hello.c stack.c
client.c client_hello.c htonl.c server_echo server_loop ts
./udp/reliable_udp:
reliable_recv reliable_recv_std reliable_send reliable_send_std
reliable_recv.c reliable_recv_std.c reliable_send.c reliable_send_std.c
./wav:
exec line.c lrc_display makefile play.c playwav.c setitimer1.c
getline llist.c lrc_display.c mp3 play_sub.c playwav.h setitimer.c
getline.c llist.h main.c play play_sub.h setitimer
./wav/mp3:
gnu_makefile文档pdf html
目录
1 make概述
1.1 怎样阅读本手册
1.2 问题和BUG
2 Makefile文件介绍
2.1 规则的格式
2.2一个简单的Makefile文件
2.3make处理Makefile文件的过程
2.4使用变量简化Makefile文件
2.5让make推断命令
2.6另一种风格的Makefile文件
2.7在目录中删除文件的规则
3 编写Makefile文件
3.1Makefile文件的内容
3.2Makefile文件的命名
3.3包含其它的Makefile文件
3.4变量MAKEFILES
3.5Makefile文件重新生成的过程
3.6重载其它Makefile文件
3.7make读取Makefile文件的过程
4 编写规则
4.1规则的语法
4.2在文件名中使用通配符
4.2.1通配符例子
4.2.2使用通配符的常见错误
4.2.3函数wildcard
4.3在目录中搜寻依赖
4.3.1VPATH:所有依赖的搜寻路径
4.3.2vpath指令
4.3.3目录搜寻过程
4.3.4编写搜寻目录的shell命令
4.3.5目录搜寻和隐含规则
4.3.6连接库的搜寻目录
4.4假想目标
4.5没有命令或依赖的规则
4.6使用空目录文件记录事件
4.7内建的特殊目标名
4.8具有多个目标的规则
4.9具有多条规则的目标
4.10静态格式规则
4.10.1静态格式规则的语法
4.10.2静态格式规则和隐含规则
4.11双冒号规则
4.12自动生成依赖
5 在规则中使用命令
5.1命令回显
5.2执行命令
5.3并行执行
5.4命令错误
5.5中断或关闭make
5.6递归调用make
5.6.1变量MAKE的工作方式
5.6.2与子make通讯的变量
5.6.3与子make通讯的选项
5.6.4`--print-directory'选项
5.7定义固定次序命令
5.8使用空命令
6 使用变量
6.1变量引用基础
6.2变量的两个特色
6.3变量高级引用技术
6.3.1替换引用
6.3.2嵌套变量引用
6.4变量取值
6.5设置变量
6.6为变量值追加文本
6.7override指令
6.8定义多行变量
6.9环境变量
6.10特定目标变量的值
6.11特定格式变量的值
7 Makefile文件的条件语句
7.1条件语句的例子
7.2条件语句的语法
7.3测试标志的条件语句
8 文本转换函数
8.1函数调用语法
8.2字符串替换和分析函数
8.3文件名函数
8.4函数foreach
8.5函数if
8.6函数call
8.7函数origin
8.8函数shell
8.9控制Make的函数
9 运行make
9.1指定Makefile文件的参数
9.2指定最终目标的参数
9.3代替执行命令
9.4避免重新编译文件
9.5变量重载
9.6测试编译程序
9.7选项概要
10 使用隐含规则
10.1使用隐含规则
10.2隐含规则目录
10.3隐含规则使用的变量
10.4隐含规则链
10.5定义与重新定义格式规则
10.5.1格式规则简介
10.5.2格式规则的例子
10.5.3自动变量
10.5.4格式匹配
10.5.5万用规则
10.5.6删除隐含规则
10.6定义最新类型的缺省规则
10.7过时的后缀规则
10.8隐含规则搜寻算法
11 使用make更新档案文件
11.1档案成员目标
11.2档案成员目标的隐含规则
11.2.1更新档案成员的符号索引表
11.3使用档案的危险
11.4档案文件的后缀规则
12 GNU make的特点
13 不兼容性和失去的特点
14 Makefile文件惯例
14.1makefile文件的通用惯例
14.2makefile文件的工具
14.3指定命令的变量
14.4安装路径变量
14.5用户标准目标
14.6安装命令分类
15快速参考
16make产生的错误
17复杂的Makefile文件例子
附录 名词翻译对照表
arm_linux_driver
_old cs8900 led mmu nand_boot std uart
bootl exception_mode mboot nand nand_boot_old ts
clock key mem_control nand2 start_main ts_printf
Dos OllyDbg RORDbg SmartCheck SoftICE TRW2000 TWX2002 WKTVBDebugger debug_tools
卷 Crack_New_Year_P 的文件夹 PATH 列表
卷序列号码为 000007C0 92F9:77D8
G:.
├─Dos
│ ├─Softice
│ └─TR
├─OllyDbg
│ ├─OllyICE
│ ├─plugin
│ │ ├─API_Break
│ │ ├─Advancedolly
│ │ ├─Cleanup
│ │ ├─Code Ripper
│ │ ├─DataRipper
│ │ ├─DeJunk_flyfancy
│ │ ├─DebugPlugin
│ │ ├─DelphiHelper
│ │ ├─ExCounter
│ │ ├─ExtraCopy
│ │ ├─Hide Caption
│ │ ├─IsDebuggerPresent
│ │ ├─Labeler
│ │ ├─MapConv
│ │ ├─NonaWrite
│ │ ├─OllyDbgPEDumper
│ │ ├─OllyDump
│ │ ├─OllyFlow
│ │ ├─OllyHTML
│ │ ├─OllyMachine
│ │ ├─OllyScript
│ │ │ └─OllyScript0.92
│ │ ├─Olly_bp_man
│ │ ├─StayOnTop
│ │ ├─THE KLUGER
│ │ ├─Watch Man
│ │ ├─WindowInfo
│ │ ├─apifinder
│ │ ├─cmdbar
│ │ ├─dejunk
│ │ ├─hideOD
│ │ ├─olly_heap_vis
│ │ ├─ollyhelper
│ │ ├─pedump
│ │ ├─ustrref
│ │ └─weasle
│ └─注入Explorer的OD
├─RORDbg
├─SmartCheck
├─SoftICE
│ ├─DriverStudio
│ ├─ICE_tools
│ │ ├─Iceext
│ │ └─Nmtranspath
│ └─softice 4.05 fox win9x
├─TRW2000
│ ├─TRW-p11621
│ ├─TRW1.03
│ ├─TRW1.2X
│ └─plugin
│ ├─arrow
│ ├─blfix
│ ├─dbgload
│ ├─fpu
│ ├─hercdrv
│ ├─kbd
│ ├─log3
│ ├─logpro
│ ├─screen
│ ├─sim
│ ├─trdump
│ ├─trwkb
│ └─xdt
├─TWX2002
├─WKTVBDebugger
└─debug_tools
├─PointH
├─SuperBPM
├─VCDebuger
├─fakeRDTSC
├─hwnd
├─iceclock
├─ollyscipt_editor
└─xidt
高中压外缸毕业设计+cad图
摘 要
针对汽轮机的高中压外缸加工的问题,在分析其结构特点的基础上,应采用加工中心加工,这样能提高加工精度,一致性好,而且大大提高了生产率,从而降低了加工成本。
由于普通机床受控于操作工人,因此,在普通机床上用的只是一个工艺过程卡,机床的工切削用量、走刀路线、工序的工步等往往都是操作工人自行选定的。数控加工的程序是数控机床的指令性文件。加工中心受控于程序指令,加工的全过程都是按程序指令自动进给的。因此,数控加工程序与普通机床工艺规程有较大差别,涉及的内容也较广。数控机床加工程序不仅要包括零件的工艺过程,而且还要包括切削用量,走刀路线,刀具尺寸以及机床的运动过程,程序的好坏不仅会影响机床效率的发挥,而且将直接影响到零件的加工质量。
关键字:数控编程,走刀路线,指令。
cad+论文
锤式破碎机设计
目 录摘要 ………………………………………………………………………………IAbstract ………………………………………………………………………II第1章 绪论 …………………………………………………………………11.1 锤式破碎机和破碎机的分类…………………………………………1 1.1.1 锤式破碎机的分类……………………………………………1 1.1.2 破碎机的分类…………………………………………………11.2 锤式破碎机的优缺点…………………………………………………1 1.2.1 锤式破碎机的优点……………………………………………1 1.2.1 锤式破碎机的缺点 …………………………………………11.3 锤式破碎机的规格和型号 …………………………………………2第2章 锤式破碎机的工作原理及破碎实质 ………………………………32.1 锤式破碎机的工作原理 ……………………………………………32.2 锤式破碎机的破碎实质 ……………………………………………32.2.1 破碎的目的和意义 .…………………………………………32.2.2 矿石的力学性能与锤式破碎机的选择 .……………………32.2.3 破碎过程的实质 .……………………………………………4第3章 锤式破碎机的总体及主要参数设计 ……………………………63.1 型号为 锤式破碎机的总体方案设计 ……………63.2 该型号破碎机的工作参数设计计算 .………………………………73.2.1 转子转速的计算 ……………………………………………73.2.2 生产率的计算 ………………………………………………83.2.3 电机功率的计算 ……………………………………………83.3 该种破碎机的主要结构参数设计计算 ……………………………8 3.3.1 转子的直径与长度 …………………………………………8 3.3.2 给料口的宽度和长度 ………………………………………8 3.3.3 排料口的尺寸 ………………………………………………93.3.4 锤头质量的计算 ……………………………………………9第4章 锤式破碎机的主要结构设计 …………………114.1 锤头设计与计算 …………………………………………………114.2 圆盘的结构设计与计算 …………………………………………114.3 主轴的设计及强度计算 …………………………………………124.3.1 轴的材料的选择 …………………………………………134.3.2 轴的最小直径和长度的估算 ……………………………134.3.3 结构设计的合理性检验 …………………………………13 4.3.4 轴的弯扭合成强度计算 …………………………………15 4.3.5 轴的疲劳强度条件的校核计算 …………………………204.4 轴承的选择 ………………………………………………………22 4.4.1 材料的选择 ………………………………………………22 4.4.2轴承类型的选择 ……………………………………………224.4.3 轴承的游动和轴向位移 ……………………………………234.4.4 轴承的安装和拆卸 …………………………………………234.5 传动方式的选择与计算(V带传动计算) ………………………244.6 飞轮的设计与计算 ………………………………………………264.7 棘轮的选择 ………………………………………………………264.8 蓖条位置调整弹簧的选择 ………………………………………274.9 箱体结构以及其相关设计 ………………………………………284.9.1铸造方法 ……………………………………………………284.9.2截面形状的选择 ……………………………………………284.9.3 肋板的布置 ……………………………………………29第5章 专题部分 …………………………………………………………305.1 锤头结构的改进问题 ………………………………………315.1.1改进的介绍 ……………………………………………315.1.2 改进的效果 …………………………………………315.2 延长锤头使用寿命的研究 ………………………………… 315.2.1 锤式破碎机中单颗粒物料的最大破碎力研究 …… 325.2.2锤头合理调配的研究与应用 …………………………345.2.3 锤头材质的选择及改性 …………………………… 41第6章 部分零部件上的公差和配合 …………………………………… 456.1 配合的选择 ……………………………………………………45 6.1.1 配合的类别的选择 ……………………………………45 6.1.2配合的种类的选择 ………………………………………456.2 一般公差的选取 …………………………………………………456.3 形位公差 …………………………………………………………466.3.1形位公差项目的选择 ……………………………………466.3.2公差原则的选择 ……………………………………………466.3.3形位公差值的选择或确定 …………………………………47结论 ……………………………………………………………………………49致谢 ……………………………………………………………………………50参考文献 ………………………………………………………………………51附录1 …………………………………………………………………………52附录2 …………………………………………………………………………52