0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

米尔科技深入理解LINUX内核简介

米尔科技 来源:米尔科技 作者:米尔科技 2019-11-25 09:34 次阅读

内容简介

为了透彻理解Linux的工作机理,以及为何它在各种系统上能顺畅运行,你需要深入到内核的心脏。cPu与外部世界的所有交互活动都是由内核处理的,哪些程序会分享处理器的时间,以什么样的顺序来分享。内核不遗余力地管理有限的内存,以使数以千计的进程有效地共享系统资源。内核还精心组织数据传送,使得cPu不再受限于慢速硬盘。
《深入理解Linux内核》第三版将引领你畅游内核中用到的最主要数据结构、算法编程技巧。如果你的确想了解计算机内部的实现机理,那么作者透过现象探寻本质,提供了颇有价值的深入分析。本书针对具体的Intel平台,讨论了其重要特征,逐行剖析了相关的代码片段。但是,本书涵盖的内容不仅仅局限于代码的机理,还解释了Linux运作方式的理论支撑。
本书第三版涵盖Linux2.6,从中可以看到几乎内核每个子系统都有相当大的变化,首当其冲的是内存管理和块设备部分。本书集中讨论了如下内容:
内存管理,包括文件缓冲、进程交换以及直接内存访问(DMA
虚拟文件系统层和第二及第三扩展文件系统
进程创建及调度
信号、中断及设备驱动程序的主要接口
定时
内核中的同步
进程间通信(IPC)
程序执行

本书将使你熟悉Linux所有的内在工作机理,但本书不仅仅是一种学术演练。你将了解到什么条件会促使Linux产生最佳性能,你还会看到,Linux在各种环境下如何满足进程调度、文件访问及内存管理期间系统提出的快速响应要求。本书有助于你充分展现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函数

附录一系统启动
附录二模块
参考文献
源代码索引


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Linux
    +关注

    关注

    87

    文章

    11219

    浏览量

    208872
  • 嵌入式主板
    +关注

    关注

    7

    文章

    6085

    浏览量

    35196
  • 米尔科技
    +关注

    关注

    5

    文章

    227

    浏览量

    20910
收藏 人收藏

    评论

    相关推荐

    深入理解Android

    深入理解Android
    发表于 08-20 15:30

    深入理解和实现RTOS_连载

    和trcohili的帖子。深入理解和实现RTOS_连载1_RTOS的前生今世今天发布的是第一篇,"RTOS的前生今世"。通过软件系统结构的比对简要的介绍rtos为何而生。如果读者对RTOS
    发表于 05-29 11:20

    深入理解和实现RTOS_连载

    和trcohili的帖子。trochili rtos完全是作者兴趣所在,且行且坚持,比没有duo。深入理解和实现RTOS_连载1_RTOS的前生今世今天发布的是第一篇,"RTOS的前生今世"
    发表于 05-30 01:02

    深入理解Linux内核 中文版+英文原版

    深入理解Linux内核 中文版+英文原版 经典之作
    发表于 05-17 08:18

    深入理解LINUX内存管理》学习笔记

    深入理解LINUX内存管理》学习笔记1
    发表于 11-07 10:20

    深入理解Linux网络技术内幕》(EN)

    深入理解Linux网络技术内幕》(EN)
    发表于 02-06 15:17

    深入理解lte-a

    深入理解LTE-A
    发表于 02-26 10:21

    深入理解STM32

    时钟系统是处理器的核心,所以在学习STM32所有外设之前,认真学习时钟系统是必要的,有助于深入理解STM32。下面是从网上找的一个STM32时钟框图,比《STM32中文参考手册》里面的是中途看起来清晰一些:重要的时钟:PLLCLK,SYSCLK,HCKL,PCLK1,...
    发表于 08-12 07:46

    对栈的深入理解

    为什么要深入理解栈?做C语言开发如果栈设置不合理或者使用不对,栈就会溢出,溢出就会遇到无法预测乱飞现象。所以对栈的深入理解是非常重要的。注:动画如果看不清楚可以电脑看更清晰啥是栈先来看一段动画:没有
    发表于 02-15 07:01

    为什么要深入理解

    [导读] 从这篇文章开始,将会不定期更新关于嵌入式C语言编程相关的个人认为比较重要的知识点,或者踩过的坑。为什么要深入理解栈?做C语言开发如果栈设置不合理或者使用不对,栈就会溢出,溢出就会遇到无法
    发表于 02-15 06:09

    深入理解Linux虚拟内存管理_爱尔兰/戈尔曼著

    电子发烧友网站提供《深入理解Linux虚拟内存管理_爱尔兰/戈尔曼著.txt》资料免费下载
    发表于 02-09 15:19 0次下载

    深入理解LINUX内核(中文版)_ 陈莉君/冯锐/牛欣源译

    电子发烧友网站提供《深入理解LINUX内核(中文版)_ 陈莉君/冯锐/牛欣源译.txt》资料免费下载
    发表于 02-11 11:16 0次下载

    深入理解Android》文前

    深入理解Android》文前
    发表于 03-19 11:23 0次下载

    深入理解Android:卷I》

    深入理解Android:卷I》
    发表于 03-19 11:23 0次下载

    深入理解Android网络编程

    深入理解Android网络编程
    发表于 03-19 11:26 1次下载