Page 2 of 2

Re: What are your OS goals?

Posted: Tue Jun 24, 2014 6:26 am
by embryo
DavidCooper wrote:The first step though is not to worry about the innovation side and just to focus on taking natural language instructions and finding ways to run them as program code, because it is that process that these universal rules are there for - they are not used for general thinking. Once you have programmed the machine to be able to handle all input of that kind, then you can turn your attention to telling it how to go about thinking for itself, training it to look for problems and to try to work out how they might be solved. Most people never innovate, after all, but merely become good (or bad) at running more mundane programs to do exactly the same things as everyone else.
It's like learning by examples. We can create example for a situation and a computer will use the example in the future. But there is a generalization problem - it is not enough to write examples because we need to write an example for every possible task. Then a program should generalize and find some closely matching example, but not exact one (which is absent). It means a program should be able to process our examples and make something new - an example for a situation that still have not been met. It is a problem.
DavidCooper wrote:Within our heads though, we think in something like a language, but it lacks ambiguities.
In fact there is not ambiguities, but something like holes in our thinking. We think that we should do something and it will help us in some area, but we almost always miss some serious steps and just skip them without notice. And such steps are the holes, they are very important, without them no program can do it's job. For us it's easy to start some work and to find a hole while being working, then we start think about a hole and close it with additional knowledge. But for a program to be able to close the holes it should be able to generalize and infer solutions from the past experience. Now we again are going back to the generalization problem...
DavidCooper wrote:The speed gains in being able to program in natural language are obvious
I can't agree here. For me and for many other people that I have seen it is even quicker to write something like:

Code: Select all

if (a==b) goHome();
else startWorking();
It is much shorter than to describe the situation using natural language.

But when we leave big holes in our natural language description then it is really easy to write any program. For example we can have a program like this - satisfy all my needs. It is really short, but the holes are really huge.
DavidCooper wrote:Clearly it's still a major task to make this a reality, but it's what I got involved in OS dev to try to do.
Yes, the task is really huge, but if you have some drive for it then everything is possible :)

Re: What are your OS goals?

Posted: Tue Jun 24, 2014 6:35 am
by jbemmel
iansjack wrote:
muazzam wrote:
Love4Boobies wrote:Mine is to earn money to buy an island.
No matter you work hard day and night on your OS project, you can't earn money from it :(.
If you went money, Develop apps (android, IOS, windows 8 apps etc.) "NOT" Operating system.
It appears that no-one told Bill Gates that simple truth.
Even Microsoft makes more money from applications than from its OS: http://www.computerworld.com/s/article/ ... or_revenue

Re: What are your OS goals?

Posted: Tue Jun 24, 2014 7:44 am
by Roman
Hi, everyone!

My goals:
- Make my OS not a Unix-clone.
- Full modularity, exokernel architecture.
- Few concepts from Unix will be in my OS like devices represented as files.
- Stability.
- Portability.

I called my OS NyanOS. Nyan stands for "Not Yet Another *Nix clone" and also reminds about Nyan Cat :D

Re: What are your OS goals?

Posted: Wed Jun 25, 2014 2:27 pm
by eren
My motivation is purely educational. I wanted to learn OS internals and ARM architecture and I began to code simple OS based on LK.

My goal is to have simple memory management, process management, scheduler and static apps. It will be really good to be able to load programs dynamically later. At the end, I want to implement TCP/IP stack on my OS and run in the real hardware. My end goal is to talk to my OS over a network :)

Re: What are your OS goals?

Posted: Wed Jun 25, 2014 2:58 pm
by AndrewAPrice
My OS originally started out as an idea 5+ years ago that software isolation (through running 'safe' bytecode) could be faster than hardware isolation, and would lead to a simpler design - no more separate address spaces, kernel vs. user addressing, etc.

During those 5 years, I've used frameworks such as Node.js and have come to love prototype-based dynamic languages - I was fascinated with the idea of building an OS around LuaJIT or Google V8. Wanting something of my 'own' - where I get to make the language, make the standard libraries, etc. I started developing my own language Shovel. I doubt it will ever be as fast as say, highly optimized C code from the GCC/Intel compilers, but as long as it will run at a reasonable speed I will be happy. So my vision has changed from 'faster' to just 'different'. I want to do something different that I can call my own.

I spent those 5 years fantasized about ideas that were possible in a language-based system - such as passing function pointers between programs so IPC could be as lightweight as a function call.

The goal of my OS now is to:
  • Develop a compiler and assembler for Shovel. (Done.)
  • Develop a virtual machine (Turkey) that executes the bytecode reasonably fast. (The slow interpreter is done, I'm working on the JIT compiler now.)
  • Develop a graphical OS (Perception) around my VM that runs on both bare metal and as a user-mode program.
  • Develop an integrated development environment for Shovel that runs under my OS, that allows you to compile and debug Shovel code and bytecode.
  • Have a bunch of other useful tools and games included to play with.
  • Post it an announcement on this forum with a bootable image for everyone to play with and gain some forum cred.
I've been inspired by DexOs (single tasking, game console interface), MenuetOS (polished, designed to be really simple to develop for in a single language - assembly), Oberon and Inferno (built around the features of a custom language.)
Love4Boobies wrote:Mine is to earn money to buy an island.
If I had a lot of money, I'd build my own modern utopian village.