Linux内核源代码

副标题:无

作   者:范磊编著

分类号:

ISBN:9787115098474

微信扫一扫,移动浏览光盘

简介

   本书在详细介绍Windows.NET Server中文版各项新增功能和各种网络通信知识的基础上,重点讲述了Windows.NET Server中文版的网络安装、配置、管理、维护、安全防护等一系列相关网络的专题,是广大网络管理和网络爱好者的指导性书籍。    本书内容翔实、结构清晰、叙述流畅、技术分析透彻,适合于对Windows操作系统有一定了解并希望用Windows.NET Server组网的用户学习,也可供从事网络集成与网络管理的用户使用。   

目录

第1章 linux操作系统概述

 1.1 linux的历史

 1.2 linux开发过程

 1.3 linux的现状

 1. 3. 1 redhat 6.0(http://www.redhat.com)

 1.3.2 slackware 3.4(http://www.cdrom.com)

 1. 3.3 debian 1.3.1(http://www.debian.org)

 1.3.4 suse linux 5.2(http://www.suse.com)

 1.3.5 turbo linux 4.0简体中文标准版10cd

 1.3.6 红旗linux

 1.4 分析内核的意义

 1.4.1 开发“自己的”操作系统

 1.4. 2 开发高水平软件

 1.4.3 计算机科学的教学和科研

 1.5 小结与练习

 1.5.1 小结

 1.5.2 习题与思考

第2章 内核体系结构概述

 2. 1 内核设计目标

 2. 1.1 清晰性

. 2.1.2 兼容性

 2.1.3 可移植性

 2.1.4 健壮性和安全性

 2.1.5 速度

 2.2 内核体系结构初识

 2. 3 内核体系结构的深入了解

 2.4 linux内核的类型

 2. 4.1 层次(layer)

 2.4.2 linux内核类型

 2.5 了解linux内核源代码

 2. 5.1 内核源代码结构

 2.5.2 体系结构相关和体系结构无关的代码

 2.6 linux内核源代码的部分特点

 2.6.1 gcc特性的使用

 2.6.2 内核代码习惯用语

 2. 6.3 减少#if和#ifdef的使用

 2. 7 代码样例

 2.7.1 printx函数

 2.7.2 等待队列

 2. 7.3 内核模块

 2.8 配置与编译内核

 2.8.1 配置内核

 2.8.2 构建内核

 2.8.3 备份的重要性

 2.8.4 发布改进

 2. 8.5 多版本的内核代码

 2.9 小结与练习

 2.9.1 小结

 2.9.2 习题与思考

第3章 系统初始化

 3.1 初始化流程

 3. 1.1 系统加电或复位

 3.1.2 bios启动

 3.1.3 boot loader

 3.1.4 操作系统内核的初始化

 3.2 初始化的任务

 3.2. 1 处理器对初始化的影响

 3.2.2 其他硬件设备对初始化的影响

 3.3 操作系统的初始化

 3.3.1 引导pc机(bios启动和lilo引导)

 3.3.2 准备linux内核

 3.3.3 初始化linux内核

 3.3.4 bogo mips

 3.3.5 分析内核选项

 3.4 init进程

 3. 5 本章代码

 3.6 小结与练习

 3. 6.1 小结

 3.6.2 习题与思考

第4章 进程

 4.1 进程在内核中的表示方法

 4.2 进程的状态

 4.3 引用计数

 4. 4 优先组

 4.5 创建过程

 4.5.1 fork和_clone

 4.5. 2 分配pid

 4.5. 3 进程的运行

 4.6 进程调度

 4. 6.1 调度策略

 4.6.2 调度函数

 4.6.3 计算goodness值

 4. 6.4 非实时优先级

 4.6.5 实时优先级

 4.7 遵守限制

 4. 7. 1 权能

 4.7.2 用户id和组id

 4.7.3 资源限制

 4.8 进程的结束

 4.8.1 exit函数组

 4. 8.2 wait函数组

 4.9 本章代码

 4. 10 小结与练习

 4.10.1 小结

 4.10.2 习题与思考

第5章 中断和中断处理

 5. 1 硬件基础

 5.1.1 可编程中断控制器

 5.1.2 初始化中断处理数据结构

 5.1.3 中断处理任务

 5.2 中断及其有关数据结构

 5.2.1 中断和中断请求irq

 5.2.2 数据结构

 5.3 初始化中断请求

 5.4 中断处理

 5.5 本章代码

 5.6 小结与练习

 5.6.1 小结

 5.6.2 习题与思考

第6章 系统调用

 6.1 什么是系统调用

 6.2 基本原理

 6.3 系统调用的初始化

 6.3.1 在处理系统调用时使用“陷阱门”的原因

 6. 3.2 利用“陷阱门”完成向高特权级(内核)切换

 6.3. 3 “陷阱门”特权切换时堆栈的变化

 6.4 如何激活系统调用

 6.4.1 system_call国数

 6.4. 2 icall7函数

 6.5 系统调用样例

 6.5.1 sys_ni_syscal函数

 6.5.2 sys_time函数

 6.5.3 sys_reboot

 6.5.4 sys_sysinfo函数

 6.6 本章代码

 6.7 小结与练习

 6.7.1 小结

 6.7.2 习题与思考

第7章 内存管理

 7.1 虚拟内存

 7.1.1 虚拟内存的抽象模型

 7.1.2 交换和分页

 7.1.3 地址空间

 7.1.4 内存管理单元(mmu)

 7.1.5 页目录和负责

 7.1.6 转换后备级存

 7. 1.7 段

 7. 2 进程的内存组织

 7.2.1 struct vm_area_struct

 7.2.2 struct vm_operations_struct

 7. 2.3 struct mm_struct

 7. 2. 4 vma的操作

 7. 3 分页

 7. 3.1 页面保护详述

 7.3.2 写拷贝

 7.3.3 页面错误

 7. 3.4 页面调出

 7.4 交换设备

 7.4.1 get_swap_page函数

 7.4. 2 swap_free函数

 7.4. 3 sys_swapoff函数

 7.4.4 sys_swapon函数

 7. 5 内存映射mmap

 7.5.1 do_mmap函数

 7.5.2 merge_segments函数

 7.5.3 do_munmap函数

 7.5.4 unmap_fixup函数

 7.6 用户空间和内核空间的动态内存

 7.6.1 brk

 7.6. 2 vmalloc和vfree

 7.7 主存储器信息转储

 7. 8 缓存和刷新机制

 7.8.1 linux使用的缓存

 7.8.2 缓冲区高速缓存

 7. 9 内存的初始化

 7. 9.1 内存的初始化过程

 7.9.2 进入用户模式

 7.10 本章代码

 7.11 小结与练习

 7.11.1 小结

 7.11.2 习题与思考

第8章 虚拟文件系统

 8.1 概述

 8.2 vfs中的重要数据结构

 8.2. 1 vfs的超级块

 8.2.2 vfs的索引节点

 8.2.3 与进程联系的三个结构

 8.2.4 有关操作的数据结构

 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 open系统调用

 8.6. 2 read系统调用

 8.6.3 fcntl系统调用

 8.7 本章代码

 8.8 小结与练习

 8.8.1 小结

 8.8.2 习题与思考

第9章 ext2文件系统

 9.1 基本概念

 9.1.1 一组字节到逻辑块的映射

 9.1.2 逻辑块到物理块的映射

 9.2 ext2的磁盘布局和数据结构

 9.2.1 ext2的磁盘布局

 9.2. 2 ext2超级块

 9.2.3 ext2索引节点

 9.2.4 ext2组描述符

 9.2.5 位图

 9.2.6 索引节点表及举例

 9.2.7 ext2目录

 9.2. 8 在一个ext2文件系统中查找一个文件

 9.2.9 在ext2文件系统中改变一个文件的大小

 9.3 文件的访问权限和安全

 9.4 连接文件

 9.5 错误处理

 9.6 分配策略

 9.6.1 分配新块的算法

 9.6.2 分配新的索引节点的算法

 9.7 本章代码

 9.8 小结与练习

 9.8.1 小结

 9.8.2 习题与思考

第10章 进程间通信

 10.1 管道(pipe)

 10.1.1 linux管道机制的实现

 10.1.2 管道的应用

 10.1.3 命名管道(fifo)

 10.2 system v ipc机制

 10.2.1 消息队列

 10.2.2 信号量

 10.3 共享内存

 10.4 信号

 10.4. 1 信号的引入

 10.4.2 信号掩码

 10.4. 3 系统调用

 10.4. 4 进程与信号的关系

 10.5 本章代码

 10.6 小结与练习

 10.6.1 小结

 10.6.2 习题与思考

第11章 设备驱动

 11.1 linux的设备管理

 11.1.1 i/o软件

 11.1.2 设备驱动程序

 11.1.3 linux驱动程序的几个通用函数

 11.2 中断

 11.2.1 硬件对中断的支持

 11.2. 2 linux对中断的管理

 11.2.3 linux对中断的处理

 11.3 块设备驱动程序

 11.3.1 块设备驱动程序的登记

 11.3.2 块设备基于缓冲区的数据交换

 11.3. 3 ram盘驱动程序的实现

 11.3.4 硬盘驱动程序的实现

 11.4 字符设备驱动程序

 11.4. 1 字符设备的注册

 11.4. 2 工作内存

 11.4.3 基本入口点

 11.5 网络设备的初始化

 11. 6 本章代码

 11. 7 小结与练习

 11.7.1 小结

 11.7.2 习题与思考

第12章 网络

 12.1 概述

 12.1.1 linux的网络层次结构

 12.1.2 面向对象的设计方法实现网络层次

 12.2 网络协议

 12.2.1 网络参考模型

 12.2.2 tcp/ip协议工作原理及数据流

 12.2.3 internet协议

 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 支持函数

 12.6 本章代码

 12.7 小结与练习

 12.7. 1 小结

 12.7.2 习题与思考

第13章 多对称处理

 13.1 并行程序设计概念及其原语

 13.1.1 原子操作

 13.1.2 test-and-set原语

 13.1.3 信号量

 13.1.4 自旋锁

 13.2 apic和cpu-to-cpu通信

 13. 3 smp对内核的影响

 13.3. 1 对调度的影响

 13.3.2 smp_local_timer_interrupt函数

 13.3.3 lock_kernel函数和unlock_kernel函数

 13.3.4 softirq_trylock函数

 13.3.5 cli宏和sit宏

 13.3.6 irq_enter函数和irq_exit函数

 13.4 本章代码

 13.5 小结与练习

 13.5.1 小结

 13.5.2 习题与思考

附录 部分习题参考答案


已确认勘误

次印刷

页码 勘误内容 提交人 修订印次

Linux内核源代码
    • 名称
    • 类型
    • 大小

    光盘服务联系方式: 020-38250260    客服QQ:4006604884

    意见反馈

    14:15

    关闭

    云图客服:

    尊敬的用户,您好!您有任何提议或者建议都可以在此提出来,我们会谦虚地接受任何意见。

    或者您是想咨询:

    用户发送的提问,这种方式就需要有位在线客服来回答用户的问题,这种 就属于对话式的,问题是这种提问是否需要用户登录才能提问

    Video Player
    ×
    Audio Player
    ×
    pdf Player
    ×
    Current View

    看过该图书的还喜欢

    some pictures

    解忧杂货店

    东野圭吾 (作者), 李盈春 (译者)

    亲爱的云图用户,
    光盘内的文件都可以直接点击浏览哦

    无需下载,在线查阅资料!

    loading icon