ad holder

一个64位操作系统的设计与实现 C语言自制操作系统教程 引入诸多

一个64位操作系统的设计与实现 C语言自制操作系统教程 引入诸多 下载 mobi epub pdf 电子书 2024


简体网页||繁体网页
田宇 著



点击这里下载
    


想要找书就要到 图书大百科
立刻按 ctrl+D收藏本页
你会得到大惊喜!!

发表于2024-03-28

类似图书 点击查看全场最低价

图书介绍

店铺: 一键团图书专营店
出版社: 人民邮电出版社
ISBN:9787115475251
商品编码:28650430611
包装:平装
开本:16
出版时间:2018-05-01
字数:1022


相关图书





图书描述


内容介绍
本书讲述了一个64位多核操作系统的自制过程。此操作系统自制过程是先从虚拟平台构筑起一个基础框架,随后再将基础框架移植到物理平台中进行升级、完善与优化。为了凸显64位多核操作系统的特点,物理平台选用搭载着Intel Core-i7处理器的笔记本电脑。与此同时,本书还将Linux内核的源码精髓、诸多官方白皮书以及多款常用协议浓缩于其中,可使读者在读完本书后能够学以致用,进而达到理论联系实际的目的。 全书共分为16章。*1~2章讲述了操作系统的基础概念和开发操作系统需要掌握的知识;第3~5章在虚拟平台下快速构建起一个操作系统模型;第6~16章将在物理平台下对操作系统模型做进一步升级、优化和完善。 本书既适合在校学习理论知识的初学者,又适合在职工作的软件工程师或有一定基础的业余爱好者。

作者介绍
田宇 Linux内核爱好者,曾在多家大中型软件公司从事软件开发工作,参与过多款高端嵌入式产品的开发研制,主要负责Linux内核和驱动的研发,以及开源操作系统环境的深度定制。

