book-rev8
xv6
a simple, Unix-like teaching operating system
一个简易、类Unix教学操作系统
Russ
Cox
Frans
Kaashoek
Robert
Morris
xv6-book@pdos.csail.mit.edu
Draft
as of September 3, 2014
Contents
目录
0 Operating system interfaces 7
1 Operating system organization 17
1 操作系统组织
2 Page tables 29
2 页表
3 Traps, interrupts, and drivers 37
3 陷入、中断和驱动
4 Locking 49
4 锁
5 Scheduling 57
5 调度
6 File system 71
6 文件系统
7 Summary 87
7 总结
A PC hardware 89
A PC硬件
B The boot loader 93
B 引导加载程序
Index 99
索引
Foreword and acknowledgements
前言和致谢
This
is a draft text intended for a class on operating systems. It explains the main
concepts of operating systems by studying an example kernel, named xv6. xv6 is
a re-implementation of Dennis Ritchie’s and Ken Thompson’s Unix Version 6 (v6).
xv6 loosely follows the structure and style of v6, but is implemented in ANSI C
for an x86-based multiprocessor.
这是一份用于操作系统课程的草案。通过研究名为xv6的实例内核来阐明操作系统的主要概念。xv6是在Dennis Ritchie和Ken Thompson的Unix Version6(v6)基础之上重新实现的。xv6大致遵循了v6的结构和风格,但它是基于x86多核架构的ANSI C实现。
The
text should be read along with the source code for xv6. This approach is
inspired
by
John Lions’s Commentary on UNIX 6th Edition (Peer to Peer Communications; ISBN:
1-57398-013-7; 1st edition (June 14, 2000)). See http://pdos.csail.mit.edu/6.828
for pointers to on-line resources for v6 and xv6.
这本教材需要与xv6源码配套阅读。这是John Lions’s在UNIX 6th Edition (Peer to Peer Communications; ISBN:
1-57398-013-7; 1st edition (June 14, 2000))的评注中推荐的方式。v6和xv6的在线资源可参见http://pdos.csail.mit.edu/6.828。
We
have used this text in 6.828, the operating system class at MIT. We thank the
faculty, TAs, and students of 6.828 who all directly or indirectly contributed
to xv6. In particular,
we would like to thank Austin Clements and Nickolai Zeldovich.
我们已经在MIT操作系统课程6.828中使用了本教材。感谢6.828课程中所有教职员工、助教和学生们,他们都直接或间接的为xv6做出了贡献。此处我们还要向Austin Clements和Nickolai Zeldovich致以特别的感谢。
book-rev8的更多相关文章
- CRC 自动判断大端 小端
/* aos_crc64.c -- compute CRC-64 * Copyright (C) 2013 Mark Adler * Version 1.4 16 Dec 2013 Mark Adle ...
随机推荐
- C# Microsoft.Office 操作Excel总结
1.导入命名空间: using Microsoft.Office.Interop.Excel; 2.如何打开已有excel文档,或者创建一个新的excel文档 Application app = ...
- MySQL Lock--MySQL加锁学习2
准备测试数据: ## 开启InnoDB Monitor SET GLOBAL innodb_status_output=ON; SET GLOBAL innodb_status_output_lock ...
- Linux下使用shell脚本自动备份和移动数据到大容量存储
自动备份数据库,并将备份前一天的数据移动拷贝到存储上. 需求来源是因为linux系统层的磁盘存储容量过小,数据库自动备份之后日积月累数据越来越多,而且还不想删除旧数据.那解决方法就是在linux系统主 ...
- Android笔记(四十八) Android中的资源访问——SDCard
访问存储在SD卡中的文件 使用 Environment.getExternalStorageState(); 判断是否存在内存卡 使用 Environment.getExternalStorageDi ...
- Django使用swagger生成接口文档
参考博客:Django接入Swagger,生成Swagger接口文档-操作解析 Swagger是一个规范和完整的框架,用于生成.描述.调用和可视化RESTful风格的Web服务.总体目标是使客户端和文 ...
- 第五次个人作业——Alpha测试
这个作业属于哪个课程 课程链接 这个作业要求在哪里 作业要求 团队名称 巧克力王子与六个小矮人 一.测试项目博客地址 项目名 团队名 博客地址 项目发布地址 西柚排课王 西柚排课王 https://w ...
- jquery复杂节点获取
jquery.find方法 1 $("div").find(".1").css({"color":"red"," ...
- 初识python多线程
目录 GIL锁 Thread类构造方法 Lock类.Rlock类 参考: python3多线程--官方教程中文版 python多线程-1 python多线程-2.1 python多线程-2.2 pyt ...
- Problem E: 数量的类模板
#include<iostream> #include<iomanip> #include<algorithm> using namespace std; temp ...
- 神经网络学习中的损失函数及mini-batch学习
# 损失函数(loss function).这个损失函数可以使用任意函数,# 但一般用均方误差(mean squared error)和交叉熵误差(cross entropy error)等一切都在代 ...