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 OS based entirely on processes, instdead of having optional not-totally-supported multitask. 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.

Mostly one of Fuchas big feature is security. For now this feature isn’t extended at its potential. But it allow little viruses not infecting your computer. Useful for computers on big servers. Fuchas doesn’t hide files starting with ".", it uses attributes, filesystem’s one if supported on unmanaged drives, or with a .attributes file at file’s parent directory. It only provides yet those attributes: System (Must be root to change this, used for security), Protected (same as System but changeable with less permissions, so for users), Hidden and Read-Only

Fuchas is also very fast compared to most OSes, boot time has always been shrinken down like memory usage. And graphical features are optional, so you can use command-line on your T1 computer, and a graphical interface on T3, all on the same OS!
If you don't believe me just try it :)

Extra Features

(compared to other OSes)

First Fuchas automatically handles Unicode with string library, the methods are the same, except it is now unicode. Of course it can be disabled for applications not wanting Unicode (mostly when operating with bytes using text)
(WIP - Planned) Fuchas will also use the viewport screen feature to have an efficient double-buffer and extra rendering speed compared to other GUIs. It work in a way that for example, user will have a resolution of 80x25, but it will be viewport, resolution will stay at 160x50, meaning that it frees two 80x25 areas (right and bottom). Using those efficiently will allow fast copying to viewport.

Interfaces

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

Here are the  included: Fushell (basically like OpenOS shell) and Concert. Soon to come will be "Ondroid" (tablet interface), which is a GUI interface, better suited for multi-tasking.

For example here is 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

OpenOS:

Just type the following:

pastebin run EbHYvEE8

MineOS:

Search for the application 'Fuchas Installer'. Install it, launch it, and press Install.
If you want you can try Fuchas before installing it (this featur is exclusive to MineOS installer)

Fuchas:

You’re on Fuchas :D

(Note that all comments about broken installation below are outdated, and installers has been fixed!)

Links: GitHub, Wiki, Progress to next version, And here is how to break the whole Fuchas security system

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.