2021.03.22

这篇文章感觉前后逻辑不强。

这篇文章让我了解UNIX模拟UNIX一个系统需要多少方方面面。

因此不会异想天开。

Introduction

A look inside ...

新奇的观点:git是分布式源码管理软件,没有唯一的源码存储地,只有主分支个官方仓库。

trap分为同步和异步,系统调用是同步trap,除零错误是异步trap。

Emulation

How emulation works in FreeBSD

Common primitives in the FreeBSD kernel

Locking primitives

锁似乎很复杂,不知道为什么要打篇幅写锁。

Proc structure

VFS

Linux emulation layer -MD part

2021.03.23

Syscall handling

Linux prepsyscall

应该是preprare syscall的意思。

在i386里,Linux用寄存器传参,FreeBSD用栈传参。

Syscall writing

Linux emulation layer -MI part

Description of NPTL

NPLT (New POSIX Thread Library)

  1. process structure, PID manglng
  2. futexes (fast user space mutexes)
  3. TLS (Thread Local Storage)

Linux emulation infrastructure

Runtime determining of 2.6 emulation

sysctl设置变量

Linux processes and thread identifiers

TLS