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

0 操作系统接口

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的更多相关文章

  1. CRC 自动判断大端 小端

    /* aos_crc64.c -- compute CRC-64 * Copyright (C) 2013 Mark Adler * Version 1.4 16 Dec 2013 Mark Adle ...

随机推荐

  1. js实现图片上传本地预览

    演示地址:https://xibushijie.github.io/static/uploadImg.html <!DOCTYPE> <html> <head> & ...

  2. Springboot项目统一异常处理

    Springboot项目统一异常处理 一.接口返回值封装 1. 定义Result对象,作为通用返回结果封装 2. 定义CodeMsg对象,作为通用状态码和消息封装 二.定义全局异常类 三.定义异常处理 ...

  3. python 3.7.4 安装 opencv

    明确一下,我们需要使用python来调用opencv中的库函数,所以需要安装opencv-python. 主要需要安装: 1. opencv-python 2. numpy 第一步先来安装opencv ...

  4. tp5 修改配置参数 view_replace_str 无效

    原因: 缓存问题 找到  thinkphp\library\think\Template.php 找到  public function fetch($template, $vars = [], $c ...

  5. [https][tls] 如何使用wireshark查看tls/https加密消息--使用keylog

    姊妹篇: [ipsec][strongswan] 使用wireshark查看strongswan ipsec esp ikev1 ikev2的加密内容 [https][tls] 如何使用wiresha ...

  6. 【Flask】 python学习第一章 - 3.0 正则转换和错误捕捉

    3.1正则转换器定义 Class RegexConverter(BaseConverter): regex = "[0-9]{6}" app.url_map.converters[ ...

  7. SpringBoot找不到html资源的原因

    SpringBoot在写完Controller之后直接启动访问,但是找不到相对应的页面资源,报404错误. 我的Controller编写没有错误,html文件也放在了templates文件夹下,但是为 ...

  8. java基础(7)---IO流

    一.FileWriter 导包:import java.io.FileWriter 覆盖写入: 追加写入:  写数据换行:  write方法重载: 二.编码: 三.FileReader: read重载 ...

  9. linux系统编程之进程(三)

    今天继续学习进程相关的东东,继上节最后简单介绍了用exec函数替换进程映像的用法,今天将来深入学习exec及它关联的函数,话不多说,正式进入正题: exec替换进程映象:   对于fork()函数,它 ...

  10. Dubbo官方文档

    官方文档:http://dubbo.apache.org/en-us/docs/user/quick-start.html