This is a read-only snapshot of the ComputerCraft forums, taken in April 2020.
fjfnaranjo's profile picture

Yet another OS question?

Started by fjfnaranjo, 26 June 2013 - 08:29 PM
fjfnaranjo #1
Posted 26 June 2013 - 10:29 PM
Title: Yet another OS question?

Hello! I have been playing with ComputerCraft a little and I really like the project.

I have an idea in mind and I want the ComputerCraft team and community feedback about it, if that is possible.

I am downloading programs and writing my own stuff and I have a pretty mess of files in my computers… I have been trying to make sense to the file distribution using the FHS guidelines. I suddenly discover the other "OS" available but I got really disappointed because they do not solve most of my problems. I am trying to find a solution to my mess limiting myself to the ComputerCraft in-game tools (using pastebin and stuff from the net). The other OS don't solve it at-all, they are mostly fancy graphical interfaces (like the first Microsoft Windows shells) and a set of programs, usually big startup scripts with -soft- auth systems.

I was messing with my brain a little and I thought a few things I expect for my future deployments:

- First of all, I realise the fact that ComputerCraft does not have a authentication system by itself. Then, I do not want to solve it providing strange layers over the current APIs. I like the way it is now. My current way of dealing with auth is using "screen lockers" (by command, or by startup requests). I do not want to implement a multi-user environment if the "kernel" is not going to help me to enforce it. I am not telling it should do it, I insist in the fact that I like it being single-user with limited multi-tasking abilities.

- I like the shell and the lua interpreter and for me, it does not need any big architectural improvement for now. I totally agree with the current extension mechanisms available (APIs). From my point of view, any extra function (file-managers, web-browsers, etc…) should be a program runnable from the current shell. I totally agree with the graphical interface concept if they work as independent programs.

- I do not like the way the files are taking over my file structure. I love the way the FHS solves this, so I will intent to stick to it as far as possible.

- There are lot of software out there ready to help with the common tasks with the computers (my lord, we even have a apt-get style installer :P/> ).

- There are a lot of APIs out there to provide programs very interesting features.

So, with all that in mind, I realise that I want to do the same thing the GNU OS did for the linux kernel. I want a layer over the kernel to provide me tools to work and to coordinate as much effort as possible under the same organizational parameters.

I am designing a OS to cover my own expectations but I want to know if someone agrees with my goals to have more points of view and plan for the future. Also, you are aware of the current development in the community and maybe you can guide me with that.

The design I am working on have the next features:

- Total respect over the current kernel and expansion mechanisms. Do not layer over them to implement strange capabilities (like false-multi-user).

- FHS complaint file distribution. You know, configuration files in /etc , programs executables in /bin , apis-libraries in /lib , a common /tmp and /var directories for all the programs. The /usr directory does not have sense here because on the single-user environment. Also, I can not used the /dev folder like it is intended because of the way the kernel mounts the filesystems (it do it under /).

- Clear help system and licensing information mechanisms.

- Set of software to work with computers. From simple commands like cat (already available in the cc-get repository) or less to fully feature editors like luaide and fancy graphical interfaces.

- Software repository and distribution system (using already present ways and building over them, like the pastebin downloads or the cc-get).

- UNIX/Linux/GNU approach to many things, like using the /etc/issue to configure the greeting message, or the /var/log directory to have real logs, manpages, etc…

What are your feelings about it? Do you think I am going to far?
Cranium #2
Posted 27 June 2013 - 11:25 AM
Split into new topic.