-
-
Notifications
You must be signed in to change notification settings - Fork 0
/
README2
56 lines (34 loc) · 6.2 KB
/
README2
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
Position OS is:
* Reconfigurable: The hardware abstraction layer can be re-factored by sophisticated users.
* Object-Oriented: Everything is an object. Every object is an application.
* P2P: A ad hoc network of trusted peers.
* Community-oriented (all nodes are considered peers at the application layer)
a *reconfigurable OS*, marrying databases with OOP, a new concept in OS design that allows it to run on any hardware that has a minimal set of abilities for a general-purpose computer. No more worrying about hardware architecture -- the community only needs to remake the basic primatives and interfaces for the hardware until it fits into the rest of the operating system. Core functions can be burned into a ASIC (application-specific integrated circuit) and replace your BIOS. Most OSs are like putting adult overalls on a 2 year-old: clumsy, fitted poorly, inefficient, and not reconfigurable for different environments.
This OS will do for software what the internet did for networking: make a universally accessible software environment on heterogeneous hardware.
The OS will accelerate every kind of application development, as well as allowing application-sharing and eventually replacing hardware-specific apps into a global community of shared, application mash-ups. Universities, companies, individuals, and governments will be able to share re-usable objects made by everyday people to make all data accessible and transferrable across the network. No more databases, data and application incompatibility problems, or cruft!
The local machine and network are unified, so the whole application stack can be passed around on the network.
There are no external logins, you decide what you publish to the outer world and how far. It's a single-user OS.
Data and apps are completely modular, there are no data bases. Instead you have basic objects (like FullName) composited into larger ones (like Student(FullName, HomeAddress, Curriculum)).
Apps and objects are united, all objects are apps and all apps are objects,
All OSs become part of the CONVERGENCE.
There are only three primary ways of relating to the machine: application user, data administrator, object technician (formerly "programmer"). Bootup files are simple: you can boot to the OS command line or configure what application you want to run upon boot.
Storage is more sparse and distributed to the stakeholders (other peers), so is equally held by objects (code/structure) and data. But most code is just clones from other objects, so the amount of storage is significantly less that present OSs.
Each nodes sets their name and what data they emit on any query to the nodename (?Node). Nodes are objects to any given peer and can be treated nearly like any other object: queried, cloned (for data backup), dir'd, help
*OOP
*hardware abstraction
Applications can be written with very high level concepts. There are only 8+1 commands to the OS: EDIT(&), RUN(1/), TEST(!), HELP(?), DIR($), CLONE(%), MSG(@), GROUP("()"), and SET (#) (NAME, HELP ("I'm responsible for handling X"), queryable DATA (personal name, phone number, total bytes stored, total objects, highest level object, average level, etc.), DIR (who can list the objects on your machine), CLONE (what to do if someone wants to clone your objects, like add GROUP), TEST (who can test your objects)), and DEL (remove an object from the machine). Everything in the environment is already saved to your hardware with each change. Backups are handled with your hardware (like RAID5) and the natural ease and redudancy of the network covers you in other cases (cloning).
Memory space can hold any number of groups that you've defined, such that you can MSG the group and everyone gets a notice in their screen.
Q: Syntax: TEST(MyObject) or TEST MyObject?
If a NODE name was used before, but the IP addr is different, check w/user. SecuritySentinal object can verify all command requests (like query, clone, and group) to screen if anything suspicious is present (Is a trusted node name on a different IP/Ethernet address?).
Want to start a network install, boot up the minimal system to get to a command prompt and do a CLONE nodename (how to specify systemfiles only?). Everything but system files is automatically considered protected. One could do a GROUP and if your IP or net address is on their allow list, you can start doing queries.
There is one other command possibility: GROUP. Group allows you to put all nodes given into a new super-node which you can then query all at once. The question of adding this function is security. DEL will notify other NODES who created the object to unGROUP them. CLONE Object ToNode.
The issue of supernodes is still under development. Either a GROUP command to make all nodes act as a virtual local node and implementing a tree-like security model for different groups of data or using the CLONE to just copy the data and query the data locally. There is no sure way to answer this question theoretically, so probably both will be implemented.
SuperNode must give their authentication credentials Each NODE can set any number of security levels. Since such security levels are neither flat (like Unix) nor linear (security level 1,2,3). Each node can set the passphrase for accessing their data at any restricted level. This passphrase list is the essential thing to keep secret.
All objects are also applications, so you can see what they do easily. Help and run will tell you easily. You can also query each app/object to check internal state while running.
All objects contain metadata, including paypal_ID, so that creators can be paid. Creators can group all users who use objects from their machine and send MSGs when they need money. A DEL command
DIR:
List objects starting from some branch or list nodes. Two different home symbols, representing a node ":" or an object "\".
App
group
All variables are saved to the local machine when you return to the OS prompt. At startup, user can select what variables to keep, loading them into main memory as if you never turned off the machine.
Existing apps can be modified and customized by editing them. The level of granularity is about the level of the Unix command line. So you'll be editing and customizing apps by editing shell-level code.