mirror of
https://github.com/microsoft/WSL.git
synced 2025-07-04 07:43:21 +00:00

Many Microsoft employees have contributed to the Windows Subsystem for Linux, this commit is the result of their work since 2016. The entire history of the Windows Subsystem for Linux can't be shared here, but here's an overview of WSL's history after it moved to it own repository in 2021: Number of commits on the main branch: 2930 Number of contributors: 31 Head over https://github.com/microsoft/WSL/releases for a more detailed history of the features added to WSL since 2021.
19 lines
No EOL
968 B
Markdown
19 lines
No EOL
968 B
Markdown
# Plan 9
|
|
|
|
Plan9 is a linux process that hosts a plan9 filesystem server for WSL1 and WSL2 distributions. It's created by [init](init.md) in each distribution.
|
|
|
|
## WSL 1
|
|
|
|
In WSL1 distributions, `plan9` serves its filesystem through a unix socket, which can then be connected to from Windows.
|
|
|
|
## WSL2
|
|
|
|
In WSL2 distributions, `plan9` runs its filesystem through an `hvsocket`
|
|
|
|
## Accessing the distribution files from Windows
|
|
|
|
From Windows, a special redirector driver (p9rdr.sys) registers both `\\wsl$` and `\\wsl.localhost`. When either of those paths are accessed, `p9rdr.sys` calls [wslservice.exe](wslservice.exe.md) to list the available distributions for a given Windows users.
|
|
|
|
When a distribution path is accessed (like `\\wsl.localhost\debian`), `p9rdr.sys` calls into [wslservice.exe](wslservice.exe.md) via COM to start the distribution, and connect to its plan9 server, which allows the files to be accessed from Windows.
|
|
|
|
See `src/linux/init/plan9.cpp` |