>From c10b738dcf9a1e575f4a7046356ddc599e4dc75d Mon Sep 17 00:00:00 2001 From: Joshua Branson Date: Mon, 29 Oct 2018 14:51:03 -0400 Subject: [PATCH] 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. --- hurd/translator/gopherfs.mdwn | 6 ++++++ hurd/translator/httpfs.mdwn | 1 + microkernel/mach/deficiencies.mdwn | 30 ++++++++++++++++++++++++++++++ open_issues/xattr.mdwn | 10 +++++++--- 4 files changed, 44 insertions(+), 3 deletions(-) diff --git a/hurd/translator/gopherfs.mdwn b/hurd/translator/gopherfs.mdwn index db89a136..7827f08d 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 dc4a62f7..8b02aa06 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 0c342e20..b7927210 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 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 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 c6b9d8f7..0b6fa2c3 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 -idea|community/gsoc/project_ideas/xattr]]. +[[!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: -- 2.19.1