insomnia Posted September 1, 2018 Share Posted September 1, 2018 So I've mentioned on here a few times that I've been working on a new operating system for the TI. Development has gotten to the point where I think it's time to do some kind of announcement. Additionally, I've read the suggestion that something like Contiki should be ported one too many times. We can do better, folks. I'm taking inspiration from Linux for several reasons. It's clearly a successful design. If it's similar enough, I might be able to port some code instead of writing everything from scratch. Writing user programs will be easier since there is no shortage of good references out there. Keep in mind, I'm nowhere close to an alpha release, but I did want to make sure I got some kind of input that what I'm working on might be of interest to someone besides me. The design philosophy I've been following is that while TI wrote a bunch of neat code for the time, modern developers should only be limited by the constraints of hardware, not software decisions of the past. So that means backwards-compatibility is out. Developing against raw hardware is in. I'm assuming this as a base platform: Console 1MB AMS card Two 96KB floppy drives RS232 card Here's a current feature list: Kernel runs from a cart image Device driver API Drivers for: text screen keyboard floppy drive /dev/null /dev/zero /dev/random Posix-compatable filesystem API CFS filesystem (a simple filesystem similar to ext2) Preemptive multitasking Priority scheduling Mutexes Semaphores Shared memory Syscall API Timers Conspicuously missing features: User shell Use AMS for process memory seperation loading executables (EA5 and ELF) Shell scripting Some kind of catchy name As of today, the kernel size is about 12KB and has about 10,000 lines of code (not including libc or libgcc). The code will eventually be put up on github after i clean it up a bit. I need to impose a coding standard and make sure all dead code has been removed properly. So, what does everyone think of this project? Is this something that sounds interesting or possibly useful? Is there something I seem to have overlooked? Deep-seated opposition to the very concept? Let me know. I'm trying to work on documentation, but I suspect it will always lag the current code state. If there's some aspect of this thing someone would like more information on. I'll be happy to share. Thanks for listening. 14 Quote Link to comment Share on other sites More sharing options...
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.