FiwixOS 3.2 released!

This forums is for OS project announcements including project openings, new releases, update notices, test requests, and job openings (both paying and volunteer).
User avatar
Mikaku
Member
Member
Posts: 43
Joined: Sat Jun 25, 2016 8:29 am
Libera.chat IRC: Mikaku
Location: Catalonia
Contact:

FiwixOS 3.2 released!

Post 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!
Last edited by Mikaku on Tue Nov 15, 2022 1:06 pm, edited 1 time in total.
thewrongchristian
Member
Member
Posts: 426
Joined: Tue Apr 03, 2018 2:44 am

Re: FiwixOS 3.2 released!

Post by thewrongchristian »

Mikaku wrote:Hello everybody,

Check the release notes: https://localhost/news/20221115.html
Are you sure about that URL?
User avatar
Mikaku
Member
Member
Posts: 43
Joined: Sat Jun 25, 2016 8:29 am
Libera.chat IRC: Mikaku
Location: Catalonia
Contact:

Re: FiwixOS 3.2 released!

Post by Mikaku »

Fixed.
Thanks!
thewrongchristian
Member
Member
Posts: 426
Joined: Tue Apr 03, 2018 2:44 am

Re: FiwixOS 3.2 released!

Post 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!
devc1
Member
Member
Posts: 439
Joined: Fri Feb 11, 2022 4:55 am
Location: behind the keyboard

Re: FiwixOS 3.2 released!

Post 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 !
devc1
Member
Member
Posts: 439
Joined: Fri Feb 11, 2022 4:55 am
Location: behind the keyboard

Re: FiwixOS 3.2 released!

Post 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.
thewrongchristian
Member
Member
Posts: 426
Joined: Tue Apr 03, 2018 2:44 am

Re: FiwixOS 3.2 released!

Post 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.
nexos
Member
Member
Posts: 1081
Joined: Tue Feb 18, 2020 3:29 pm
Libera.chat IRC: nexos

Re: FiwixOS 3.2 released!

Post 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.
"How did you do this?"
"It's very simple — you read the protocol and write the code." - Bill Joy
Projects: NexNix | libnex | nnpkg
User avatar
iansjack
Member
Member
Posts: 4703
Joined: Sat Mar 31, 2012 3:07 am
Location: Chichester, UK

Re: FiwixOS 3.2 released!

Post 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).
devc1
Member
Member
Posts: 439
Joined: Fri Feb 11, 2022 4:55 am
Location: behind the keyboard

Re: FiwixOS 3.2 released!

Post 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.
User avatar
Mikaku
Member
Member
Posts: 43
Joined: Sat Jun 25, 2016 8:29 am
Libera.chat IRC: Mikaku
Location: Catalonia
Contact:

Re: FiwixOS 3.2 released!

Post 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.
Last edited by Mikaku on Thu Nov 17, 2022 6:00 am, edited 1 time in total.
User avatar
Mikaku
Member
Member
Posts: 43
Joined: Sat Jun 25, 2016 8:29 am
Libera.chat IRC: Mikaku
Location: Catalonia
Contact:

Re: FiwixOS 3.2 released!

Post 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.
devc1
Member
Member
Posts: 439
Joined: Fri Feb 11, 2022 4:55 am
Location: behind the keyboard

Re: FiwixOS 3.2 released!

Post 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.
User avatar
iansjack
Member
Member
Posts: 4703
Joined: Sat Mar 31, 2012 3:07 am
Location: Chichester, UK

Re: FiwixOS 3.2 released!

Post 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]
devc1
Member
Member
Posts: 439
Joined: Fri Feb 11, 2022 4:55 am
Location: behind the keyboard

Re: FiwixOS 3.2 released!

Post 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.
Post Reply