万本电子书0元读

万本电子书0元读

顶部广告

操作系统设计与实现:基于LoongArch架构电子书

亲自动手设计和实现一个具备基本功能的操作系统内核是学习操作系统的有效方式。本书以作者团队发的基于龙芯指令集的MaQueOS为主线,详细介绍了操作系统的程管理、内存管理、文件系统、中断管理和外设驱动等功能的实现方法。本书采用循序渐的写作方式,每一章的内容均是在前一章内容基础上对功能行迭代而实现的,最终形成一个完整的操作系统。书中提供了各个关键函数、功能的源代码,并附有详细的说明和注释,读者可通过研读代码理解操作系统不同功能的实现方法以及各个功能间如何实现协同工作。

售       价:¥

纸质售价:¥43.80购买纸书

5人正在读 | 0人评论 6.6

作       者:周庆国,杨虎斌,刘刚,陈玉聪,张福新

出  版  社:机械工业出版社

出版时间:2024-04-09

字       数:10.0万

所属分类: 教育 > 大中专教材 > 研究生/本科/专科教材

温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印

为你推荐

  • 读书简介
  • 目录
  • 累计评论(0条)
  • 读书简介
  • 目录
  • 累计评论(0条)
本书以基于LoongArch架构的教学版操作系统MaQueOS为主线,详细介绍了操作系统内核的设计和实现方法。在介绍MaQueOS的功能的基础上,依次介绍了显示器驱动、时钟中断、键盘驱动、程0和程1的创建与运行、程的挂起与唤醒、硬盘驱动、xtfs文件系统、程1加载可执行文件、页例外、程间通信和文件操作的实现方法。本书结构清晰、循序渐,既突出操作系统的基本原理,又强调动手实现,适合作为高校计算机类专业操作系统相关的教材,也适合作为技术人员的参考书。<br/>【推荐语】<br/>亲自动手设计和实现一个具备基本功能的操作系统内核是学习操作系统的有效方式。本书以作者团队发的基于龙芯指令集的MaQueOS为主线,详细介绍了操作系统的程管理、内存管理、文件系统、中断管理和外设驱动等功能的实现方法。本书采用循序渐的写作方式,每一章的内容均是在前一章内容基础上对功能行迭代而实现的,最终形成一个完整的操作系统。书中提供了各个关键函数、功能的源代码,并附有详细的说明和注释,读者可通过研读代码理解操作系统不同功能的实现方法以及各个功能间如何实现协同工作。<br/>【作者】<br/>周庆国,1973年出生,福建人,理学博士,教授,博士生导师,兰州谷歌发者社区(Lanzhou GDG)负责人,现任兰州大学分布式与嵌式系统实验室主任、源软件与实时系统工程研究中心副主任。已在国内外学术期刊上发表论文 51 篇(SCI 7 篇,EI 24 篇)。<br/>
目录展开

前言

第0章 绪论

0.1 MaQueOS的功能

0.1.1 进程管理

0.1.2 内存管理

0.1.3 文件系统

0.1.4 外设驱动

0.1.5 中断管理

0.2 系统功能测试

第1章 显示器驱动

1.1 显示器的显示原理

1.1.1 显示模式

1.1.2 字符显示

1.2 printk函数

1.2.1 显示字符串

1.2.2 字符擦除

1.2.3 回车换行

1.2.4 卷屏

1.2.5 删除字符

1.2.6 panic函数

1.3 本章任务

第2章 时钟中断

2.1 时钟中断初始化

2.1.1 恒定频率定时器

2.1.2 初始化

2.1.3 开中断

2.2 时钟中断的处理过程

2.2.1 中断硬件

2.2.2 中断现场保存与恢复

2.2.3 中断处理

2.2.4 中断返回

2.3 本章任务

第3章 键盘驱动

3.1 物理内存管理

3.1.1 初始化

3.1.2 申请

3.1.3 释放

3.2 初始化键盘中断

3.3 键盘中断的处理过程

3.4 本章任务

第4章 进程0的创建与运行

4.1 虚拟内存管理

4.1.1 初始化

4.1.2 建立页表映射

4.2 创建进程0

4.3 进程0的运行

4.3.1 进程0进入用户态

4.3.2 TLB重填例外的处理过程

4.4 时钟中断的处理过程

4.4.1 中断响应及处理

4.4.2 中断返回

4.5 本章任务

第5章 进程1的创建与运行

5.1 创建进程1

5.1.1 系统调用

5.1.2 fork系统调用

5.1.3 系统调用返回

5.2 进程切换

5.2.1 时钟中断

5.2.2 从进程0切换到进程1

5.2.3 进程1的运行

5.3 本章任务

第6章 进程的挂起、唤醒与终止

6.1 不可中断挂起与唤醒

6.1.1 不可中断挂起

6.1.2 唤醒不可中断挂起进程

6.2 可中断挂起与唤醒

6.3 进程终止

6.3.1 exit系统调用

6.3.2 释放进程资源

6.4 本章实例

6.5 本章任务

第7章 硬盘驱动

7.1 初始化硬盘

7.2 读写硬盘

7.2.1 发送读写命令

7.2.2 硬盘中断处理

7.3 硬盘读写实例

7.3.1 创建硬盘镜像文件

7.3.2 读硬盘

7.3.3 写硬盘

7.4 本章任务

第8章 xtfs文件系统

8.1 xtfs文件系统概述

8.2 格式化xtfs文件系统

8.2.1 格式化xtfs.img

8.2.2 格式化实例

8.3 文件复制

8.3.1 加载0/1号数据块

8.3.2 复制数据块

8.3.3 创建数据块索引表

8.3.4 初始化inode数据结构

8.3.5 写回0/1号数据块

8.3.6 复制实例

8.4 本章任务

第9章 进程1加载可执行文件

9.1 挂载xtfs文件系统

9.2 xt可执行文件

9.2.1 编译xt可执行文件

9.2.2 shell程序

9.3 加载可执行文件

9.4 进程1的运行

9.5 本章实例

9.6 本章任务

第10章 页例外

10.1 页无效例外

10.1.1 触发页无效例外

10.1.2 处理页无效例外

10.2 页修改例外

10.2.1 触发页修改例外

10.2.2 处理页修改例外

10.3 本章实例

10.4 本章任务

第11章 进程间通信

11.1 共享内存

11.1.1 初始化

11.1.2 与共享页建立映射的虚拟页

11.1.3 shmem系统调用

11.1.4 复制页表

11.1.5 释放页表

11.1.6 共享内存实例

11.2 软件定时器

11.2.1 软件定时器的实现原理

11.2.2 软件定时器实例

11.3 本章任务

第12章 文件操作

12.1 创建文件

12.1.1 创建文件的过程

12.1.2 创建文件实例

12.2 写文件

12.2.1 打开文件的过程

12.2.2 写文件的过程

12.2.3 关闭文件的过程

12.2.4 写文件实例

12.3 读文件

12.3.1 读文件的过程

12.3.2 读文件实例

12.4 删除文件

12.4.1 删除文件的过程

12.4.2 删除文件实例

12.5 本章任务

附录

附录A 实验环境的搭建

附录B LoongArch汇编指令

附录C LoongArch控制状态寄存器

附录D MaQueOS库函数

附录E 飞机大战程序设计

累计评论(0条) 0个书友正在讨论这本书 发表评论

发表评论

发表评论,分享你的想法吧!

买过这本书的人还买过

读了这本书的人还在读

回顶部