Last active
May 31, 2019 20:15
-
-
Save LeFreq/fe043e6bdac8d5c9a0d7749d27c1bda1 to your computer and use it in GitHub Desktop.
Unix command distillation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
There should be need of only 4 machine code commands +/-1. | |
*MOVE, | |
*JUMP-ON-EQUAL (or JUMP-ON-NOT-EQUAL) | |
*OR, | |
*AND, and | |
*NOT. | |
These five can build 5 more hardware-level commands (STUB): | |
* allocate memory | |
* store data | |
* send data | |
* edit data | |
* write to console | |
These are probably enough for a simple OS. | |
These can then build a simple OS or a multi-tasking OS with a total of ~64 to ~125 different commands. | |
* create named device | |
* | |
These commands could probably be limited to 1 parameter, but otherwise maximum of 4 parameters per command. All other commands MUST derive from these. | |
Commands should revolve around storage, users, and processes, and I/O (commanding the screen, setting keyboard type, etc). Is there another grouping? | |
The reason is system admins don't remember more than about 4 +/-1 things with a given index term -- in this case a system command. When you have 50 different flags for you command, no one can remember them. | |
If you have 50 parameters to your command, you probably need a better command-hierarchy model. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment