进程创建与消逝[图]

新年第一图(^-^)

物理页面管理层次结构[图]

持续更新

Systemtap tutorial[译]

本文译自:Systemtap tutorial

字符驱动设备一例[图]

下面图中,大致描述了字符设备驱动注册调用流程:

Linux中断流程[图]

内核中中断流程分为两类:HARDIRQ + SOFTIRQ 和 HARDIRQ + workqueue。

Go语言规范[译]

本文译自The Go Programming Language Specification。

Go Map

未整理

Go Interface

未整理

Go Channel

发送与接收流程

Go内存管理(2): 垃圾回收

未整理

Go内存管理(1): 内存分配

未整理

探索g的一生

g的创建,p的状态切换

探索p的一生

p的初始化,p的状态切换

探索m的一生

如何创建m,m的3种状态切换

Go程序启动源码分析

从第一行源码开始阅读runtime,也包含一些pmg调度知识

MIT6.824 分布式系统 Lab2: Raft

使用Go语言实现Raft协议

如何理解Raft的安全性

未整理

Go语言汇编器的设计

Rob Pike在开发者大会上的演讲

Go语言函数调用规约

实验环境:

MIT6.824分布式系统Lab1: MapReduce

6.824 Lab 1: MapReduce

记录一段x86汇编

```c#include

MapReduce论文阅读小结

MapReduce 是 Google 在 2005 年提出的一种编程模型,它能以集群的方式处理大量的数据。MapReduce 是由 Map 和 Reduce 两个过程组成,这也是其名字的由来。

从内核角度看socket如何创建

本文使用源码版本: linux 2.6.26、glibc 2.3.6。

为什么在中断上下文不能进程调度

这是我在阅读《ULK》中断相关章节遇到的一个问题,书中没有很深入的解释。先占坑。

linux如何完成进程切换

本文 linux 源码版本为 2.6.11。本文涉及到 GCC 内联汇编的知识,可以参考我翻译的文章 GCC Inline Assembly HOWTO[译]。

《linux内核设计与实现》阅读笔记-中断处理

 

《linux内核设计与实现》阅读笔记-进程与调度

来自Raft作者

xv6: 锁与进程调度

 

xv6: 文件系统(二)

xv6源码阅读体验

xv6: 文件系统(一)

xv6源码阅读体验

GCC Inline Assembly HOWTO[译]

GCC下的内联汇编初探

MIT6.828操作系统Lab4: Preemptive Multitasking

 

MIT6.828操作系统HW: Barriers

 

MIT6.828操作系统HW: Uthreads

 

MIT6.828操作系统HW: Locks

 

MIT6.828操作系统HW: Multithreaded Programming

本作业要求在多处理器的机器上完成。

MIT6.828操作系统Lab3: User Environment

 

MIT6.828操作系统HW: CPU alarm

 

MIT6.828操作系统Lab2: Memory Management

 

MIT6.828操作系统HW: System Calls

作业要求

MIT6.828操作系统HW: Lazy Page Allocation

Part One: Eliminate allocation from sbrk()

MIT6.828操作系统HW: Shell

OS课程家庭作业 Shell 代码:

MIT6.828操作系统Lab1: Booting a PC

实验开始

深入理解计算机系统Shell Lab实验报告

介绍

深入理解计算机系统Performance Lab实验报告

1. 介绍

深入理解计算机系统Cache Lab实验报告

1 下载

深入理解计算机系统Architecture Lab实验报告

1 介绍