Earlier quoted context omitted.
> Showing total size of subdirectories is expensive To me the real obstacle isn't that it's expensive (I mean, you could ostensibly cache the size on disk for each directory, if not find some other clever algorithmic solution), but that the notion of "size of a directory" itself isn't all that meaningful in the presence of e.g. hardlinks.
Roughly 0% of a typical desktop’s disk space is used by hardlinked files. You can safely double count them. That’s exactly what every disk space analyzer does! If you really wanna avoid double counting, just divide the size of every file by st_nlink. Of course you’d have to update the cached sizes of every directory that has a link to that inode so you’d need to cache the mapping from inodes to paths too. Another sol…
Essence: Desktop operating system built from scratch
51–60 of 299 posts
Re: Essence: Desktop operating system built from scratch
#52Earlier quoted context omitted.
Its x86 only currently. I know the owner does want to add arm support but its not being worked on.
Curious, is porting complex C++ projects to arm64 just a matter of updating build/CI systems or does it actually involve changing core code and adding branches if (x64) {} ... if (arm64) {}.
Re: Essence: Desktop operating system built from scratch
#53I really think this is impressive. I also like the unique take on windowing. There's a video here: https://www.youtube.com/watch?v=aGxt-tQ5BtM Great job!
there is definitely a place for operating systems like this one in the future. the author is creating something many of us want: a system where the user is in control of their computer! fancy that! imagine not having to go retro but having total control of a modern machine.
i hope the author pulls this off.
Re: Essence: Desktop operating system built from scratch
#54Earlier quoted context omitted.
> Showing total size of subdirectories is expensive To me the real obstacle isn't that it's expensive (I mean, you could ostensibly cache the size on disk for each directory, if not find some other clever algorithmic solution), but that the notion of "size of a directory" itself isn't all that meaningful in the presence of e.g. hardlinks.
Roughly 0% of a typical desktop’s disk space is used by hardlinked files. You can safely double count them. That’s exactly what every disk space analyzer does! If you really wanna avoid double counting, just divide the size of every file by st_nlink. Of course you’d have to update the cached sizes of every directory that has a link to that inode so you’d need to cache the mapping from inodes to paths too. Another sol…
Re: Essence: Desktop operating system built from scratch
#55Earlier quoted context omitted.
Its x86 only currently. I know the owner does want to add arm support but its not being worked on.
Curious, is porting complex C++ projects to arm64 just a matter of updating build/CI systems or does it actually involve changing core code and adding branches if (x64) {} ... if (arm64) {}.
Take a look at https://github.com/torvalds/linux/tree/master/arch/arm64
Re: Essence: Desktop operating system built from scratch
#56Earlier quoted context omitted.
Its x86 only currently. I know the owner does want to add arm support but its not being worked on.
Curious, is porting complex C++ projects to arm64 just a matter of updating build/CI systems or does it actually involve changing core code and adding branches if (x64) {} ... if (arm64) {}.
For an OS it is different, you need to reimplement many parts: bootloader, drivers, task scheduler, virtual memory...
Re: Essence: Desktop operating system built from scratch
#57I couldn't even begin to imagine the work that goes into just what's there already.
Re: Essence: Desktop operating system built from scratch
#58Earlier quoted context omitted.
Roughly 0% of a typical desktop’s disk space is used by hardlinked files. You can safely double count them. That’s exactly what every disk space analyzer does! If you really wanna avoid double counting, just divide the size of every file by st_nlink. Of course you’d have to update the cached sizes of every directory that has a link to that inode so you’d need to cache the mapping from inodes to paths too. Another sol…
Modern filesystems that use CoW will share data between files even without any hard links.
Re: Essence: Desktop operating system built from scratch
#59I like the UI, but I'm disappointed to find that the author is using orthodox C++ instead Modern C++