News for hackers. Stuff that matters.
Re:Unix's special way of marking login shells goes back to V... by tinus_hn on Sunday December 11, 2022 @12:11PM (#33945025)
A great and easy idea, as long as you never need to release anything. Otherwise you end up with holes in your memory and you need to do compaction, and reserve the memory you need to be able to do that.
Re:Unix's special way of marking login shells goes back to V... by kragen on Sunday December 11, 2022 @04:59PM (#33948024)
or you can just have memory fragmentation

compaction doesn't require a lot of memory but it's slow and intrusive; it has to know where all your buffer pointers are

Re:Unix's special way of marking login shells goes back to V... by tinus_hn on Sunday December 11, 2022 @05:31PM (#33948298)
Obviously permanently wasting memory on fragmentation is not an option on a device that typically has 24kb memory. Especially not just so you can specify long filenames for the shell, when the filesystem doesn’t even support those filenames.
Re:Unix's special way of marking login shells goes back to V... by kragen on Monday December 12, 2022 @03:05PM (#33959478)
the alternative they chose was to permanently waste memory on fixed-size struct fields, so i guess it was actually an option

malloc on the pdp-11 never compacted of course

the filesystem supported 14 characters for the basename, but evidently we're talking about code with a 14-character limit on the pathname, not the basename

Re:Unix's special way of marking login shells goes back to V... by tinus_hn on Tuesday December 13, 2022 @08:23AM (#33968473)
You don’t need compaction to reuse fixed size structures. I presume their priorities were with creating a working system, not one that answers to the ‘requirements’ of 50 years into the future.
Re:Unix's special way of marking login shells goes back to V... by kragen on Thursday December 15, 2022 @01:59AM (#33996210)
you don't need compaction to reuse heap-allocated memory either

wasted memory due to heap fragmentation is very similar to wasted memory due to slack space in fixed-size structure fields