User Tools

Site Tools


start

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
start [2017/03/03 17:01]
admin
start [2017/03/30 08:56] (current)
admin
Line 21: Line 21:
 - Punching bag\\ - Punching bag\\
 - Beer\\ - Beer\\
 +(usually in that order)
  
 ====Where to start==== ====Where to start====
Line 30: Line 31:
  
 ====First code==== ====First code====
-The assembler ​NASM will take you far in the beginning. It will create raw binary x86 code regardless of user space.\\ +The Netwide Assembler ([[http://​www.nasm.us/​|NASM]]) will take you far in the beginning. It will create raw binary x86 code regardless of user space.\\ 
-You can think of [[kernel]] as the code that talks to the hardware, and "user space" ​as the code that talks to the kernel.\\+You can think of [[kernel]] as the code that talks to the hardware, and [[user space]] as the code that talks to the kernel.\\
 At this point in the process, user space hasn't been created yet. We're in "​[[real mode]]",​ and no [[user space]] exists. At this point in the process, user space hasn't been created yet. We're in "​[[real mode]]",​ and no [[user space]] exists.
  
Line 39: Line 40:
 You will see (on the Internet) many references to multiboot and partitions. The ugly truth is that you don't //need// any of that. Make your own.\\ You will see (on the Internet) many references to multiboot and partitions. The ugly truth is that you don't //need// any of that. Make your own.\\
 When the BIOS is done, it will load the first sector of the boot drive and execute the code it just loaded. That's really all there is to it. From there, you decide what happens.\\ When the BIOS is done, it will load the first sector of the boot drive and execute the code it just loaded. That's really all there is to it. From there, you decide what happens.\\
-This means that when your code starts, you have 512 bytes of code loaded at address ​"0000:7C00". From there, it's all your design. No multiboot. No drive partitions. No files. Nothing.\\+This means that when your code starts, you have 512 bytes of code loaded at address ​''​0000:7C00''​. From there, it's all your design. No multiboot. No drive partitions. No files. Nothing.\\
 \\ \\
 Be creative. Make it better. Be creative. Make it better.
 +
 +=====My Vision=====
 +I want to make everything from scratch. I will go as far as discarding the partitioning scheme in use today. Creating a system with no regard to existing systems.\\
 +\\
 +It will all be new. Now - I don't have any grandeur visions about being able to write better code than everyone else, but I do think that if you do not root yourself in previous thoughts, you will be able to create new paradigms - possibly redesigning how we view certain aspects of "​common knowledge"​.\\
 +After all - todays CPus are just souped up versions of what was created in the late 60's. Other schemes have been made, better ones, more efficient ones, but ... money talks.\\
 +\\
 +Think new. Be creative. Do better. Make a change. We sorely need it.
  
 =====Some code===== =====Some code=====
Line 47: Line 56:
 [[My MBR]]\\ [[My MBR]]\\
 [[My loader]] [[My loader]]
 +
 +=====A note on bootstrapping=====
 +You will see this mentioned "​everywhere",​ but almost never explained. I will explain it here.\\
 +Bootstrapping is the act of lifting yourself up by pulling your shoelaces.\\
 +What that means in a computer is that a system is capable of starting up on its own volition and sustaining itself.\\
start.1488560460.txt.gz · Last modified: 2017/03/03 17:01 by admin