Skip to content
Snippets Groups Projects
Commit 19fbcccb authored by Ticki's avatar Ticki
Browse files

URLs

parent ece0157d
No related branches found
No related tags found
No related merge requests found
......@@ -3,4 +3,24 @@ URLs, schemes, and resources
This one of the most important design choices Redox makes. These three essential concepts are very entangled.
What does "Everything is an URL" mean?
--------------------------------------
"Everything is an URL" is a generalization of "Everything is a file", allowing broader use of this unified interface for schemes.
These can be used for effectively modulating the system in a "non-patchworky" manner.
The term is rather misleading, since URL is just the identifier of a scheme and a resource descriptor. So in that sense "Everything is a resource, identified by an URL" is more accurate, but not very catchy.
So, how does it differ from files?
----------------------------------
You can think of URLs and segregated virtual file systems, which can be arbitrarily structured (they do not have to be tree-like) and arbitrarily defined by a program. Furthermore, they don't have to behave file-like! More on this later.
It opens up a lot of possibilities.
The idea of virtual file systems is not a new one. If you are on a Linux computer, you should try to `cd` to `/proc`, and see what's going on there.
Redox extends this concept to a much more powerful one.
TODO
......@@ -15,7 +15,7 @@ Design do matter, but so does implementation. Avoiding these unexpected memory u
The basic design of the kernel/userspace separation is fairly similar to genuine \*nix systems, at this point. The idea is roughly the same: you seperate kernel and userspace, through strict enforcement by the kernel, which is managing memory and other critical resources.
However, we got an advantage: by having enforced memory and type safety. This is Rust's strong side, the vast majority of "unexpected bugs" (for example, undefined behavior)" are eliminated.
However, we got an advantage: by having enforced memory and type safety. This is Rust's strong side, the vast majority of "unexpected bugs" (for example, undefined behavior) are eliminated.
The design of Linux or BSD is secure. The implementation is not:
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment