您好,欢迎来到聚文网。
登录
免费注册
网站首页
|
联系客服
|
搜索
热搜:
三年级必读书
|
购物车
0
我的订单
商品分类
首页
幼儿
文学
社科
教辅
生活
销量榜
从零开始写Linux内核
字数: 538
出版社: 机械工业
作者: 海纳|
商品条码: 9787111766445
适读年龄: 12+
版次: 1
开本: 16开
页数: 388
出版年份: 2025
印次: 1
定价:
¥99
销售价:
登录后查看价格
¥{{selectedSku?.salePrice}}
库存:
{{selectedSku?.stock}}
库存充足
{{item.title}}:
{{its.name}}
加入购物车
立即购买
收藏
上架到店铺
×
Close
上架到店铺
{{shop.name}}
点此去绑定店铺
精选
¥5.83
世界图书名著昆虫记绿野仙踪木偶奇遇记儿童书籍彩图注音版
¥5.39
正版世界名著文学小说名家名译中学生课外阅读书籍图书批发 70册
¥8.58
简笔画10000例加厚版2-6岁幼儿童涂色本涂鸦本绘画本填色书正版
¥5.83
世界文学名著全49册中小学生青少年课外书籍文学小说批发正版
¥4.95
全优冲刺100分测试卷一二三四五六年级上下册语文数学英语模拟卷
¥8.69
父与子彩图注音完整版小学生图书批发儿童课外阅读书籍正版1册
¥24.2
好玩的洞洞拉拉书0-3岁宝宝早教益智游戏书机关立体翻翻书4册
¥7.15
幼儿认字识字大王3000字幼儿园中班大班学前班宝宝早教启蒙书
¥11.55
用思维导图读懂儿童心理学培养情绪管理与性格培养故事指导书
¥19.8
少年读漫画鬼谷子全6册在漫画中学国学小学生课外阅读书籍正版
¥64
科学真好玩
¥12.7
一年级下4册·读读童谣和儿歌
¥38.4
原生态新生代(传统木版年画的当代传承国际研讨会论文集)
¥11.14
法国经典中篇小说
¥11.32
上海的狐步舞--穆时英(中国现代文学馆馆藏初版本经典)
¥22.05
猫的摇篮(精)
¥30.72
幼儿园特色课程实施方案/幼儿园生命成长启蒙教育课程丛书
¥24.94
旧时风物(精)
¥12.04
三希堂三帖/墨林珍赏
¥6.88
寒山子庞居士诗帖/墨林珍赏
¥6.88
苕溪帖/墨林珍赏
¥6.88
楷书王维诗卷/墨林珍赏
¥9.46
兰亭序/墨林珍赏
¥7.74
祭侄文稿/墨林珍赏
¥7.74
蜀素帖/墨林珍赏
¥12.04
真草千字文/墨林珍赏
¥114.4
进宴仪轨(精)/中国古代舞乐域外图书
¥24.94
舞蹈音乐的基础理论与应用
内容简介
本书由知名编译与操作系统专家海纳撰写,将沉淀20余年的Linux系统研究所得倾注书中。本书用不到1万行代码复现了Linux 0.12内核,打通了“古早”工具链障碍,模块实现环环相扣,带你穿透“迷雾”,窥见Linux系统设计的绚丽“天光”。 本书共8章,从逻辑上分为四部分。第一部分(第1和2章)是基础知识,介绍开发内核所需的基础知识,包括开发环境和调试环境的搭建,以及i386保护模式等。第二部分(第3~6章)是核心模块,逐步实现进程、中断、系统调用、内存管理、字符设备驱动和块设备驱动等模块。第三部分(第7章)是文件系统,涵盖Minix文件系统、管理inode、管理普通文件、管理目录、文件链接、执行程序等内容。第四部分(第8章)是系统服务接口,介绍一些重要的函数,这部分不是内核的主要部分,但为了让shell程序正确地运行,这些函数也是必须实现的。
作者简介
海纳:华为编译器开发高级工程师,目前投入鸿蒙系统开发语言ArkTS的开发。曾先后从事数据库、操作系统和编译器开发工作。著有图书《自己动手写Python虚拟机》,并撰写了极客时间专栏“编程高手必学的内存知识”“手写Python虚拟机”等。
目录
目录 前言 第 1 章 基础知识和环境准备 1 1.1 操作系统概述 1 1.1.1 功能和架构 1 1.1.2 操作系统的发展历史 3 1.2 配置环境 5 1.2.1 配置开发环境 5 1.2.2 配置运行环境 6 1.3 第一个内核程序 9 1.3.1 打印 Hello World 9 1.3.2 开机引导程序 11 1.4 汇编语言 12 1.4.1 内嵌汇编 12 1.4.2 链接器的工作原理 16 1.4.3 初识 makefile 18 1.5 小结 21 第 2 章 保护模式 22 2.1 进入保护模式前的准备 23 2.1.1 加载并执行 setup 23 2.1.2 获取硬件信息 27 2.2 内存管理 30 2.2.1 A20 地址线 31 2.2.2 全局描述符 31 2.2.3 页表的原理 34 2.2.4 进入保护模式 38 2.3 中断机制 46 2.3.1 中断描述符表 46 2.3.2 可编程中断控制器 48 2.3.3 特权级 50 2.4 时钟中断 52 2.4.1 初始化中断控制芯片 52 2.4.2 设置中断描述符表 53 2.4.3 重设全局描述符表 56 2.4.4 时钟中断实验 57 2.5 小结 59 第 3 章 进入内核 61 3.1 开启分页管理 61 3.1.1 设置页表 61 3.1.2 设置栈指针 66 3.2 实现格式化打印67 3.2.1 初始化终端和控制台 68 3.2.2 操作显示控制器 72 3.2.3 支持换行和回车 75 3.2.4 格式化打印结果并输出 81 3.3 设置内存和陷阱处理 92 3.3.1 初始化内存管理 92 3.3.2 初始化系统调用 94 3.3.3 处理 CPU 异常 98 3.4 小结 107 第 4 章 创建进程 108 4.1 创建 INIT 进程 108 4.1.1 创建进程控制块 108 4.1.2 切换特权级 113 4.2 创建第二个进程 118 4.2.1 准备进程控制块 119 4.2.2 复制进程控制块 120 4.2.3 实现进程切换 122 4.3 第一个系统调用:fork 129 4.3.1 系统调用和中断 129 4.3.2 定义 fork 函数 132 4.3.3 内存的写时复制 135 4.3.4 处理页保护中断 142 4.3.5 完善调度器 145 4.4 小结 149 第 5 章 支持字符设备150 5.1 支持键盘 150 5.1.1 键盘的工作原理 150 5.1.2 解析扫描码 154 5.1.3 构建缓冲区 156 5.1.4 完善屏幕回显功能 159 5.1.5 回显字符 165 5.2 优化输入功能 170 5.2.1 控制台和远程终端 170 5.2.2 系统调用 read 函数 178 5.3 优化输出功能 181 5.3.1 向标准输出写字符串 181 5.3.2 ANSI 转义序列 186 5.3.3 支持转义序列 188 5.4 修改终端状态 196 5.4.1 支持方向键 197 5.4.2 修改控制台标志位 198 5.5 小结 203 第 6 章 支持块设备 204 6.1 硬盘的基本结构 204 6.1.1 初始化硬盘信息 204 6.1.2 硬盘分区表 208 6.1.3 硬盘控制器编程 214 6.1.4 设置硬盘中断 217 6.2 管理缓冲区 221 6.2.1 初始化缓冲区 221 6.2.2 申请缓冲区 224 6.2.3 缓冲区相关的读写操作 230 6.3 硬盘驱动 237 6.3.1 读写硬盘 237 6.3.2 读硬盘分区表 241 6.4 软盘驱动 243 6.4.1 软盘的工作原理 243 6.4.2 实现定时器 246 6.4.3 DMA 读写 249 6.4.4 软盘控制器 253 6.4.5 实现软盘操作函数 263 6.5 小结 268 第 7 章 文件系统 269 7.1 Minix 文件系统 269 7.1.1 Minix 文件系统的基本 结构 270 7.1.2 定义超级块 270 7.1.3 初始化超级块 272 7.2 管理 inode 275 7.2.1 文件的元信息 275 7.2.2 管理位图 284 7.2.3 删除文件 289 7.2.4 进程支持文件操作 291 7.2.5 目录结构 295 7.3 管理普通文件 298 7.3.1 根据路径查找 inode 298 7.3.2 打开文件 305 7.3.3 文件的读操作 309 7.3.4 读写普通文件 312 7.4 管理目录 316 7.4.1 创建目录和文件 316 7.4.2 删除目录:rmdir 321 7.4.3 新建文件 325 7.5 文件链接 328 7.5.1 创建硬链接 328 7.5.2 创建软链接 330 7.5.3 通过链接访问文件 333 7.5.4 删除文件链接 334 7.6 执行程序 336 7.6.1 a.out 格式 337 7.6.2 执行程序:execve 340 7.6.3 缺页中断 347 7.6.4 实验:运行第一个可执行 程序 353 7.7 小结 356 第 8 章 系统服务接口358 8.1 POSIX 接口 358 8.1.1 时间管理 359 8.1.2 挂载文件系统 362 8.2 管理进程 364 8.2.1 信号处理 365 8.2.2 管道通信 371 8.2.3 进程同步 378 8.2.4 进程退出 380 8.3 构建 C 语言库 383 8.4 小结 386 附录 显示模式 387
×
Close
添加到书单
加载中...
点此新建书单
×
Close
新建书单
标题:
简介:
蜀ICP备2024047804号
Copyright 版权所有 © jvwen.com 聚文网