I've decided to write a small and very limited operating system called BluePrint-DOS (BP-DOS) for my computers, with the goal being to require a minimal amount of hardware, and to more easily facilitate running programs, by loading them from a block-storage device than burning an EEPROM every time a new program is to be tested/run.
The hardware requirements will be:
The OS itself will only be mono-tasking, and in fact will hand over all system control to the user program, only leaving behind useful hardware and filesystem routines. For any additional hardware, those will have to be driven by a user program. Upon exit, a user program will perform an additional RET instruction than there are CALL instructions in the user program, to return control to the OS.
As for the file system to be used, I've decided to use LEAN for its simplicity, low storage overhead, and featureset. You can find out more about it here: http://freedos-32.sourceforge.net/lean/
When all's said and done, the operating system should be portable to any processor system that meet or exceeds the hardware requirements.
The hardware requirements will be:
- 32KB of RAM, to hold both OS routines and the running program
- A free-running timer to facilitate CPU 'sleeping' when no action is being done.
- A block storage device to store OS and program files.
- User I/O, for hopefully obvious reasons.
- Load, run, and return from user programs.
- Provide file system routines for reading/writing files to the selected block device.
- Block-storage sector read/write routines.
- User input hardware routines.
- Timer interrupt service routine.
- Display hardware routines.
- Serial I/O routines.
The OS itself will only be mono-tasking, and in fact will hand over all system control to the user program, only leaving behind useful hardware and filesystem routines. For any additional hardware, those will have to be driven by a user program. Upon exit, a user program will perform an additional RET instruction than there are CALL instructions in the user program, to return control to the OS.
As for the file system to be used, I've decided to use LEAN for its simplicity, low storage overhead, and featureset. You can find out more about it here: http://freedos-32.sourceforge.net/lean/
When all's said and done, the operating system should be portable to any processor system that meet or exceeds the hardware requirements.
Comments
Post a Comment