• Operating Systems Design & Implementation 3rd Edition(操作系统设计与实现)

    Copyright Preface xv Chapter 1. Introduction 1 Section 1.1. What Is an Operating System? 4 Section 1.2. History of Operating Systems 6 Section 1.3. Operating System Concepts 19 Section 1.4. System Calls 26 Section 1.5. Operating System Structure 42 Section 1.6. Outline of the Rest of This Book 51 Section 1.7. Summary 51 Problems 52 Chapter 2. Processes 55 Section 2.1. Introduction to Processes 55 Section 2.2. Interprocess Communication 68 Section 2.3. Classical IPC Problems 88 Section 2.4. Scheduling 93 Section 2.5. Overview of Processes in MINIX 3 112 Section 2.6. Implementation of Processes in MINIX 3 125 Section 2.7. The System Task in MINIX 3 192 Section 2.8. The Clock Task in MINIX 3 204 Section 2.9. Summary 214 Problems 215 Chapter 3. Input/Output 221 Section 3.1. Principles of I/O Hardware 222 Section 3.2. Principles of I/O Software 229 Section 3.3. Deadlocks 237 Section 3.4. Overview of I/O in MINIX 3 252 Section 3.5. Block Devices in MINIX 3 261 Section 3.6. RAM Disks 271 Section 3.7. Disks 278 Section 3.8. Terminals 302 Section 3.9. Summary 366 Problems 367 Chapter 4. Memory Management 373 Section 4.1. Basic Memory Management 374 Section 4.2. Swapping 378 Section 4.3. Virtual Memory 383 Section 4.4. Page Replacement Algorithms 396 Section 4.5. Design Issues for Paging Systems 404 Section 4.6. Segmentation 410 Section 4.7. Overview of the MINIX 3 Process Manager 420 Section 4.8. Implementation of the MINIX 3 Process Manager447 Section 4.9. Summary 475 Problems 476 Chapter 5. File Systems 481 Section 5.1. Files 482 Section 5.2. Directories 491 Section 5.3. File System Implementation 497 Section 5.4. Security 526 Section 5.5. Protection Mechanisms 537 Section 5.6. Overview of the MINIX 3 File System 548 Section 5.7. Implementation of the MINIX 3 File System 566 Section 5.8. Summary 606 Problems 607 Chapter 6. Reading List and Bibliography 611 Section 6.1. Suggestions for Further Reading 611 Section 6.2. Alphabetical Bibliography 618 Appendix A. Installing MINIX 3 629 Section A.1. Preparation 629 Section A.2. Booting 631 Section A.3. Installing to the Hard Disk 632 Section A.4. Testing 634 Section A.5. Using a Simulator 636 Appendix B. The MINIX Source Code 637 Appendix C. Index to Files 1033 About the Authors 1053 About the MINIX 3 CD InsideBackCover System Requirements InsideBackCover Hardware InsideBackCover Software InsideBackCover Installation InsideBackCover Product Support InsideBackCover Index

    3
    47
    8.47MB
    2015-06-17
    10
  • The Design and Implementation of the FreeBSD Operating System

    As in earlier Addison-Wesley books on the UNIX-based BSD operating system, Kirk McKusick and George Neville-Neil deliver here the most comprehensive, up-to-date, and authoritative technical information on the internal structure of open source FreeBSD. Readers involved in technical and sales support can learn the capabilities and limitations of the system; applications developers can learn effectively and efficiently how to interface to the system; system administrators can learn how to maintain, tune, and configure the system; and systems programmers can learn how to extend, enhance, and interface to the system. The authors provide a concise overview of FreeBSD's design and implementation. Then, while explaining key design decisions, they detail the concepts, data structures, and algorithms used in implementing the systems facilities. As a result, readers can use this book as both a practical reference and an in-depth study of a contemporary, portable, open source operating system. This book: * Details the many performance improvements in the virtual memory system * Describes the new symmetric multiprocessor support * Includes new sections on threads and their scheduling * Introduces the new jail facility to ease the hosting of multiple domains * Updates information on networking and interprocess communication Already widely used for Internet services and firewalls, high-availability servers, and general timesharing systems, the lean quality of FreeBSD also suits the growing area of embedded systems. Unlike Linux, FreeBSD does not require users to publicize any changes they make to the source code.

    4
    340
    2.01MB
    2015-06-16
    9
  • Unix操作系统设计

    译者序 前言 第1章 系统概貌 1.1 历史 1.2 系统结构 1.3 用户看法 1.3.1 文件系统 1.3.2 处理环境 1.3.3 构件原语 1.4 操作系统服务 1.5 关于硬件的假设 1.5.1 中断与例外 1.5.2 处理机执行级 1.5.3 存储管理 1.6 本章小结 第2章 内核导言 2.1 UNIX操作系统的体系结构 2.2 系统概念介绍 2.2.1 文件子系统概貌 2.2.2 进程 2.3 内核数据结构 2.4 系统管理 2.5 本章小结 2.6 习题 第3章 数据缓冲区高速缓冲 3.1 缓冲头部 3.2 缓冲池的结构 3.3 缓冲区的检索 3.4 读磁盘块与写磁盘块 3.5 高速缓冲的优点与缺点 3.6 本章小结 3.7 习题 第4章 文件的内部表示 4.1 索引节点 4.1.1 定义 4.1.2 对索引节点的存取 4.1.3 释放索引节点 4.2 正规文件的结构 4.3 目录 4.4 路径名到索引节点的转换 4.5 超级块 4.6 为新文件分配索引节点 4.7 磁盘块的分配 4.8 其他文件类型 4.9 本章小结 4.10 习题 第5章 文件系统的系统调用 5.1 系统调用Open 5.2 系统调用read 5.3 系统调用write 5.4 文件和记录的上锁 5.5 文件的输入/输出位置的调整lseek 5.6 系统调用close 5.7 文件的建立 5.8 特殊文件的建立 5.9 改变目录及根 5.10 改变所有者及许可权方式 5.11 系统调用stat和fstat 5.12 管道 5.12.1 系统调用pipe 5.12.2 有名管道的打开 5.12.3 管道的读和写 5.12.4 管道的关闭 5.12.5 例 5.13 系统调用dup 5.14 文件系统的安装和拆卸 5.14.1 在文件路径名中跨越安装点 5.14.2 文件系统的拆卸 5.15 系统调用link 5.16 系统调用unlink 5.16.1 文件系统的一致性 5.16.2 竟争条件 5.17 文件系统的抽象 5.18 文件系统维护 5.19 本章小结 5.20 习题 第6章 进程结构 6.1 进程的状态和状态的转换 6.2 系统存储方案 6.2.1 区 6.2.2 页和页表 6.2.3 内核的安排 6.2.4 u区 6.3 进程的上下文 6.4 进程上下文的保存 6.4.1 中断和例外 6.4.2 系统调用的接口 6.4.3 上下文切换 6.4.4 为废弃返回(abortive return)而保存上下文 6.4.5 在系统和用户地址空间之间拷贝数据 6.5 进程地址空间的管理 6.5.1 区的上锁和解锁 6.5.2 区的分配 6.5.3 区附接到进程 6.5.4 区大小的改变 6.5.5 区的装入 6.5.6 区的释放 6.5.7 区与进程的断接 6.5.8 区的复制 6.6 睡眠 6.6.1 睡眠事件及其地址 6.6.2 算法sleep和wakeup 6.7 本章小结 6.8 习题 第7章 进程控制 7.1 进程的创建 7.2 软中断信号 7.2.1 软中断信号的处理 7.2.2 进程组 7.2.3 从进程发送软中断信号 7.3 进程的终止 7.4 等待进程的终止 7.5 对其他程序的引用 7.6 进程的用户标识号 7.7 改变进程的大小 7.8 Shell程序 7.9 系统自举和进程init 7.10 本章小结 7.11 习题 第8章 进程调度和时间 8.1 进程调度 8.1.1 算法 8.1.2 调度参数 8.1.3 进程调度的例子 8.1.4 进程优先权的控制 8.1.5 公平共享调度 8.1.6 实时处理 8.2 有关时间的系统调用 8.3 时钟 8.3.1 重新启动时钟 8.3.2 系统的内部定时 8.3.3 直方图分析 8.3.4 记帐和统计 8.3.5 计时 8.4 本章小结 8.5 习题 第9章 存储管理策略 9.1 对换 9.1.1 对换空间的分配 9.1.2 进程的换出 9.1.3 进程的换入 9.2 请求调页 9.2.1 请求调页的数据结构 9.2.2 偷页进程 9.2.3 页面错 9.2.4 在简单硬件支持下的请求调页系统 9.3 对换和请求调页的混合系统 9.4 本章小结 9.5 习题 第10章 输入输出子系统 10.1 驱动程序接口 10.1.1 系统配置 10.1.2 系统调用与驱动程序接口 10.1.3 中断处理程序 10.2 磁盘驱动程序 10.3 终端驱动程序 10.3.1 字符表Clist 10.3.2 标准方式下的终端驱动程序 10.3.3 原始方式下的终端驱动程序 10.3.4 终端探询 10.3.5 建立控制终端 10.3.6 间接终端驱动程序 10.3.7 注册到系统 10.4 流 10.4.1 流的详细的示例 10.4.2 对流的分析 10.5 本章小结 10.6 习题 第11章 进程间通信 11.1 进程跟踪 11.2 系统V IPC 11.2.1 消息 11.2.2 共享存储区 11.2.3 信号量 11.2.4 总的评价 11.3 网络通信 11.4 套接字 11.5 本章小结 11.6 习题 第12章 多处理机系统 12.1 多处理机系统的问题 12.2 主从处理机解决方法 12.3 信号量解决方法 12.3.1 信号量定义 12.3.2 信号量实现 12.3.3 几个算法 12.4 Tunis系统 12.5 性能局限性 12.6 习题 第13章 分布式UNIX系统 13.1 卫星处理机系统 13.2 纽卡斯尔连接 13.3 透明型分布式文件系统 13.4 无存根进程的透明分布式模型 13.5 本章小结 13.6 习题 附录A 系统调用 参考文献 索引

    5
    441
    18.19MB
    2015-06-16
    15
  • UNIX技术内幕

    第1章 概论 1 1.1 历史背景 1 1.2 UNIX诞生的经过 1 1.3 UNIX版本6 2 1.4 各流派一览 2 1.5 为什么取得成功 3 1.5.1 简洁高效 3 1.5.2 健壮性 3 1.5.3 功能丰富 3 1.5.4 移植性 3 1.5.5 开放性 4 1.6 缩写及术语说明 4 第2章 UNIX综述 6 2.1 硬件平台 6 2.1.1 中断和自陷(Trap) 7 2.1.2 两种处理器模式 9 2.1.3 通用寄存器 10 2.1.4 I/O设备管理 10 2.1.5 栈(Stack) 11 2.1.6 常用指令 11 2.1.7 备注 19 2.2 UNIX内核综述 20 2.2.1 模块分类 20 2.2.2 各模块间的通信 20 2.2.3 源文件 21 2.2.4 语法规则和编码风格说明 23 2.3 思考题 27 第3章 虚拟内存 28 3.1 简介 28 3.2 虚拟内存的优点 29 3.2.1 安全性 29 3.2.2 提高空间利用率 30 3.2.3 多进程的支持 30 3.3 PDP11/40的虚拟内存机制 30 3.3.1 页地址寄存器(PAR) 32 3.3.2 页描述寄存器(PDR) 32 3.3.3 活动页寄存器地址 33 3.3.4 虚拟地址向物理地址的映射过程 33 3.3.5 异常处理 35 3.3.6 和现代页式虚存的比较 36 3.4 UNIX的虚存实现 36 3.4.1 进程空间分布 36 3.4.2 用户活动页寄存器设置函数estabur 37 3.4.3 用户空间映射函数sureg 41 3.5 内存管理 42 3.5.1 内核内存管理 42 3.5.2 用户内存管理 47 3.6 思考题 56 第4章 启动模块 57 4.1 操作流程 57 4.2 中断向量 58 4.3 启动函数start 60 4.4 备注 65 4.4.1 为什么需要引导程序和装入程序 65 4.4.2 0地址处指令分析 65 4.4.3 为什么要使用汇编语言 66 4.4.4 Windows启动过程浅析 66 4.5 思考题 67 第5章 进程管理和调度 68 5.1 程序员眼中的虚拟机 68 5.2 系统资源 68 5.3 进程上下文 70 5.4 进程调度 72 5.5 UNIX实现 73 5.5.1 进程上下文 73 5.5.2 进程的两种状态 80 5.5.3 调度过程 82 5.5.4 备注 128 5.6 思考题 134 第6章 中断处理过程 136 6.1 PSW寄存器 136 6.2 中断处理流程 136 6.3 中断向量 138 6.4 PDP 11/40的中断类型 139 6.4.1 电传终端接口输入中断 139 6.4.2 电传终端接口输出中断 140 6.4.3 纸带打孔机输入中断 140 6.4.4 纸带打孔机输出中断 140 6.4.5 时钟中断 140 6.4.6 行打印机中断 140 6.4.7 磁盘读写中断 140 6.5 一些常用函数 140 6.5.1 特殊指令 140 6.5.2 fubyte(fuibyte) 141 6.5.3 fuword(fuiword) 143 6.5.4 subyte(suibyte) 143 6.5.5 suword(suiword) 144 6.5.6 clearseg 144 6.5.7 copyseg 145 6.5.8 copyin/copyout 146 6.5.9 dpadd 148 6.5.10 ldiv/lrem/lshift 148 6.6 call函数 149 6.7 时钟中断 151 6.7.1 基本概念 151 6.7.2 处理过程 152 6.8 call函数调用分派切换器的理由 163 6.9 内核定时器 164 6.9.1 数据结构 164 6.9.2 定时器的创建 165 6.9.3 定时器的触发 167 6.10 一些例子 168 6.10.1 进程优先级的调整 168 6.10.2 进程分派切换实例 174 6.11 备注 178 6.11.1 中断服务函数中为什么不使用互斥锁 178 6.11.2 中断服务函数中为什么不访问u变量 178 6.11.3 关于内存管理违例自陷的处理过程 179 6.11.4 调度标志runrun和runin 179 6.12 思考题 179 第7章 自陷 180 7.1 自陷原理 180 7.2 自陷向量 180 7.3 PDP11/40的自陷类型 180 7.3.1 系统出错自陷 180 7.3.2 系统调用自陷 182 7.3.3 调试自陷 182 7.3.4 自陷优先级 183 7.4 自陷处理过程 184 7.4.1 汇编函数_trap 184 7.4.2 C函数trap 186 7.4.3 backup函数 191 第8章 文件系统 211 8.1 概述 211 8.2 框架 212 8.2.1 文件存储的实现 212 8.2.2 UNIX文件系统 219 8.2.3 UNIX文件系统的详细实现 224 8.3 文件访问接口 229 8.3.1 文件创建接口creat 230 8.3.2 文件打开接口open 235 8.3.3 文件关闭接口close 236 8.3.4 文件读接口read 237 8.3.5 文件写接口write 238 8.3.6 文件定位接口seek 239 8.3.7 特殊文件创建接口mknod 242 8.3.8 文件链接接口link 244 8.3.9 取消文件链接接口unlink 246 8.3.10 设备加载接口smount 248 8.3.11 设备卸载接口sumount 251 8.4 节点和块管理 253 8.4.1 节点缓存 253 8.4.2 块缓存 255 8.4.3 块访问接口 263 8.4.4 节点访问接口 294 8.5 块设备驱动 322 8.5.1 概述 322 8.5.2 根设备——rk11磁盘 326 8.6 备注 335 8.6.1 FAT16文件系统 335 8.6.2 多进程访问文件的问题 338 8.6.3 进程间同步 339 8.6.4 文件的删除 340 8.6.5 设备驱动的扩展 340 8.7 总结 341 8.8 思考题 341 第9章 字符设备驱动 342 9.1 交互终端——电传打字机(teletypewriter) 342 9.1.1 设备特性 343 9.1.2 操作寄存器 343 9.1.3 驱动框架 345 9.1.4 驱动函数 351 9.1.5 shell应用举例 378 9.1.6 内核打印接口 379 9.2 PC-11纸带打孔机 383 9.2.1 设备特性 383 9.2.2 操作寄存器 384 9.2.3 驱动框架 385 9.2.4 驱动函数 387 9.2.5 读取器状态转换图 392 9.3 LP-11行打印机 393 9.3.1 设备特性 393 9.3.2 操作寄存器 393 9.3.3 驱动框架 394 9.3.4 驱动函数 396 9.4 现代打印机 401 9.4.1 并口 401 9.4.2 和内核挂接 403 9.4.3 简单的打印程序 406 9.4.4 CUPS 408 9.5 其他字符设备 408 9.5.1 内存 409 9.5.2 磁盘 411 9.6 网络驱动程序 415 9.7 综合示例 416 9.8 总结 417 9.9 思考题 418 第10章 进程交换过程 419 10.1 概述 419 10.2 具体实现 421 10.2.1 进程换出函数xswap 422 10.2.2 程序段内存释放函数xccdec 423 10.2.3 交换函数swap 424 10.2.4 调用实例 425 10.3 综合示例 426 10.4 思考题 430 第11章 UNIX可执行文件 431 11.1 .out文件 431 11.1.1 可执行头 431 11.1.2 程序段 432 11.1.3 数据段 432 11.1.4 程序和数据重定向表 432 11.1.5 符号表 434 11.1.6 示例 437 11.2 动态链接过程* 442 11.2.1 静态共享 443 11.2.2 动态共享 446 11.2.3 GOT/PLT表和位置无关代码(PIC) 446 11.2.4 动态加载过程分析 450 第12章 系统调用 457 12.1 概述 457 12.2 系统调用的实现 457 12.2.1 用户实现 459 12.2.2 系统调用表和trap自陷 459 12.2.3 内核实现 469 12.3 各系统调用的实现 469 12.3.1 文件相关调用 471 12.3.2 进程相关调用 491 12.3.3 信号相关调用 538 12.3.4 调试功能调用 558 12.3.5 用户/组ID调用 586 12.3.6 时间相关调用 589 12.3.7 终端相关调用 591 第13章 进程间通信 596 13.1 概述 596 13.2 管道 596 13.2.1 相关系统调用 596 13.2.2 管道实现过程分析 602 13.2.3 应用示例 603 13.2.4 采用内存文件实现管道 608 13.2.5 思考题 610 13.3 文件 610 13.4 有名管道 611 13.5 进程间同步 611 13.5.1 信号量 612 13.5.2 互斥体 621 13.5.3 事件 622 13.6 死锁 634 13.7 其他进程间数据传输方式 636 13.7.1 消息(message) 636 13.7.2 信箱(mailbox) 648 13.7.3 共享内存 671 第14章 多线程的实现 686 14.1 概述 686 14.2 线程和经典进程的比较 686 14.3 线程的示例实现 686 14.3.1 相关数据结构 686 14.3.2 实现方案 689 14.3.3 线程创建调用CreateThread 691 14.3.4 内核改动 695 14.3.5 线程退出调用ExitThread 711 14.3.6 线程id获得调用gettid 712 14.3.7 线程挂起调用SuspendThread 712 14.3.8 线程恢复调用ResumeThread 714 14.3.9 线程终止调用TerminateThread 715 14.3.10 线程ID查询调用GetThreadID 719 14.3.11 线程名查询调用GetThreadName 720 14.3.12 使用示例 721 14.3.13 思考题 723 第15章 网络多用户 724 15.1 系统初始化过程 724 15.1.1 init进程 724 15.1.2 getty程序 725 15.1.3 login程序 725 15.2 telnet程序 730 15.2.1 工作原理 730 15.2.2 常用配置 731 15.3 NFS(网络文件系统) 732 15.3.1 基本原理 733 15.3.2 RPC(远程过程调用) 734 15.3.3 各过程的实现 737 15.3.4 简单示例 741 附录A 参考书目及资源 742 附录B 思考题答案 743

    4
    32
    25.42MB
    2015-06-16
    10
  • UNIX网络编程 卷2:进程间通信

    第一部分 简介   第1章 简介 2   1.1 概述 2   1.2 进程、线程与信息共享 3   1.3 IPC对象的持续性 4   1.4 名字空间 5   1.5 fork、exec和exit对IPC对象的影响 7   1.6 出错处理:包裹函数 8   1.7 Unix标准 9   1.8 书中IPC例子索引表 11   1.9 小结 13   习题 13   第2章 Posix IPC 14   2.1 概述 14   2.2 IPC名字 14   2.3 创建与打开IPC通道 16   2.4 IPC权限 18   2.5 小结 19   习题 19   第3章 System V IPC 20   .3.1 概述 20   3.2 key_t键和ftok函数 20   3.3 ipc_perm结构 22   3.4 创建与打开IPC通道 22   3.5 IPC权限 24   3.6 标识符重用 25   3.7 ipcs和ipcrm程序 27   3.8 内核限制 27   3.9 小结 28   习题 29   第二部分 消息传递   第4章 管道和FIFO 32   4.1 概述 32   4.2 一个简单的客户-服务器例子 32   4.3 管道 32   4.4 全双工管道 37   4.5 popen和pclose函数 39   4.6 FIFO 40   4.7 管道和FIFO的额外属性 44   4.8 单个服务器,多个客户 46   4.9 对比迭代服务器与并发服务器 50   4.10 字节流与消息 51   4.11 管道和FIFO限制 55   4.12 小结 56   习题 57   第5章 Posix消息队列 58   5.1 概述 58   5.2 mq_open、mq_close和mq_unlink函数 59   5.3 mq_getattr和mq_setattr函数 61   5.4 mq_send和mq_receive函数 64   5.5 消息队列限制 67   5.6 mq_notify函数 68   5.7 Posix实时信号 78   5.8 使用内存映射I/O实现Posix消息队列 85   5.9 小结 101   习题 101   第6章 System V消息队列 103   6.1 概述 103   6.2 msgget函数 104   6.3 msgsnd函数 104   6.4 msgrcv函数 105   6.5 msgctl函数 106   6.6 简单的程序 107   6.7 客户-服务器例子 112   6.8 复用消息 113   6.9 消息队列上使用select和poll 121   6.10 消息队列限制 122   6.11 小结 124   习题 124   第三部分 同步   第7章 互斥锁和条件变量 126   7.1 概述 126   7.2 互斥锁:上锁与解锁 126   7.3 生产者-消费者问题 127   7.4 对比上锁与等待 131   7.5 条件变量:等待与信号发送 132   7.6 条件变量:定时等待和广播 136   7.7 互斥锁和条件变量的属性 136   7.8 小结 139   习题 139   第8章 读写锁 140   8.1 概述 140   8.2 获取与释放读写锁 140   8.3 读写锁属性 141   8.4 使用互斥锁和条件变量实现读写锁 142   8.5 线程取消 148   8.6 小结 153   习题 153   第9章 记录上锁 154   9.1 概述 154   9.2 对比记录上锁与文件上锁 157   9.3 Posix fcntl记录上锁 158   9.4 劝告性上锁 162   9.5 强制性上锁 164   9.6 读出者和写入者的优先级 166   9.7 启动一个守护进程的唯一副本 170   9.8 文件作锁用 171   9.9 NFS上锁 173   9.10 小结 173   习题 174   第10章 Posix信号量 175   10.1 概述 175   10.2 sem_open、sem_close和sem_   unlink函数 179   10.3 sem_wait和sem_trywait函数 180   10.4 sem_post和sem_getvalue函数 180   10.5 简单的程序 181   10.6 生产者-消费者问题 186   10.7 文件上锁 190   10.8 sem_init和sem_destroy函数 191   10.9 多个生产者,单个消费者 193   10.10 多个生产者,多个消费者 196   10.11 多个缓冲区 199   10.12 进程间共享信号量 205   10.13 信号量限制 206   10.14 使用FIFO实现信号量 206   10.15 使用内存映射I/O实现信号量 210   10.16 使用System V信号量实现Posix信号量 218   10.17 小结 224   习题 225   第11章 System V 信号量 226   11.1 概述 226   11.2 semget函数 227   11.3 semop函数 229   11.4 semctl函数 231   11.5 简单的程序 232   11.6 文件上锁 237   11.7 信号量限制 238   11.8 小结 242   习题 242   第四部分 共享内存区   第12章 共享内存区介绍 244   12.1 概述 244   12.2 mmap、munmap和msync函数 247   12.3 在内存映射文件中给计数器持续加1 250   12.4 4.4BSD匿名内存映射 254   12.5 SVR4 /dev/zero内存映射 255   12.6 访问内存映射的对象 255   12.7 小结 259   习题 260   第13章 Posix共享内存区 261   13.1 概述 261   13.2 shm_open和shm_unlink函数 261   13.3 ftruncate和fstat函数 262   13.4 简单的程序 263   13.5 给一个共享的计数器持续加1 267   13.6 向一个服务器发送消息 270   13.7 小结 275   习题 275   第14章 System V共享内存区 276   14.1 概述 276   14.2 shmget函数 276   14.3 shmat函数 277   14.4 shmdt函数 277   14.5 shmctl函数 277   14.6 简单的程序 278   14.7 共享内存区限制 281   14.8 小结 282   习题 283   第五部分 远程过程调用   第15章 门 286   15.1 概述 286   15.2 door_call函数 291   15.3 door_create函数 292   15.4 door_return函数 293   15.5 door_cred函数 294   15.6 door_info函数 294   15.7 例子 295   15.8 描述符传递 306   15.9 door_sever_create函数 310   15.10 door_bind、door_unbind和door_revoke函数 315   15.11 客户或服务器的过早终止 315   15.12 小结 321   习题 322   第16章 Sun RPC 323   16.1 概述 323   16.2 多线程化 330   16.3 服务器捆绑 333   16.4 认证 336   16.5 超时和重传 338   16.6 调用语义 342   16.7 客户或服务器的过早终止 343   16.8 XDR:外部数据表示 345   16.9 RPC分组格式 361   16.10 小结 365   习题 366   后记 368   附录A 性能测量 371   附录B 线程入门 406   附录C 杂凑的源代码 409   附录D 精选习题解答 417   参考文献 433   索引 435

    0
    230
    42.17MB
    2015-06-16
    0
  • UNIX网络编程 卷1:套接字联网API

    第一部分 简介和TCP/IP 第1章 简介 第2章 传输层:TCP、UDP和SCTP 第二部分 基本套接字编程 第3章 套接字编程简介 第4章 基本TCP套接字编程 第5章 TCP客户/服务器程序示例 第6章 I/O复用:select和poll函数 第7章 套接字选项 第8章 基本UDP套接字编程 第9章 基本SCTP套接字编程 第10章 SCTP客户/服务器程序例子 第11章 名字与地址转换 第三部分 高级套接字编程 第12章 IPv4与IPv6的互操作性 第13章 守护进程和inetd超级服务器 第14章 高级I/O函数 第15章 Unix域协议 第16章 非阻塞式I/O 第17章 ioctl操作 第18章 路由套接字 第19章 密钥管理套接字 第20章 广播 第21章 多播 第22章 高级UDP套接字编程 第23章 高级SCTP套接字编程 第24章 带外数据 第25章 信号驱动式I/O 第26章 线程 第27章 IP选项 第28章 原始套接字 第29章 数据链路访问 第30章 客户/服务器程序设计范式 第31章 流 附录A IPv4、IPv6、ICMPv4和ICMPv6 附录B 虚拟网络 附录C 调试技术 附录D 杂凑的源代码 附录E 精选习题答案 参考文献 索引

    0
    158
    85.01MB
    2015-06-16
    10
  • 操作系统设计与实现 第3版 下

    第1章 引言 1.1 什么是操作系统 1.2 操作系统的发展历史 1.3 操作系统概念 1.4 系统调用 1.5 操作系统结构 1.6 剩余各章内容简介 1.7 小结 习题 第2章 进程 2.1 进程介绍 2.2 进程间通信 2.3 经典IPC问题 2.4 进程调度 2.5 MINIX3进程概述 2.6 MINIX3中进程的实现 2.7 MINIX3的系统任务 2.8 MINIX3的时钟任务 2.9 小结 习题 第3章 输入/输出系统 3.1 I/O硬件原理 3.2 I/O软件原理 3.3 死锁 3.4 MINIX3中的I/O概述 3.5 MINIX3中的块设备 3.6 RAM盘 3.7 磁盘 3.8 终端 3.9 小结 习题 第4章 存储管理 4.1 基本的存储管理 4.2 交换技术 4.3 虚拟存储管理 4.4 页面置换算法 4.5 页式存储管理中的设计问题 4.6 段式存储管理 4.7 MINIX3进程管理器概述 4.8 MINIX3进程管理器的实现 4.9 小结 习题 第5章 文件系统 5.1 文件 5.2 目录 5.3 文件系统的实现 5.4 文件系统的安全性 5.5 保护机制 5.6 MINIX3文件系统概述 5.7 MINIX3文件系统的实现 5.8 小结 习题 第6章 阅读材料和参考文献 6.1 推荐的进一步阅读材料 6.2 按字母顺序排列的参考文献 索引

    3
    21
    23.25MB
    2015-06-16
    10
  • 操作系统设计与实现 第3版 上

    第1章 引言 1.1 什么是操作系统 1.2 操作系统的发展历史 1.3 操作系统概念 1.4 系统调用 1.5 操作系统结构 1.6 剩余各章内容简介 1.7 小结 习题 第2章 进程 2.1 进程介绍 2.2 进程间通信 2.3 经典IPC问题 2.4 进程调度 2.5 MINIX3进程概述 2.6 MINIX3中进程的实现 2.7 MINIX3的系统任务 2.8 MINIX3的时钟任务 2.9 小结 习题 第3章 输入/输出系统 3.1 I/O硬件原理 3.2 I/O软件原理 3.3 死锁 3.4 MINIX3中的I/O概述 3.5 MINIX3中的块设备 3.6 RAM盘 3.7 磁盘 3.8 终端 3.9 小结 习题 第4章 存储管理 4.1 基本的存储管理 4.2 交换技术 4.3 虚拟存储管理 4.4 页面置换算法 4.5 页式存储管理中的设计问题 4.6 段式存储管理 4.7 MINIX3进程管理器概述 4.8 MINIX3进程管理器的实现 4.9 小结 习题 第5章 文件系统 5.1 文件 5.2 目录 5.3 文件系统的实现 5.4 文件系统的安全性 5.5 保护机制 5.6 MINIX3文件系统概述 5.7 MINIX3文件系统的实现 5.8 小结 习题 第6章 阅读材料和参考文献 6.1 推荐的进一步阅读材料 6.2 按字母顺序排列的参考文献 索引

    5
    157
    52.26MB
    2015-06-16
    11
  • 深入解析Windows操作系统(Microsoft.Windows.Internals)中文第四版

    第一章 概念和工具 第二章 系统结构 第三章 系统机制 第四章 管理机制 第五章 启动和停机 第六章 进程、线程和作业 第七章 内存管理 第八章 安全性 第九章 I/O系统 第十章 存储管理 第十一章 缓存管理器 第十二章 文件系统 第十三章 网络 第十四章 崩溃转储分析

    4
    415
    89.49MB
    2015-06-16
    50
  • 深入理解Linux内核(完整版)中文版

    前言 第一章绪论 Linux与其他类Unix内核的比较 硬件的依赖性 Linux版本 操作系统基本概念 Unix文件系统概述 Unix内核概述 第二章内存寻址 内存地址 硬件中的分段 Linux中的分段 硬件中的分页 Linux中的分页 第三章进程 进程、轻量级进程和线程 进程描述符 进程切换 创建进程 撤消进程 第四章中断和异常 中断信号的作用 中断和异常 中断和异常处理程序的嵌套执行 初始化中断描述符表 异常处理 中断处理 软中断及tasklet 工作队列 从中断和异常返回 第五章内核同步 内核如何为不同的请求提供服务 同步原语 对内核数据结构的同步访问 避免竞争条件的实例 第六章定时测量 时钟和定时器电路 Linux计时体系结构 更新时间和日期 更新系统统计数 软定时器和延迟函数 与定时测量相关的系统调用 第七章进程调度 调度策略 调度算法 调度程序所使用的数据结构 调度程序所使用的函数 多处理器系统中运行队列的平衡 与调度相关的系统调用 第八章内存管理 页框管理 内存区管理 非连续内存区管理 第九章进程地址空间 进程的地址空间 内存描述符 线性区 缺页异常处理程序 创建和删除进程的地址空间 堆的管理 第十章系统调用 POSIXAPI和系统调用 系统调用处理程序及服务例程 进入和退出系统调用 参数传递 内核封装例程 第十一章信号 信号的作用 产生信号 传递信号 与信号处理相关的系统调用 第十二章虚拟文件系统 虚拟文件系统(VFS)的作用 VFS的数据结构 文件系统类型 文件系统处理 路径名查找 VFS系统调用的实现 文件加锁 第十三章I/O体系结构和设备驱动程序 I/O体系结构 设备驱动程序模型 设备文件 设备驱动程序 字符设备驱动程序 第十四章块设备驱动程序 块设备的处理 通用块层 I/O调度程序 块设备驱动程序 打开块设备文件 第十五章页高速缓存 页高速缓存 把块存放在页高速缓存中 把脏页写入磁盘 sync()、fsync()和fdatasync()系统调用 第十六章访问文件 读写文件 内存映射 直接I/O传送 异步I/O 第十七章回收页框 页框回收算法 反向映射 PFRA实现 交换 第十八章Ext2和Ext3文件系统 Ext2的一般特征 Ext2磁盘数据结构 Ext2的内存数据结构 创建Ext2文件系统 Ext2的方法 管理Ext2磁盘空间 Ext3文件系统 第十九章进程通信 管道 FIFO SystemVIPC POSIX消息队列 第二十章程序的执行 可执行文件 可执行格式 执行域 exec函数 附录一系统启动 附录二模块 参考文献 源代码索引

    5
    0
    13.81MB
    2015-06-16
    50
  • 分享王者

    成功上传51个资源即可获取
  • 新人勋章

    用户发布第一条blink获赞超过3个即可获得
关注 私信
上传资源赚积分or赚钱