Are my OS development ideas valid?
Posted: Mon Jul 24, 2017 3:53 pm
I think it really depends on the design of the OS, but it might be good.
I was thinking that a sticky bit is meant to avoid deleting a file. But a file can be effectively deleted without removing its entry from the file system, for example destroying part of its contents and headers or just truncating it. So I thought that a sticky bit should:
- Grant read access. As soon as any modification is attempted, the system must create a copy of the file, then apply the modifications to it and redirect all accesses to it. The copied file should internally have the name of the user as a prefix and then the file name. It could be created in a mirror directory with full access for the given user and could optionally be directly accessed. It would simply be a redirect if a sticky file was ever tried to be modified by another user.
__________________________________
..................................................
__________________________________
Another idea is:
- Why not create a special version of a program, our own fork, and add a function named WriteBookFromProgram(...), which we would simply call repeatedly across the whole program whenever we do something interesting, so that the function writes the sequence of things that are happening?
We would need to tell the function what to write, it could be snapshots, changed CPU registers, changed variables, steps given and described to see how the code lines actually do things as the program executes.
For example, if we use a menu, take a snapshot and then write text, HTML, image and maybe video files of the process.
It would be like a book full of good information, but it would actually be derived from writing from the program using programmatic automation, which writing we could improve over time to make it more human readable and easy to understand, but actually showing how the program actually does things, in a way that promotes reimplementations with new code from scratch, now more easily, with a full example.
Although it would require modifying existing programs with sources so that they show something more like a high quality book than a log.
__________________________________
..................................................
__________________________________
It also looks like the names we all or most of us choose here are more emotive than those from bigger projects like GNU. It probably clearly shows how our projects are more personal, while projects like GNU ones are much more collective and targeted to tasks that existed previously.
I was thinking that a sticky bit is meant to avoid deleting a file. But a file can be effectively deleted without removing its entry from the file system, for example destroying part of its contents and headers or just truncating it. So I thought that a sticky bit should:
- Grant read access. As soon as any modification is attempted, the system must create a copy of the file, then apply the modifications to it and redirect all accesses to it. The copied file should internally have the name of the user as a prefix and then the file name. It could be created in a mirror directory with full access for the given user and could optionally be directly accessed. It would simply be a redirect if a sticky file was ever tried to be modified by another user.
__________________________________
..................................................
__________________________________
Another idea is:
- Why not create a special version of a program, our own fork, and add a function named WriteBookFromProgram(...), which we would simply call repeatedly across the whole program whenever we do something interesting, so that the function writes the sequence of things that are happening?
We would need to tell the function what to write, it could be snapshots, changed CPU registers, changed variables, steps given and described to see how the code lines actually do things as the program executes.
For example, if we use a menu, take a snapshot and then write text, HTML, image and maybe video files of the process.
It would be like a book full of good information, but it would actually be derived from writing from the program using programmatic automation, which writing we could improve over time to make it more human readable and easy to understand, but actually showing how the program actually does things, in a way that promotes reimplementations with new code from scratch, now more easily, with a full example.
Although it would require modifying existing programs with sources so that they show something more like a high quality book than a log.
__________________________________
..................................................
__________________________________
It also looks like the names we all or most of us choose here are more emotive than those from bigger projects like GNU. It probably clearly shows how our projects are more personal, while projects like GNU ones are much more collective and targeted to tasks that existed previously.