How To Make An Operating System
In this episode, gigafide shows you how to create our own operating system using the Assembly programming language. Project Files: www.tinkernut.com Learn Assembly: en.wikipedia.org www.drpaulcarter.com www.xs4all.nl joelgompert.com Operating System Credit/Reference: mikeos.berlios.de Virtual Box www.virtualbox.org Disk Images www.allbootdisks.com NASM: nasm.sourceforge.net
January 27th, 2012 at 2:01 pm
why no usb? OS? D’;
January 27th, 2012 at 2:18 pm
Those who think this is tough haven’t gone through the GDT/LDT/IDT + paging + PAE part yet. Not to sound superior or anything, but although I was? familiarised with non-X86 assembly for a long time it took me quite some time to figure out these peculiarities of the Intel architecture. It was a relief once I did.
January 27th, 2012 at 3:02 pm
This is why they have developed languages that are easier for users to organize, create, and understand. Assembly is understood at a level too low for people to be programming in now.
Here’d my question. WHY IN THE WORLD WOULD YOU WRITE AN OS IN JAVA??? Java runs in an interpreter, it cannot be compiled to a binary that is understood? like assembly.
January 27th, 2012 at 3:15 pm
@pie977 Nowadays they’re mostly x86-64, which is commonly referred to as x64. The x64 architecture is designed for backwards compatibility with x86, making it more of an extension of x86 than a separate architecture. That way, processors that support x64 processors will also? support x86 instructions natively (giving support for 32-bit applications).
January 27th, 2012 at 3:44 pm
FATAL: NO BOOTABLEMEDIUM FOUND! SYSTEM HALTED?
January 27th, 2012 at 4:42 pm
@rebugProg Ah, makes sense. Thanks for the response. On a related note, does this mean that modern processors are somehow a hybrid of the x86 and x64 instruction set? I’m under this assumption since they’re both able to run the 32-bit and 64-bit versions depending? on what’s installed.
January 27th, 2012 at 5:17 pm
@pie977 yes and no.
It does depend on the processor, but more specifically on the instruction set architecture, or how? code is written, compiled and fed to the processor. Most devices you touch use either x86 (most Intel processors, Windows 7 and below) or ARM (tablets, embedded devices, etc). Assembly written for x86 will only work on x86 and assembly written for ARM will only work on ARM.
(all iirc, I do more scripting than ASM programming)
January 27th, 2012 at 5:27 pm
I’m an assembly noob so correct me if I’m wrong. Doesn’t the assembly language depend on the processor being used? Thus, the assembly would only work for the specific processor? that you’re working on and not on others meaning you can’t really use it on any other machine.
January 27th, 2012 at 5:36 pm
@xMandalorex Java isn’t an operating system… the “billion devices” just use the Java Virtual Machine (JVM) for it’s? software.
January 27th, 2012 at 6:30 pm
@xMandalorex bbqsauceonmy is correct. You should see Java as a computer program running on top of an operating system, which in turn interprets so called “byte code”. This code cannot be run directly on a processor, unlike a programming language such as C. Java can only be used as a layer on top of an? operating system written in a more low level language. Android for example only allows the user to control the Java section of the OS. Hope this helps! And take it easy with your language please =)
January 27th, 2012 at 6:34 pm
i dont want to play games? idiot i want to operate my system
January 27th, 2012 at 7:08 pm
@xMandalorex? No operating system on the entire Earth is written in Java.
You mean Android right? It’s written in C.
January 27th, 2012 at 7:42 pm
What? just happened?
January 27th, 2012 at 8:40 pm
@bbqsauceonmycock?
seeing as over a billion devices use a java based OS
… so yea good luck to them huh ? you fucking idiot