Page 1 of 2

FiwixOS 3.2 released!

Posted: Tue Nov 15, 2022 7:22 am
by Mikaku
Hello everybody,

I've just released the new FiwixOS 3.2 version.

The major highlights in this release are:
  • - Fiwix kernel version 1.4.0.
    - Added support for the PCI local bus.
    - Added support for QEMU PCI serial devices (without MMIO).
    - Added support for the UNIX System V IPC mechanisms (semaphores, message queues and shared memory).
    - Ported the Python language version 3.6.15.
    - Introducing opkg as the system package manager.
    - Newlib 4.2 ANSI C library with extra functions.
    - and a lot of improvements and bug fixes.
Check the release notes: https://www.fiwix.org/news/20221115.html

I'll appreciate any feedback if you install FiwixOS 3.2.
Thanks!

Re: FiwixOS 3.2 released!

Posted: Tue Nov 15, 2022 12:32 pm
by thewrongchristian
Mikaku wrote:Hello everybody,

Check the release notes: https://localhost/news/20221115.html
Are you sure about that URL?

Re: FiwixOS 3.2 released!

Posted: Tue Nov 15, 2022 1:06 pm
by Mikaku
Fixed.
Thanks!

Re: FiwixOS 3.2 released!

Posted: Tue Nov 15, 2022 3:18 pm
by thewrongchristian
Mikaku wrote:Fixed.
Thanks!
I've had a look, and I think it's very cool. FiwixOS is one of the OSes I've looked at before, in awe. Such a neat little system.

Do you have plans on generalising it though?

i386 is very ingrained, so it looks like it'd be a lot of work to port to another CPU.

Kernel memory allocation is purely page based, regardless of allocation size. While simple, it must waste an absolute ton of memory!

Re: FiwixOS 3.2 released!

Posted: Tue Nov 15, 2022 3:32 pm
by devc1
thewrongchristian wrote: Kernel memory allocation is purely page based, regardless of allocation size. While simple, it must waste an absolute ton of memory!
I think that he just needs to put a (static like) memory manager in a user mode library to implement malloc, free...
In a paging OS, the memory management library will keep track of heaps (memory/byte blocks), instead of pages. When you need some memory, you ask the kernel to allocate pages for you. When you don't need those pages anymore, you tell the kernel to free them. It's that simple !

Re: FiwixOS 3.2 released!

Posted: Tue Nov 15, 2022 3:35 pm
by devc1
I also encourage you to build a GUI, I prefer a Windows or macOS like GUI because from my opinion, Linux UI's are very outdated.

Re: FiwixOS 3.2 released!

Posted: Tue Nov 15, 2022 4:38 pm
by thewrongchristian
devc1 wrote:
thewrongchristian wrote: Kernel memory allocation is purely page based, regardless of allocation size. While simple, it must waste an absolute ton of memory!
I think that he just needs to put a (static like) memory manager in a user mode library to implement malloc, free...
I was thinking kernel mode. User mode will be handled by newlib.

His kmalloc just allocates an entire page, then returns the page, regardless of how much needs to be allocated.

I've just noticed kmalloc doesn't specify a size either, so all allocated objects are implicitly less than a page in size.

Very simple. Probably reasonably fast (assuming pages are available.) And very wasteful.

Re: FiwixOS 3.2 released!

Posted: Tue Nov 15, 2022 7:21 pm
by nexos
Very cool! I've always loved watching this OS expand and grow.
devc1 wrote:I also encourage you to build a GUI, I prefer a Windows or macOS like GUI because from my opinion, Linux UI's are very outdated.
Not everyone wants a GUI. And have you tried the Linux distro elementaryOS? Not outdated even the slightest.
devc1 wrote:I think that he just needs to put a (static like) memory manager in a user mode library to implement malloc, free...
thewrongchristian was talking about a kernel memory allocator, not a user memory allocator.

Re: FiwixOS 3.2 released!

