I finally bit the bullet. Yup, I blew away my dos partition and
put Linux on it. Now I would like to start a project. I consider
virtual consoles to be high priority, but until init/login etc is
done, there is probably no use starting that.
Thus I am proposing to look at demand paging from the file system.
If Linus agrees to consider adding it to linux when it is done,
and nobody successfully shoots this proposal down, I will start
tuit suite.
If someone else wants to help (or do all of it) let me know.
I have broken it down into phases to clarify understanding,
not necessarily to imply they might be released in this order (if ever).
If you think this is a house of cards, let me know ASAP.
Proposed Design:
Phase 1:
- Upon loading an executable, create a map that is stored in the
process that locates all blocks on disk. Do not look at fs again.
- Load only the first 4K page and execute.
- Upon a code page fault load the required 4 blocks into ram.
- Make no attempt to lock file image (count on seg violation?)
Phase 2:
- Attempt to share executable images in ram (shared-text).
Phase 3:
- Attempt to implement the stickey bit, to pin an executable
in memory once loaded.
- Find a way to flush it (all) from memory when done.
Phase 3:
- Attempt to manage working sets in memory if data requirements
exceed available ram (down to ~15%).
Phase 4:
- Paging (writing) data to a partition or fixed size file.
- Locking paged image file.
Issues:
- Allocating/deallocating memory for the program maps.
- Enable/disable paging when booting from shoelace?
- Do not use working set with pinned pages?
- File locks held in ram only?| Andreas Gruenbacher | Re: [AppArmor 39/45] AppArmor: Profile loading and manipulation, pathname matching |
| Alan Cox | Re: [patch 7/8] fdmap v2 - implement sys_socket2 |
| Jens Axboe | Re: regression: CD burning (k3b) went broke |
| Paul E. McKenney | Re: [PATCH 0/24] make atomic_read() behave consistently across all architectures |
git: | |
| KOSAKI Motohiro | [bug?] tg3: Failed to load firmware "tigon/tg3_tso.bin" |
| David Miller | [GIT]: Networking |
| Alexey Dobriyan | [PATCH 09/33] netns ct: per-netns /proc/net/nf_conntrack, /proc/net/stat/nf_conntr... |
| Gerrit Renker | [PATCH 18/37] dccp: Support for Mandatory options |
