Tag Archives: typescript

Operating System

ctOS – 6502 TypeScript Operating System

For my Operating Systems class, I was tasked with making an Operating System simulation using basic OS architecture and 6502 operations.

Using TypeScript, I implemented a CPU, CPU scheduler with 3 scheduling methods, memory manager for RAM, kernel interrupt and ready/resident queue, hard drive and hard drive driver with swap virtual memory. I also added neat features like achievements, boot video, step mode, and tons of little special commands.

It was one of my favorite projects of all time in my education. It was a lot of fun to implement new achievements into something like an Operating System and the design for ready queues/CPU scheduling was really interesting. I also found a new language to love. TypeScript is a JavaScript transpiler that gives type checking and more to JS, made by none other than Microsoft. I’m a strict type kind of guy, and it has been my biggest pet peeve of JS for a long time. TypeScript was a god send, and will be what I use whenever I have to write JS now. Combined with native debugging in Visual Studio, it can be extremely powerful and helpful. It makes Object Orientated programming in JS to be a breeze.

There are a bunch of built in programs to ctOS you can find in the sidebar, but feel free to make your own. There was discussion on how it would easily be possible to read/write executable programs to the hard drive, and with a few more op codes, you could have the simplified 6502 CPU do some pretty legit algorithms like merge sort and stuff. Its a fun Operating System.

Feel free to check it out here:
http://anthonyb28.github.io/ctOS/

Source & Readme:
http://github.com/anthonyb28/ctOS/