Posted: Wed Nov 16, 2022 12:36 am
by iansjack
devc1 wrote:I also encourage you to build a GUI, I prefer a Windows or macOS like GUI because from my opinion, Linux UI's are very outdated.
I think you mean “Linux UIs are free of unwanted gimmicks (if that’s what you want)”.

I’d add that they are very user configurable.

But some Linux UIs are almost as bloated as commercial ones (if that’s what you want). Indeed, some provide a very close emulation of Windows or Mac OS (though why anyone would want that is beyond me).

Re: FiwixOS 3.2 released!

Posted: Wed Nov 16, 2022 1:55 am
by devc1
Not everyone wants a GUI. And have you tried the Linux distro elementaryOS? Not outdated even the slightest.
Windows 11's UI is 10 years ahead from elementaryOS.

even Ipads from 2014 have better GUI designs.

Re: FiwixOS 3.2 released!

Posted: Wed Nov 16, 2022 3:25 am
by Mikaku
thewrongchristian wrote: I've had a look, and I think it's very cool. FiwixOS is one of the OSes I've looked at before, in awe. Such a neat little system.
Thank you very much. I appreciate your words.
thewrongchristian wrote: Do you have plans on generalising it though?

i386 is very ingrained, so it looks like it'd be a lot of work to port to another CPU.
Yes, I know, well, I really love old computers (386, 486 and pentium).
In the near future, I'd like to include support of at least one architecture more to help to reorganize the code. So in this aspect, I plan to include support for a RaspberryPi card.
thewrongchristian wrote: Kernel memory allocation is purely page based, regardless of allocation size. While simple, it must waste an absolute ton of memory!
Yes, it's as simple as you said. This is because I wanted to focus on functionality before than efficiency.
It doesn't waste so much memory because most of the arrays in kernel have fixed size in the code, so the kernel don't need to requests dynamic memory all the time. Almost only for buffers.

Nevertheless, this will 'partly' change soon because in the last weeks before the release of this new version, I have been working to include the buddy algorithm to manage kernel requests smaller than a page size (4096). I've been testing it on an isolated environment and it looks promising. In the next days I'll include it in the kernel and will change some fixed sized arrays to dynamic.

I said 'partly' because all the structures that require more than a page size will continue use fixed size arrays. This will definitely change when a new kernel memory allocator can be able to manage contiguous page frames, perhaps using also the buddy algorithm on top of the current buddy algorithm used for requests smaller than a page size.

Re: FiwixOS 3.2 released!

Posted: Wed Nov 16, 2022 4:08 am
by Mikaku
devc1 wrote:I also encourage you to build a GUI, I prefer a Windows or macOS like GUI because from my opinion, Linux UI's are very outdated.
I don't like the idea to build a GUI, there are already so many to choose ...
I prefer to include networking support, then port Xorg or Wayland, and let the user to port his favourite WM, ... or even create his own.

Re: FiwixOS 3.2 released!

Posted: Wed Nov 16, 2022 6:16 am
by devc1
What are you going to port ? Look at IOS, MacOS and Windows 11. They are 100 years ahead in GUI designs from linux distros.
The IOS from 2014 has better gui than most of the latest unix distros.

Linux people, I think you should open your eyes a bit and see what more successful oses have acheived.

Linux would be more successful if it just had a beautiful competitive UI, and some useful apps for business like Microsoft Office.

I meant to build a gui from scratch, even though it's seems almost impossible.

Re: FiwixOS 3.2 released!

Posted: Wed Nov 16, 2022 6:22 am
by iansjack
devc1 wrote: The IOS from 2014 has better gui than most of the latest unix distros.
You really think a GUI that doesn't support multiple windows, resizing or moving of windows is better than a simple elegant GUI like XFCE?

Says it all really.

[/shrug]

Re: FiwixOS 3.2 released!

Posted: Wed Nov 16, 2022 8:57 am
by devc1
Do you mean that we should open 7 windows simultanously in our 4 inch iphone ?

Yes, the GUI has to be elegant. Window resizing and such things will of course be added to the GUI because its a desktop GUI.

Look at Windows 11.