diff options
authorJoshua Branson <>2018-10-29 14:51:03 -0400
committerSamuel Thibault <>2018-10-29 21:07:04 +0100
commit9cdfa70767a880d705fb65ea03d0f304e94f5ae2 (patch)
parenteefa23caef42badc80b500eacc7e48d8b75494a7 (diff)
I explained that the gopherfs is defunct and pointed to the httpfs page. I mentioned that the xattr work is now finished. I added some commentary on the deficiencies page.
4 files changed, 44 insertions, 3 deletions
diff --git a/hurd/translator/gopherfs.mdwn b/hurd/translator/gopherfs.mdwn
index db89a13..7827f08 100644
--- a/hurd/translator/gopherfs.mdwn
+++ b/hurd/translator/gopherfs.mdwn
@@ -10,6 +10,12 @@ License|/fdl]]."]]"""]]
`gopherfs` is a virtual filesystem allowing you to access Gopher sites.
+[[!template id=highlight text="""/!\ Obsolete /!\
+The gopher protocol has largely been replaced by the hypertext transfer protocol ([[http|hurd/translator/httpfs]]).
# Source
diff --git a/hurd/translator/httpfs.mdwn b/hurd/translator/httpfs.mdwn
index dc4a62f..8b02aa0 100644
--- a/hurd/translator/httpfs.mdwn
+++ b/hurd/translator/httpfs.mdwn
@@ -10,6 +10,7 @@ License|/fdl]]."]]"""]]
`httpfs` is a virtual filesystem allowing you to access web pages and files.
+While the httpfs translator works, it is only suitable for very simple use cases: it just provides the actual file contents downloaded from the URL, but no additional status information that are necessary for interactive use. (Progress indication, error codes, HTTP redirects etc.)
# Source
diff --git a/microkernel/mach/deficiencies.mdwn b/microkernel/mach/deficiencies.mdwn
index 0c342e2..b792721 100644
--- a/microkernel/mach/deficiencies.mdwn
+++ b/microkernel/mach/deficiencies.mdwn
@@ -15,6 +15,23 @@ License|/fdl]]."]]"""]]
# Deficiencies
+Mach is a first generational microkernel, and many of mach's implementations are poor.
+The result is a complicated code base with many issues. Problems include resource accounting,
+scheduling, and too many features inside the kernel. Another problem is mach's IPC is
+too flexible and has numerous features. The more features and complex the message passing is,
+the slower performance becomes. Mach's IPC ought to be simple enough to maximize performance.
+Mach also doesn't support any read-ahead techniques, so its I/O performance suffers.
+Read ahead will have to be implemented inside the kernel.
+There are many optimizations that can be done:
+We could easily get rid of the ihash library making the message provide the address of
+the object associated to a receive right, so the only real indirection is the capability,
+like in other systems, and yes, buffering adds a bit of complexity. Another example is
+merging structures to improve locality or having rights close to their target port,
+when there are only a few. This would increase cache efficiency.
## IRC, freenode, #hurd, 2012-06-29
<henrikcozza> I do not understand what are the deficiencies of Mach, the
@@ -266,6 +283,19 @@ License|/fdl]]."]]"""]]
# X15
+X15 is an in-development hurd-like operating system. It's developer, Richard
+Braun, decided that GNU/Hurd running on the mach microkernel has many short-comings.
+Namely to make the Hurd "better" required deep changes to gnumach. He decided to start
+a new project from scratch. Instead of running the Hurd on top of gnumach, he started
+building his own microkernel: X15, which is like gnumach. Originally he had intended
+to port the gnuhurd to run ontop of X15, but X15 has since made some design decisions
+that make porting the Hurd to run on top of X15 very unlikely. Occasionally some X15
+code can be used on the GNU/Hurd, which is what happened with the buddy allocator.
+Currently X15 is a real-time microkernel with low-level performance monitoring system,
+local atomic operations, lockless synchronization, RCU, and it can scale well on any 32-bit,
+64-bit target. It currently runs on x86 and ARM processors, but it lacks userspace support.
## IRC, freenode, #hurd, 2012-09-04
<braunr> it was intended as a mach clone, but now that i have better
diff --git a/open_issues/xattr.mdwn b/open_issues/xattr.mdwn
index c6b9d8f..0b6fa2c 100644
--- a/open_issues/xattr.mdwn
+++ b/open_issues/xattr.mdwn
@@ -11,10 +11,14 @@ License|/fdl]]."]]"""]]
[[!meta title="xattr: extended attributes"]]
-[[!tag open_issue_glibc open_issue_hurd]]
+[[!meta title="Implement xattr Support"]]
-This task is listed as a [[Google Summer of Code project
+[[!template id=highlight text="""/!\ Obsolete /!\
+This project is finished."""]]
+This task was listed as a [[Google Summer of Code project
+idea|community/gsoc/project_ideas/xattr]], but it has been completed.
IRC, freenode, #hurd, 2011-06-01: