• Learning.Perl

    学习Perl的经典书籍 Learning Perl, better known as "the Llama book", starts the programmer on the way to mastery. Written by three prominent members of the Perl community who each have several years of experience teaching Perl around the world, this latest edition has been updated to account for all the recent changes to the language up to Perl 5.8. Perl is the language for people who want to get work done. It started as a tool for UNIX system administrators who needed something powerful for small tasks. Since then, Perl has blossomed into a full-featured programming language used for web programming, database manipulation, XML processing, and system administration--on practically all platforms--while remaining the favorite tool for the small daily tasks it was designed for. You might start using Perl because you need it, but you'll continue to use it because you love it. Informed by their years of success at teaching Perl as consultants, the authors have re-engineered the Llama to better match the pace and scope appropriate for readers getting started with Perl, while retaining the detailed discussion, thorough examples, and eclectic wit for which the Llama is famous. The book includes new exercises and solutions so you can practice what you've learned while it's still fresh in your mind. Here are just some of the topics covered: data structures minimal matching threading data parsing references objects modules package implementation If you ask Perl programmers today what book they relied on most when they were learning Perl, you'll find that an overwhelming majority will point to the Llama. With good reason. Other books may teach you to program in Perl, but this book will turn you into a Perl programmer.

    5
    29
    700KB
    2010-07-14
    3
  • 程序设计语言--实践之路

    本书为英文原版《Programming+Language+Pragmatics,+Second+Edition》,本书融合了传统的程序设计语言教科书和编译教科书的有关知识。值得一读!

    0
    48
    8.18MB
    2009-08-16
    2
  • C编程语言 《K&R》版

    C编程语言,英文版,权威著作,由B.W.Kernighan和D.M.Ritchit合著。

    5
    38
    1.21MB
    2009-08-16
    3
  • VC6.0 MFC类库参考手册

    高清版MFC类库手册,上下两部分,共5612页。 本书内容分上、下两册出版。本套书是关于Microsoft Visual C++ 6.0 基础类 库(MFC)完整的参考手册。全面性和权威性是本书最大的特点。MFC 库按照应用 功能划分为根类,MFC 应用结构类,窗口、对话和控件类,绘画和打印类,简 单的数据类型类,数组、列表和映射类,文件和数据库类,Internet 和网络类,OLE 类,调试和异常类等类。而其中的每一分类都是应用编程或其中某个方面的重要 课题。本书按字母次序排列了MFC 全部的类,并详细介绍了每一个类的成员, 包括成员函数和数据成员,以及类之间的关系,如派生等。对于典型的用法,本 书在用常规方法解释之余,还附加了精炼的代码示例,可供读者揣摩、研究。

    4
    18
    11.21MB
    2009-08-12
    5
  • Linux设备驱动程序第三版

    英文原版资料,一部经典的著作,O'Reilly出版 Chapter 1. An Introduction to Device Drivers Section 1.1. The Role of the Device Driver Section 1.2. Splitting the Kernel Section 1.3. Classes of Devices and Modules Section 1.4. Security Issues Section 1.5. Version Numbering Section 1.6. License Terms Section 1.7. Joining the Kernel Development Community Section 1.8. Overview of the Book Chapter 2. Building and Running Modules Section 2.1. Setting Up Your Test System Section 2.2. The Hello World Module Section 2.3. Kernel Modules Versus Applications Section 2.4. Compiling and Loading Section 2.5. The Kernel Symbol Table Section 2.6. Preliminaries Section 2.7. Initialization and Shutdown Section 2.8. Module Parameters Section 2.9. Doing It in User Space Section 2.10. Quick Reference Chapter 3. Char Drivers Section 3.1. The Design of scull Section 3.2. Major and Minor Numbers Section 3.3. Some Important Data Structures Section 3.4. Char Device Registration Section 3.5. open and release Section 3.6. scull's Memory Usage Section 3.7. read and write Section 3.8. Playing with the New Devices Section 3.9. Quick Reference Chapter 4. Debugging Techniques Section 4.1. Debugging Support in the Kernel Section 4.2. Debugging by Printing Section 4.3. Debugging by Querying Section 4.4. Debugging by Watching Section 4.5. Debugging System Faults Section 4.6. Debuggers and Related Tools Chapter 5. Concurrency and Race Conditions Section 5.1. Pitfalls in scull Section 5.2. Concurrency and Its Management Section 5.3. Semaphores and Mutexes Section 5.4. Completions Section 5.5. Spinlocks Section 5.6. Locking Traps Section 5.7. Alternatives to Locking Section 5.8. Quick Reference Chapter 6. Advanced Char Driver Operations Section 6.1. ioctl Section 6.2. Blocking I/O Section 6.3. poll and select Section 6.4. Asynchronous Notification Section 6.5. Seeking a Device Section 6.6. Access Control on a Device File Section 6.7. Quick Reference Chapter 7. Time, Delays, and Deferred Work Section 7.1. Measuring Time Lapses Section 7.2. Knowing the Current Time Section 7.3. Delaying Execution Section 7.4. Kernel Timers Section 7.5. Tasklets Section 7.6. Workqueues Section 7.7. Quick Reference Chapter 8. Allocating Memory Section 8.1. The Real Story of kmalloc Section 8.2. Lookaside Caches Section 8.3. get_free_page and Friends Section 8.4. vmalloc and Friends Section 8.5. Per-CPU Variables Section 8.6. Obtaining Large Buffers Section 8.7. Quick Reference Chapter 9. Communicating with Hardware Section 9.1. I/O Ports and I/O Memory Section 9.2. Using I/O Ports Section 9.3. An I/O Port Example Section 9.4. Using I/O Memory Section 9.5. Quick Reference Chapter 10. Interrupt Handling Section 10.1. Preparing the Parallel Port Section 10.2. Installing an Interrupt Handler Section 10.3. Implementing a Handler Section 10.4. Top and Bottom Halves Section 10.5. Interrupt Sharing Section 10.6. Interrupt-Driven I/O Section 10.7. Quick Reference Chapter 11. Data Types in the Kernel Section 11.1. Use of Standard C Types Section 11.2. Assigning an Explicit Size to Data Items Section 11.3. Interface-Specific Types Section 11.4. Other Portability Issues Section 11.5. Linked Lists Section 11.6. Quick Reference Chapter 12. PCI Drivers Section 12.1. The PCI Interface Section 12.2. A Look Back: ISA Section 12.3. PC/104 and PC/104+ Section 12.4. Other PC Buses Section 12.5. SBus Section 12.6. NuBus Section 12.7. External Buses Section 12.8. Quick Reference Chapter 13. USB Drivers Section 13.1. USB Device Basics Section 13.2. USB and Sysfs Section 13.3. USB Urbs Section 13.4. Writing a USB Driver Section 13.5. USB Transfers Without Urbs Section 13.6. Quick Reference Chapter 14. The Linux Device Model Section 14.1. Kobjects, Ksets, and Subsystems Section 14.2. Low-Level Sysfs Operations Section 14.3. Hotplug Event Generation Section 14.4. Buses, Devices, and Drivers Section 14.5. Classes Section 14.6. Putting It All Together Section 14.7. Hotplug Section 14.8. Dealing with Firmware Section 14.9. Quick Reference Chapter 15. Memory Mapping and DMA Section 15.1. Memory Management in Linux Section 15.2. The mmap Device Operation Section 15.3. Performing Direct I/O Section 15.4. Direct Memory Access Section 15.5. Quick Reference Chapter 16. Block Drivers Section 16.1. Registration Section 16.2. The Block Device Operations Section 16.3. Request Processing Section 16.4. Some Other Details Section 16.5. Quick Reference Chapter 17. Network Drivers Section 17.1. How snull Is Designed Section 17.2. Connecting to the Kernel Section 17.3. The net_device Structure in Detail Section 17.4. Opening and Closing Section 17.5. Packet Transmission Section 17.6. Packet Reception Section 17.7. The Interrupt Handler Section 17.8. Receive Interrupt Mitigation Section 17.9. Changes in Link State Section 17.10. The Socket Buffers Section 17.11. MAC Address Resolution Section 17.12. Custom ioctl Commands Section 17.13. Statistical Information Section 17.14. Multicast Section 17.15. A Few Other Details Section 17.16. Quick Reference Chapter 18. TTY Drivers Section 18.1. A Small TTY Driver Section 18.2. tty_driver Function Pointers Section 18.3. TTY Line Settings Section 18.4. ioctls Section 18.5. proc and sysfs Handling of TTY Devices Section 18.6. The tty_driver Structure in Detail Section 18.7. The tty_operations Structure in Detail Section 18.8. The tty_struct Structure in Detail Section 18.9. Quick Reference Chapter 19. Bibliography Section 19.1. Books Section 19.2. Web Sites Index

    0
    0
    1.32MB
    2009-08-12
    2
  • Linux设备驱动程序第三版

    中文版,很经典的一部著作。 目录 1. 第一章 设备驱动简介 1.1. 驱动程序的角色 1.2. 划分内核 1.2.1. 可加载模块 1.3. 设备和模块的分类 1.4. 安全问题 1.5. 版本编号 1.6. 版权条款 1.7. 加入内核开发社团 1.8. 本书的内容 2. 建立和运行模块 2.1. 设置你的测试系统 2.2. Hello World 模块 2.3. 内核模块相比于应用程序 2.3.1. 用户空间和内核空间 2.3.2. 内核的并发 2.3.3. 当前进程 2.3.4. 几个别的细节 2.4. 编译和加载 2.4.1. 编译模块 2.4.2. 加载和卸载模块 2.4.3. 版本依赖 2.4.4. 平台依赖性 2.5. 内核符号表 2.6. 预备知识 2.7. 初始化和关停 2.7.1. 清理函数 2.7.2. 初始化中的错误处理 2.7.3. 模块加载竞争 2.8. 模块参数 2.9. 在用户空间做 2.10. 快速参考 3. 字符驱动 3.1. scull 的设计 3.2. 主次编号 3.2.1. 设备编号的内部表示 3.2.2. 分配和释放设备编号 3.2.3. 主编号的动态分配 3.3. 一些重要数据结构 3.3.1. 文件操作 3.3.2. 文件结构 3.3.3. inode 结构 3.4. 字符设备注册 3.4.1. scull 中的设备注册 3.4.2. 老方法 3.5. open 和 release 3.5.1. open 方法 3.5.2. release 方法 3.6. scull 的内存使用 3.7. 读和写 3.7.1. read 方法 3.7.2. write 方法 3.7.3. readv 和 writev 3.8. 使用新设备 3.9. 快速参考 4. 调试技术 4.1. 内核中的调试支持 4.2. 用打印调试 4.2.1. printk 4.2.2. 重定向控制台消息 4.2.3. 消息是如何记录的 4.2.4. 打开和关闭消息 4.2.5. 速率限制 4.2.6. 打印设备编号 4.3. 用查询来调试 4.3.1. 使用 /proc 文件系统 4.3.2. ioctl 方法 4.4. 使用观察来调试 4.5. 调试系统故障 4.5.1. oops 消息 4.5.2. 系统挂起 4.6. 调试器和相关工具 4.6.1. 使用 gdb 4.6.2. kdb 内核调试器 4.6.3. kgdb 补丁 4.6.4. 用户模式 Linux 移植 4.6.5. Linux 追踪工具 4.6.6. 动态探针 5. 并发和竞争情况 5.1. scull 中的缺陷 5.2. 并发和它的管理 5.3. 旗标和互斥体 5.3.1. Linux 旗标实现 5.3.2. 在 scull 中使用旗标 5.3.3. 读者/写者旗标 5.4. Completions 机制 5.5. 自旋锁 5.5.1. 自旋锁 API 简介 5.5.2. 自旋锁和原子上下文 5.5.3. 自旋锁函数 5.5.4. 读者/写者自旋锁 5.6. 锁陷阱 5.6.1. 模糊的规则 5.6.2. 加锁顺序规则 5.6.3. 细 -粗- 粒度加锁 5.7. 加锁的各种选择 5.7.1. 不加锁算法 5.7.2. 原子变量 5.7.3. 位操作 5.7.4. seqlock 锁 5.7.5. 读取-拷贝-更新 5.8. 快速参考 6. 高级字符驱动操作 6.1. ioctl 接口 6.1.1. 选择 ioctl 命令 6.1.2. 返回值 6.1.3. 预定义的命令 6.1.4. 使用 ioctl 参数 6.1.5. 兼容性和受限操作 6.1.6. ioctl 命令的实现 6.1.7. 不用 ioctl 的设备控制 6.2. 阻塞 I/O 6.2.1. 睡眠的介绍 6.2.2. 简单睡眠 6.2.3. 阻塞和非阻塞操作 6.2.4. 一个阻塞 I/O 的例子 6.2.5. 高级睡眠 6.2.6. 测试 scullpipe 驱动 6.3. poll 和 select 6.3.1. 与 read 和 write 的交互 6.3.2. 底层的数据结构 6.4. 异步通知 6.4.1. 驱动的观点 6.5. 移位一个设备 6.5.1. llseek 实现 6.6. 在一个设备文件上的存取控制 6.6.1. 单 open 设备 6.6.2. 一次对一个用户限制存取 6.6.3. 阻塞 open 作为对 EBUSY 的替代 6.6.4. 在 open 时复制设备 6.7. 快速参考 7. 时间, 延时, 和延后工作 7.1. 测量时间流失 7.1.1. 使用 jiffies 计数器 7.1.2. 处理器特定的寄存器 7.2. 获知当前时间 7.3. 延后执行 7.3.1. 长延时 7.3.2. 短延时 7.4. 内核定时器 7.4.1. 定时器 API 7.4.2. 内核定时器的实现 7.5. Tasklets 机制 7.6. 工作队列 7.6.1. 共享队列 7.7. 快速参考 7.7.1. 时间管理 7.7.2. 延迟 7.7.3. 内核定时器 7.7.4. Tasklets 机制 7.7.5. 工作队列 8. 分配内存 8.1. kmalloc 的真实故事 8.1.1. flags 参数 8.1.2. size 参数 8.2. 后备缓存 8.2.1. 一个基于 Slab 缓存的 scull: scullc 8.2.2. 内存池 8.3. get_free_page 和其友 8.3.1. 一个使用整页的 scull: scullp 8.3.2. alloc_pages 接口 8.3.3. vmalloc 和 其友 8.3.4. 一个使用虚拟地址的 scull : scullv 8.4. 每-CPU 的变量 8.5. 获得大量缓冲 8.5.1. 在启动时获得专用的缓冲 8.6. 快速参考 9. 与硬件通讯 9.1. I/O 端口和 I/O 内存 9.1.1. I/O 寄存器和常规内存 9.2. 使用 I/O 端口 9.2.1. I/O 端口分配 9.2.2. 操作 I/O 端口 9.2.3. 从用户空间的 I/O 存取 9.2.4. 字串操作 9.2.5. 暂停 I/O 9.2.6. 平台依赖性 9.3. 一个 I/O 端口例子 9.3.1. 并口纵览 9.3.2. 一个例子驱动 9.4. 使用 I/O 内存 9.4.1. I/O 内存分配和映射 9.4.2. 存取 I/O 内存 9.4.3. 作为 I/O 内存的端口 9.4.4. 重用 short 为 I/O 内存 9.4.5. 在 1 MB 之下的 ISA 内存 9.4.6. isa_readb 和其友 9.5. 快速参考 10. 中断处理 10.1. 准备并口 10.2. 安装一个中断处理 10.2.1. /proc 接口 10.2.2. 自动检测 IRQ 号 10.2.3. 快速和慢速处理 10.2.4. 实现一个处理 10.2.5. 处理者的参数和返回值 10.2.6. 使能和禁止中断 10.3. 前和后半部 10.3.1. Tasklet 实现 10.3.2. 工作队列 10.4. 中断共享 10.4.1. 安装一个共享的处理者 10.4.2. 运行处理者 10.4.3. /proc 接口和共享中断 10.5. 中断驱动 I/O 10.5.1. 一个写缓存例子 10.6. 快速参考 11. 内核中的数据类型 11.1. 标准 C 类型的使用 11.2. 安排一个明确大小给数据项 11.3. 接口特定的类型 11.4. 其他移植性问题 11.4.1. 时间间隔 11.4.2. 页大小 11.4.3. 字节序 11.4.4. 数据对齐 11.4.5. 指针和错误值 11.5. 链表 11.6. 快速参考 12. PCI 驱动 12.1. PCI 接口 12.1.1. PCI 寻址 12.1.2. 启动时间 12.1.3. 配置寄存器和初始化 12.1.4. MODULEDEVICETABLE 宏 12.1.5. 注册一个 PCI 驱动 12.1.6. 老式 PCI 探测 12.1.7. 使能 PCI 设备 12.1.8. 存取配置空间 12.1.9. 存取 I/O 和内存空间 12.1.10. PCI 中断 12.1.11. 硬件抽象 12.2. 回顾: ISA 12.2.1. 硬件资源 12.2.2. ISA 编程 12.2.3. 即插即用规范 12.3. PC/104 和 PC/104+ 12.4. 其他的 PC 总线 12.4.1. MCA 总线 12.4.2. EISA 总线 12.4.3. VLB 总线 12.5. SBus 12.6. NuBus 总线 12.7. 外部总线 12.8. 快速参考 13. USB 驱动 13.1. USB 设备基础知识 13.1.1. 端点 13.1.2. 接口 13.1.3. 配置 13.2. USB 和 sysfs 13.3. USB 的 Urbs 13.3.1. 结构 struct urb 13.3.2. 创建和销毁 urb 13.3.3. 提交 urb 13.3.4. 完成 urb: 完成回调处理者 13.3.5. 取消 urb 13.4. 编写一个 USB 驱动 13.4.1. 驱动支持什么设备 13.4.2. 注册一个 USB 驱动 13.4.3. 提交和控制一个 urb 13.5. 无 urb 的 USB 传送 13.5.1. usb_bulk_msg 接口 13.5.2. usb_control_msg 接口 13.5.3. 使用 USB 数据函数 13.6. 快速参考 14. Linux 设备模型 14.1. Kobjects, Ksets 和 Subsystems 14.1.1. Kobject 基础 14.1.2. kobject 层次, kset, 和子系统 14.2. 低级 sysfs 操作 14.2.1. 缺省属性 14.2.2. 非缺省属性 14.2.3. 二进制属性 14.2.4. 符号连接 14.3. 热插拔事件产生 14.3.1. 热插拔操作 14.4. 总线, 设备, 和驱动 14.4.1. 总线 14.4.2. 设备 14.4.3. 设备驱动 14.5. 类 14.5.1. class_simple 接口 14.5.2. 完整的类接口 14.6. 集成起来 14.6.1. 添加一个设备 14.6.2. 去除一个设备 14.6.3. 添加一个驱动 14.6.4. 去除一个驱动 14.7. 热插拔 14.7.1. 动态设备 14.7.2. /sbin/hotplug 工具 14.7.3. 使用 /sbin/hotplug 14.8. 处理固件 14.8.1. 内核固件接口 14.8.2. 它如何工作 14.9. 快速参考 14.9.1. Kobjects结构 14.9.2. sysfs 操作 14.9.3. 总线, 设备, 和驱动 14.9.4. 类 14.9.5. 固件 15. 内存映射和 DMA 15.1. Linux 中的内存管理 15.1.1. 地址类型 15.1.2. 物理地址和页 15.1.3. 高和低内存 15.1.4. 内存映射和 struct page 15.1.5. 页表 15.1.6. 虚拟内存区 15.1.7. 进程内存映射 15.2. mmap 设备操作 15.2.1. 使用 remap_pfn_range 15.2.2. 一个简单的实现 15.2.3. 添加 VMA 的操作 15.2.4. 使用 nopage 映射内存 15.2.5. 重新映射特定 I/O 区 15.2.6. 重新映射 RAM 15.2.7. 重映射内核虚拟地址 15.3. 进行直接 I/O 15.3.1. 异步 I/O 15.4. 直接内存存取 15.4.1. 一个 DMA 数据传输的概况 15.4.2. 分配 DMA 缓冲 15.4.3. 总线地址 15.4.4. 通用 DMA 层 15.4.5. ISA 设备的 DMA 15.5. 快速参考 15.5.1. 介绍性材料 15.5.2. 实现 mmap 15.5.3. 实现直接 I/O 15.5.4. 直接内存存取 16. 块驱动 16.1. 注册 16.1.1. 块驱动注册 16.1.2. 磁盘注册 16.1.3. 在 sbull 中的初始化 16.1.4. 注意扇区大小 16.2. 块设备操作 16.2.1. open 和 release 方法 16.2.2. 支持可移出的介质 16.2.3. ioctl 方法 16.3. 请求处理 16.3.1. 对请求方法的介绍 16.3.2. 一个简单的请求方法 16.3.3. 请求队列 16.3.4. 请求的分析 16.3.5. 请求完成函数 16.4. 一些其他的细节 16.4.1. 命令预准备 16.4.2. 被标识的命令排队 16.5. 快速参考 17. 网络驱动 17.1. snull 是如何设计的 17.1.1. 分配 IP 号 17.1.2. 报文的物理传送 17.2. 连接到内核 17.2.1. 设备注册 17.2.2. 初始化每一个设备 17.2.3. 模块卸载 17.3. net_device 结构的详情 17.3.1. 全局信息 17.3.2. 硬件信息 17.3.3. 接口信息 17.3.4. 设备方法 17.3.5. 公用成员 17.4. 打开与关闭 17.5. 报文传送 17.5.1. 控制发送并发 17.5.2. 传送超时 17.5.3. 发散/汇聚 I/O 17.6. 报文接收 17.7. 中断处理 17.8. 接收中断缓解 17.9. 连接状态的改变 17.10. Socket 缓存 17.10.1. 重要成员变量 17.10.2. 作用于 socket 缓存的函数 17.11. MAC 地址解析 17.11.1. 以太网使用 ARP 17.11.2. 不考虑 ARP 17.11.3. 非以太网头部 17.12. 定制 ioctl 命令 17.13. 统计信息 17.14. 多播 17.14.1. 多播的内核支持 17.14.2. 典型实现 17.15. 几个其他细节 17.15.1. 独立于媒介的接口支持 17.15.2. ethtool 支持 17.15.3. netpoll 17.16. 快速参考 18. TTY 驱动 18.1. 一个小 TTY 驱动 18.1.1. 结构 struct termios 18.2. tty_driver 函数指针 18.2.1. open 和 close 18.2.2. 数据流 18.2.3. 其他缓冲函数 18.2.4. 无 read 函数? 18.3. TTY 线路设置 18.3.1. set_termios 函数 18.3.2. tiocmget 和 tiocmset 18.4. ioctls 函数 18.5. TTY 设备的 proc 和 sysfs 处理 18.6. tty_driver 结构的细节 18.7. tty_operaions 结构的细节 18.8. tty_struct 结构的细节 18.9. 快速参考

    4
    0
    1.14MB
    2009-08-12
    4
  • The art of Computer Programming I II III IV 计算机程序设计艺术四卷全part7

    经典算法图书,计算机程序设计艺术,英文版,高清晰,四卷全,2494页。需要将8部分下载完毕后才能解压,因为上传限制,无奈只能压缩成8个部分

    5
    78
    19.53MB
    2009-08-04
    3
  • The art of Computer Programming I II III IV 计算机程序设计艺术四卷全part5

    经典算法图书,计算机程序设计艺术,英文版,高清晰,四卷全,2494页。需要将8部分下载完毕后才能解压,因为上传限制,无奈只能压缩成8个部分

    5
    48
    19.53MB
    2009-08-04
    9
  • The art of Computer Programming I II III IV 计算机程序设计艺术四卷全part8

    经典算法图书,计算机程序设计艺术,英文版,高清晰,四卷全,2494页。需要将8部分下载完毕后才能解压,因为上传限制,无奈只能压缩成8个部分

    5
    62
    15.21MB
    2009-08-04
    3
  • The art of Computer Programming I II III IV 计算机程序设计艺术四卷全part6

    经典算法图书,计算机程序设计艺术,英文版,高清晰,四卷全,2494页。需要将8部分下载完毕后才能解压,因为上传限制,无奈只能压缩成8个部分

    5
    79
    19.53MB
    2009-08-04
    9
关注 私信
上传资源赚积分or赚钱