Linked by Kroc Camen on Thu 5th Nov 2009 21:05 UTC
Talk, Rumors, X Versus Y There's no right way to do it, only ideas that are better than others in certain situations. But if you had the opportunity to head up the design of a new OS, one to Put Things Right, one that could be radical enough to varnish out those UI/X bumps that have clung on for years, but practical enough to be used every day, what would you design? How would you handle application management? What about file types and compatibility? Where would you cherry pick the best bits from other OSes and where would you throw away tradition? I've tackled this challenge for myself and present (an unfinished idea): KrocOS (warning: HTML5 site, will display without CSS in IE/older browsers). OSnews Asks: What would make your perfect OS?
Thread beginning with comment 393231
To read all comments associated with this story, please click here.
Object-oriented O/S design
by axilmar on Fri 6th Nov 2009 12:54 UTC
axilmar
Member since:
2006-03-20

Kernel

1. object-oriented architecture.
2. Each object lives in its own process.
3. 64-bit address space.
4. object addresses valid in all processes.
5. asynchronous message passing.
6. capability-based security.
7. drivers are objects.
5. automatic transfer of computations to other machines of the network based on real time cost/benefit analysis.

drivers

1. simple driver system: each device having one and only one object that manages it.

filesystem

1. objects instead of files.
2. objects managed programmatically via classes.
3. directories replaced with views based on object queries.
4. object versioning.
5. 'live' objects: changes in objects automatically propagated to users of said objects.
6. automatic replication/backup/history.
7. virtual 'file' system: copy-on-write for privileged 'files' (i.e. objects).

networking

1. automatic sharing of objects between computers on the same network.

software management

1. classes instead of applications.
2. automatic updating of classes based on publisher URL.
3. class versioning.
4. automatic linking of appropriate class version.

user interface

1. clean screen interface; only the object being edited is visible all the time. Commands/options accessible only via context menu.
2. full screen interface for each edited object; other screens accessible by context action.
3. realistic rendering of edited objects; objects look like real objects as much as possible.
4. task-driven menu interface for initial user screen.
5. no double or triple clicks that confuse the user.

programming

1. system-wide garbage collection.
2. system-wide automatic persistence.
3. object-oriented language with low-level features that don't break the OO abstraction or security.
4. the Actor model being used for parallelism/concurrency.
5. abstraction on networked resources.
6. the same programming language used either for system scripting or application programming.

Edited 2009-11-06 12:58 UTC

Reply Score: 3