Jump to content
  • Sky
  • Blueberry
  • Slate
  • Blackcurrant
  • Watermelon
  • Strawberry
  • Orange
  • Banana
  • Apple
  • Emerald
  • Chocolate
  • Charcoal
Zen1th

Fuchas - The multi task OS

Recommended Posts

Fuchas
One of the best multitask OS

How Fuchas Works

Fuchas is a true multitask OS for OpenComputers. By true multitask, i mean it is based on a task manager. To do it simple, the task manager cycle through all the active processes. It also pulls signal with a timeout of 0.05 seconds! (Speed is best).
Fuchas is also modular and based on a driver system, the driver library will try automatically choosing the best driver, but it can be configured by user. Meaning programs can easily adapt to addons hardware (e.g. Computronics cards), however for now this aspect of Fuchas isn't really well used, a re-overhaul of it is planned soon.

If you don't understand all that just retain something: Unlike OpenOS, it can run tasks at same time.
(Technically it's not correct, since there is like a ~0.05s delay between tasks, due to Lua nature)

The major "sellpoint" of the OS is booting and being in general VERY VERY FAST
I'll do proper metrics soon, but Fuchas on a full T3 (T3 CPU, 2x 3.5 memory, T3 GPU) starts almost instantly (less than ~0.3 sec), compared to ~1sec for OpenOS and ~2sec for MineOS Dedicated.
On a machine where call budget is always 0 (using an emulator), MineOS is unusable, OpenOS takes literally ~5sec to write a letter, and Fuchas still seems okay. Again, metrics comin g soon.
If you don't believe me just try it :)

Interfaces

Fuchas, being modular, is about not fair to have 1 interface. That's why there can be multiple interfaces.

Currently only one is included: Fushell (basically like OpenOS shell). Soon to come will be "Concert", which is a GUI interface, better suited for multi-tasking.

Currently, the only interface to show, Fushell:

Fushell 0.2.0

You might as well as spotted the "pl" and "kill" command. Yep! Thoses are multitask commands :D

I'm not doing a whole documentation here, but basically "pl" lists tasks (called processes internally) and "kill", well, it kill tasks

Installing

Whatever from what OS you're installing it.

OpenOS:

Just type the following:

pastebin run EbHYvEE8

MineOS:

Coming soon.

Links: GitHub, Wiki, Progress to next version

Share this post


Link to post
Share on other sites

I finished the 2nd stage installer, i'll do the 1st stage (installing from OpenOS/MineOS) when i will have more time :)

Share this post


Link to post
Share on other sites

I didn't finished the installer. However i added a  VERY IMPORTANT FEATURE, before events were handled by programs and blocking. Now events are handled by the task manager. Meaning A process can pull event while another does something else. Which is very close to multi-tasking. However this feature is buggy and some events are skipped, this should be fixed by optimizing.

Alongside this i might make a GUI soon to show the benefits of multi-tasking V.S. single-tasking (used by MineOS and tactiOS). Which would allow programs to be active (doing something without blocking GUI) rather than passive (waiting for GUI event)!

Share this post


Link to post
Share on other sites

There is progress since last post, althought small progress. For example i added liblon (an unofficial Lua Object Notation :D, just made to be easier to parse). I also started the "Concert" graphical interface, but currently it's way too limited to be worth a new post (and presentation edit), alongside it i added the shin32 library wiki page (on GitHub).

The rest of features are just installation fixes

Share this post


Link to post
Share on other sites

I‘m not 100% sure, what causes the error, but it seems the installer doesn‘t handle the http request user data properly.

You could try running the following command:

wget https://raw.githubusercontent.com/zenith391/Fuchas/master/Installers/openos.lua installer

installer

Sadly I can‘t test this right now, but it might be worth trying.

Edit:

Ok, i figured out what is causing the error. The colon (:) in function call "data = con:read(math.huge)" in line 11 must be replaced with a period (.).

So what definitely works is running

pastebin get s2YZJ0T6 installer.lua

replacing ":" with "." in line 11, and then run the installer.

But I get an unrecoverable error on restarting the computer after successful installation...

Share this post


Link to post
Share on other sites

Thanks for reporting the installation bug and the error after installation. I will search what is causing this error to happen and i will fix it. However the error only seems to appear on OC computers but not on OC emulators :/, i guess i shouldn't rely that much on emulators for compatibility..

Share this post


Link to post
Share on other sites

I figured out the error, the main problem seems to be that, somehow, xpcall seems asynchronous only in OC machines and that so it will result in the computer finishing Fuchas/NT/boot.lua instdead of continuing Fuchas execution. Resulting in a computer halt. Second problem is that i forgot to add the "shell" library on first download. But the xpcall error is strange

Share this post


Link to post
Share on other sites

I mostly fixed installation bugs, however wait that i tell the 2nd part installer to be done before re-installing fuchas

Share this post


Link to post
Share on other sites

All bugs (i know of) related to installations are now FIXED!

You can now freely install Fuchas without any problems. However only dual-boot work FOR NOW. Due to the lack of "edit" command, you will have to go to OpenOS to code Fuchas programs using "edit" command. I'm planning a editor for Fuchas, i'll do it when i can!

Share this post


Link to post
Share on other sites
Just now, Zen1th said:

but you have a screen and an actual graphics card?

Yes, on my server; cpu is an apu

if it helps, i'm only using lua 5.2

Share this post


Link to post
Share on other sites

Ok it turns out that i was dumb on the condition that checked GPU and screen. I forgotten to add a ~= nil. Anyways gotta publish changes, re-install in 15 minutes and it should be all good (this time it will be good!)

 

Or you can manually edit init.lua, add "== nil" at line 19 after cp.list("screen")()

And also thanks for still wanting to use the OS after all those little installation bugs i really appreciate this :)

Share this post


Link to post
Share on other sites

Compatibility with OpenOS program is planned, but more core features are needed before i actually do it.

Share this post


Link to post
Share on other sites

very strange for it to be stuck. Is there disk activity (the sounds and/or blinking light on case) or did it crashed?

Share this post


Link to post
Share on other sites

Nevermind, everything (relating to installation) has been fixed. And here is a computer working with Fuchas :)

spacer.png

I'm glad now installing Fuchas is 100% easy (you have to press 3 keys during installation)

P.S.: To have a easier dualboot, i will continue working on my (currently secret) OEFI implementation. It will allow booting other OSes instdead of just Fuchas and OpenOS (but it will be on EEPROM side, not HDD, which makes it a bit more limited). Of course we will be able to select something like "I arleady have an OEFI", "I don't have an OEFI", "I don't want an OEFI" during installation. So that people not wanting on OEFI or too lazy to install an OEFI can select their option

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use and Privacy Policy.