关联推荐
基于Intel I7处理器的64位多核操作系统,引入诸多Linux内核的设计精髓
目录
*一部分 操作系统相关知识介绍及环境搭建
*1章 操作系统概述  4
1.1 什么是操作系统  4
1.2 操作系统的组成结构  4
1.3 编写操作系统需要的知识  7
1.4 本书操作系统简介  8
*2章 环境搭建及基础知识  9
2.1 虚拟机及开发系统平台介绍  9
2.1.1 VMware的安装  9
2.1.2 编译环境CentOS 6  10
2.1.3 Bochs虚拟机  11
2.2 汇编语言  14
2.2.1 AT&T;汇编语言格式与Intel汇编语言格式  14
2.2.2 NASM编译器  16
2.2.3 使用汇编语言调用C语言的函数  16
2.3 C语言  19
2.3.1 GNU C内嵌汇编语言  20
2.3.2 GNU C语言对标准C语言的扩展  23
*二部分 初级篇
第3章 BootLoader引导启动程序  30
3.1 Boot引导程序  30
3.1.1 BIOS引导原理  31
3.1.2 写一个Boot引导程序  32
3.1.3 创建虚拟软盘镜像文件  36
3.1.4 在Bochs上运行我们的Boot程序  38
3.1.5 加载Loader到内存  40
3.1.6 从Boot跳转到Loader程序  52
3.2 Loader引导加载程序  54
3.2.1 Loader原理  54
3.2.2 写一个Loader程序  55
3.2.3 从实模式进入保护模式再到IA-32e模式  65
3.2.4 从Loader跳转到内核程序  75
第4章 内核层  78
4.1 内核执行头程序  78
4.1.1 什么是内核执行头程序  78
4.1.2 写一个内核执行头程序  79
4.2 内核主程序  83
4.3 屏幕显示  85
4.3.1 在屏幕上显示色彩  86
4.3.2 在屏幕上显示log  88
4.4 系统异常  100
4.4.1 异常的分类  101
4.4.2 系统异常处理(一)  102
4.4.3 系统异常处理(二)  109
4.5 初级内存管理单元  121
4.5.1 获得物理内存信息  121
4.5.2 计算可用物理内存页数  123
4.5.3 分配可用物理内存页  126
4.6 中断处理  142
4.6.1 8259A PIC  142
4.6.2 触发中断  148
4.7 键盘驱动  152
4.7.1 简述键盘功能  152
4.7.2 实现键盘中断捕获函数  154
4.8 进程管理  155
4.8.1 简述进程管理模块  155
4.8.2 PCB  156
4.8.3 init进程  163
第5章 应用层  171
5.1 跳转到应用层  171
5.2 实现系统调用API  180
5.3 实现一个系统调用处理函数  185
第三部分 *级篇
第6章 处理器体系结构  190
6.1 基础功能与新特性  190
6.1.1 运行模式  190
6.1.2 通用寄存器  191
6.1.3 CPUID指令  192
6.1.4 标志寄存器EFLAGS  193
6.1.5 控制寄存器  195
6.1.6 MSR寄存器组  199
6.2 地址空间  199
6.2.1 虚拟地址  200
6.2.2 物理地址  200
6.3 实模式  200
6.3.1 实模式概述  201
6.3.2 实模式的段寻址方式  201
6.3.3 实模式的中断向量表  201
6.4 保护模式  202
6.4.1 保护模式概述  202
6.4.2 保护模式的段管理机制  206
6.4.3 保护模式的中断/异常处理机制  214
6.4.4 保护模式的页管理机制  217
6.4.5 保护模式的地址转换过程  224
6.5 IA-32e模式  226
6.5.1 IA-32e模式概述  226
6.5.2 IA-32e模式的段管理机制  228
6.5.3 IA-32e模式的中断/异常处理机制  234
6.5.4 IA-32e模式的页管理机制  234
6.5.5 IA-32e模式的地址转换过程  237
第7章 完善BootLoader功能  238
7.1 实模式的寻址瓶颈  238
7.1.1 错综复杂的1 MB物理地址空间  238
7.1.2 突破1 MB物理内存瓶颈  239
7.1.3 实模式下的4 GB线性地址寻址  240
7.2 获取物理地址空间信息  240
7.3 操作系统引导加载阶段的内存空间划分  242
7.4 U盘启动  244
7.4.1 USB-FDD、USB-ZIP和USB-HDD启动模式的简介  244
7.4.2 将Boot引导程序移植到U盘中启动  251
7.5 在物理平台上启动操作系统  255
7.6 细说VBE功能的实现  261
7.6.1 VBE规范概述  261
7.6.2 获取物理平台的VBE相关信息  272
7.6.3 设置显示模式  279
第8章 内核主程序  282
8.1 内核主程序功能概述  282
8.2 操作系统的Makefile编译脚本  282
8.3 操作系统的kernel.lds链接脚本  286
8.4 操作系统的线性地址空间划分  289
8.5 获得处理器的固件信息  290
第9章 *级内存管理单元  297
9.1 SLAB内存池  297
9.1.1 SLAB内存池概述及相关结构体定义  298
9.1.2 SLAB内存池的创建与销毁  299
9.1.3 SLAB内存池中对象的分配与回收  302
9.2 基于SLAB内存池技术的通用内存管理单元  308
9.2.1 通用内存管理单元的初始化函数slab_init  308
9.2.2 通用内存的分配函数kmalloc  312
9.2.3 通用内存的回收函数kfree  317
9.3 调整物理页管理功能  321
9.3.1 内存管理单元结构及相关函数调整  321
9.3.2 调整alloc_pages函数  323
9.3.3 创建free_pages函数  327
9.4 页表初始化  330
9.4.1 页表重新初始化  331
9.4.2 VBE帧缓存区地址重映射  334
*10章 *级中断处理单元  337
10.1 APIC概述  337
10.2 Local APIC  338
10.2.1 Local APIC的基础信息  338
10.2.2 Local APIC整体结构及各功能描述  344
10.3 I/O APIC  352
10.3.1 I/O APIC控制器的基础信息  353
10.3.2 I/O APIC整体结构及各引脚功能  356
10.4 中断控制器的模式选择与初始化  358
10.4.1 中断模式  359
10.4.2 Local APIC控制器的初始化  362
10.4.3 I/O APIC控制器的初始化  368
10.5 *级中断处理功能  375
10.5.1 Linux的中断处理机制概述  375
10.5.2 实现中断上半部处理功能  377
*11章 设备驱动程序  382
11.1 键盘和鼠标驱动程序  382
11.1.1 键盘和鼠标控制器  382
11.1.2 完善键盘驱动  389
11.1.3 实现鼠标驱动  398
11.2 硬盘驱动程序  403
11.2.1 硬盘设备初探  403
11.2.2 完善硬盘驱动程序  418
*12章 进程管理  428
12.1 进程管理单元功能概述  428
12.2 多核处理器  429
12.2.1 超线程技术与多核技术概述  429
12.2.2 多核处理器间的IPI通信机制介绍  434
12.2.3 让我们的系统支持多核  437
12.3 进程调度器  464
12.3.1 Linux进程调度器简介  465
12.3.2 墙上时钟与定时器  468
12.3.3 内核定时器  479
12.3.4 实现进程调度功能  486
12.4 内核同步方法  498
12.4.1 原子变量  498
12.4.2 信号量  499
12.4.3 完善自旋锁  501
12.5 完善进程管理单元  503
12.5.1 完善PCB与处理器运行环境  503
12.5.2 完善进程调度器和AP处理器引导程序  508
12.5.3 关于线程  514
*13章 文件系统  516
13.1 文件系统概述  516
13.2 解析FAT32文件系统  517
13.2.1 FAT32文件系统简介  517
13.2.2 通过实例深入解析FAT32文件系统  523
13.2.3 实现基于路径名的文件系统检索功能  532
13.3 虚拟文件系统  552
13.3.1 Linux VFS简介  552
13.3.2 实现VFS  554
*14章 系统调用API库  566
14.1 系统调用API结构  566
14.2 基于POSIX规范实现系统调用API库  567
14.2.1 POSIX规范下的系统调用API简介  567
14.2.2 升级系统调用模块  568
14.2.3 基础文件操作的系统调用API实现  574
14.2.4 进程创建的系统调用API实现  599
14.2.5 内存管理的基础系统调用API实现  618
*15章 Shell命令解析器及命令  626
15.1 Shell命令解析器  626
15.1.1 Shell命令解析器概述  626
15.1.2 实现Shell命令解析器  627
15.2 基础命令  641
15.2.1 重启命令reboot  641
15.2.2 工作目录切换命令cd  642
15.2.3 目录内容显示命令ls  645
15.2.4 文件查看命令cat  654
15.2.5 程序执行命令exec  655
*16章 一个彩蛋  665
附录 术语表  676
参考资料  679


一个64位操作系统的设计与实现 C语言自制操作系统教程 引入诸多 下载 mobi epub pdf txt 电子书 格式

一个64位操作系统的设计与实现 C语言自制操作系统教程 引入诸多 mobi 下载 pdf 下载 pub 下载 txt 电子书 下载 2024

一个64位操作系统的设计与实现 C语言自制操作系统教程 引入诸多 下载 mobi pdf epub txt 电子书 格式 2024

一个64位操作系统的设计与实现 C语言自制操作系统教程 引入诸多 下载 mobi epub pdf 电子书
想要找书就要到 图书大百科
立刻按 ctrl+D收藏本页
你会得到大惊喜!!

用户评价

评分

评分

评分

评分

评分

评分

评分

评分

评分

类似图书 点击查看全场最低价

一个64位操作系统的设计与实现 C语言自制操作系统教程 引入诸多 mobi epub pdf txt 电子书 格式下载 2024


分享链接








相关图书


本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou

友情链接

© 2024 book.qciss.net All Rights Reserved. 图书大百科 版权所有