Converting assembl
Converting assembl
I am interested in building an operating system that is specifically aimed at being a web server from the ground, where the databases and htm generators are built right into the system. My goal is especially for a non-relational database to be built into the kernel, as well as a html provider like php or asp that performs at assembly speeds. I went to do some research about what research has been done in this are but I am not so up on all the trends so I need you pasty, anthropophobic virgins to tell me about past work done in this are. What work has been done to provide html / web server in compiled speeds? A compiled DSL is my direction.
Re: Converting assembl
You usually don't need an OS for that, unless you are Google Inc.
On the other hand, it is very difficult to make your own OS to outperform any modern OS.
On the other hand, it is very difficult to make your own OS to outperform any modern OS.
Re: Converting assembl
kHTTPd is a HTTP daemon that is implemented as a Linux kernel module. Static content only.
Serving dynamic content from kernel space means you sacrifice several potential layers of protection, and open up your system wide for remote takeover. Not such a smart idea.
Serving dynamic content from kernel space means you sacrifice several potential layers of protection, and open up your system wide for remote takeover. Not such a smart idea.
Every good solution is obvious once you've found it.
Re: Converting assembl
If i could make something like kHTTPd with added support for dynamic content then we could be close to what i want i say. Your point about lacking protection to me is not valid. Security is not something that needs to be implimented via "layers" it is something that needs to be built with research about security techniques. Don't forget a system can be taken over in user space, it really makes no practical difference for security if a hacker can get into a kernel or just admin privileges.Solar wrote:kHTTPd is a HTTP daemon that is implemented as a Linux kernel module. Static content only.
Serving dynamic content from kernel space means you sacrifice several potential layers of protection, and open up your system wide for remote takeover. Not such a smart idea.
Re: Converting assembl
But then you can't take advantage of the hardware-assisted protection facilities, and the chance of accomplish your goal of robust (compare to running a well-written web server on modernOS) httpd is slim.
Re: Converting assembl
Yes and no.anneby wrote:Security is not something that needs to be implimented via "layers" it is something that needs to be built with research about security techniques. Don't forget a system can be taken over in user space, it really makes no practical difference for security if a hacker can get into a kernel or just admin privileges.
Yes, you need to research security technologies.
But address space virtualization, memory protection and instruction priviledge segregation are three very valid such security technologies, which you would be sacrificing for questionable performance benefits.
I'd say you are barking up the wrong tree. If you want more performance, I'd look at the dynamic content first. On caching PHP scripts in precompiled form. On caching database queries. You would have to do this with kHTTPd anyway. Join those projects, and see what you can contribute there. The HTTP daemon itself is not about response time, but about throughput, about requests served per minute. I don't think it would benefit that much from being in kernel space, but it could suffer gravely from it.
Every good solution is obvious once you've found it.