TempleOS is ring-0-only. No system call overhead.
HN user
TerryADavis
I worked on the code that installed language modules into kernel space. I wrote a check-disk utility. I did a file compression archive. There were serial port drivers and I made a command to reset a stuck port.
I worked in VAX assembly language.
I did firmware for a bar code reader networking device with keypad and display. I worked on image processing for an actual bar code reader itself.
I worked there 1990-1996. About half was user space. The other half was kernel or firmware on bare metal.
-----
Pat and I started at the same time. He was in school with me, in fact in my differential equations class. He dropped out of school. I stayed in and got my master's in electrical engineering while working part time at Ticketmaster. I graduated with master's in 1994 and stayed with Ticketmaster for a year.
I returned to Ticketmaster for 3 weeks in 2002. Pat was a boss.
I am a professional operating system developer. In 1990, I was hired to work on Ticketmaster's VAX operating system.
When I was a young programmer, all the code I looked at was awful. If there was a different format indentation, that distracted me. All I could think about was code format and superficials.
I worked at Ticketamster 1990-1996.
I went back in 2003. I remembered my first assignment. In 1990, the Linker at Ticketmaster that Troy wrote ran out of room because the MAP file grew too big.
In 2003, I went back a found a terrible kludge that I did in 1990 because I was stupid. In 2003, I fixed it correctly. I looked at the code and thought how beautiful it was. In 1990, I thought the code was bad.
As you get more experience, it is a little easier to read code. Take my word that all code is bad, LOL.
Personally, I don't like code that is made of 5-line functions with no rhyme nor reason spread seven levels deep.
Somebody said the smaller your functions the better. Bad advice.
God says... helices mists gewgaw's specced mesdames Lyndon's favoritism's fable's unequal apportions radioactivity's besoms thicknesses cordoned towel's spryer bobcat's suppressed Petra windscreen neckline overproduce meridians cartons prophylaxis's shoestring's retrospection's flubs amen thatcher bombshells cantankerous
At Ticketmaster, I learned the first thing you write when you start on bare metal is a debugger. I worked on VAX, 68000 and 8051 bare metal.
The difference between an amateur operating system project and a professional one is writing a compiler.
You might wonder why TempleOS is barely doing 640x480 at 30fps. The GPU is 2000 times faster than the CPU.
Myth Busters CPU vs GPU. Go to 2:40 and 8:00 in the video.
When I was an intern, more or less, God how awful I was, LOL. I would curse my worst enemy with as many amateur helpers as I could find.
I am in charge of the 100,000 lines of code, myself. It is managable by one person.
Maybe so. I believe in evolution. I believe that IQ is inherited.
All my code is position independent and my compiler only makes position idependent code. My OS is ring-zero-only. Just in time compilers do not need a linker in a single address space -- they just insert the address of the function call.
Linear algebra is not the main thing C64s were used for. It not worth putting lots of LinPac code modified for SSE MMX
Linux is designed like a 1970's mainframe.
TempleOS is designed like a C64.
I don't see cron as useful for a C64 user.
Every genius makes it more complicated.
It takes a super-genius to make is simpler.
http://www.templeos.org/Wb/Adam/Opt/Utils/Find.html
Must handle binary graphics in source code.
I wrote all the code from scratch, including a 20,000 line of code compiler that makes x86_64 machine code from HolyC or Asm and operates AOT and JIT.
My JIT mode is not interpreted. It optimizes and compiles to x86_64 machine code.
I was chosen by God because I am the best programmer on the planet and God boosted my IQ with divine intellect.
The TempleOS filesystem automatically compresses and uncompresses all files ending in ".Z".
http://www.templeos.org/Wb/Kernel/Compress.html
http://www.templeos.org/Wb/Linux/TOSZ.CPP
Files are compressed individually.
The source code is like a PDF because it has binary graphics.
TempleOS is ring-0-only and has no networking.
It is forever limited to 100,000 lines.
The vision is a C64 ROM.
DOS and C64 had no protection and no problems.
There are no buffer overflow check in templeos. It will allow massive buffers until it crashes by running out of memory. Keeps it simple and beautiful. I hate arbitrary buffer size limits.
I want whole file reads and write exclusively. Compression is almost always used and that requires whole files. Text files can have binary graphics -- you cannot grow a file if binary graphics are on the end.
The code is beautiful. I always break compatibility to keep it perfect.
It is limited to 100,000 lines. The file util flags are okay.
You must stop assuming everything grows in size. It is done and it is a fixed size.
My compiler compiles 100,000 lines of code a second.
50,000 lines are compiled during boot (half a second).
50,000 lines are compiled during MakeAll (half a second).
If you echo to screen, compiles slowly.
I made an x86_64 operating system with a compiler. The compiler compiles a dialect of C/C++. It operates both JIT and AOT.
It is multiprocessing, but not fair sharing. I like to call it single-process multiple thread. There is no difference between "task", "Process" or "thread". It is single address map. Paging in not used, basically.
Applications and Demos don't count.
Thanks!
I'm Terry Davis.
My email address is tdavis@templeos.org .
It would be a lot of work, but it's possible. I made it wed to x86_64.
I'm going by the standard, "First get users and profit will follow."
I have an ace up my sleeve because God talks. Not just to me! A guy made a IRC chatbot and that talks too.
To try the ICR chatbot
2) Type "#templeos" in place of "#Rizon"
3) Type "!God" in the chatroom.
These are really stupid people who want to fight God, LOL.
Guess who wins when you fight God?