cancel
Showing results for 
Search instead for 
Did you mean: 

Archives Discussions

DRI
Journeyman III

How to start Operating system development?

Good evening people,

I'm currently learning how it's working AMD's processors and globally The Operating systems.

BUT

I've got a really huge problem, I don't know what's I'm suppose to read, to be able to develop a really simple and little Bootloader.

My goal at the end is to develop a little and basic Operating system.

But to do this, I need to find a really good book about that.

I'm currently a System architect, but I'm really pationate and want to build my own system, but it's pretty hard to find any simple informations about how to detect a CPU / memory / hard drive controllers and basic display.

Last thing, I'm really sorry if my english ugly, but I'm french

0 Likes
14 Replies
avk
Adept III

How to start Operating system development?

What about Menuet OS? You may download its 32-bit version with the source and begin your study.

0 Likes
DRI
Journeyman III

How to start Operating system development?

Well, in fact for the begining I'm trying to figure out how is working the CPU, I mean, which are the default memory addresses called when I start my CPU and where are they store? I rom? On the CPU? the both? in RAM?

If I try to make my own CPU, How I'm suppose to address the memory?

How the CPU know where is the memory and others devices?

Many thanks for menuetOS, I've already looked it, but I'll have to learn assembler a little bit more 😄

For now, I develop with C++

0 Likes
DRI
Journeyman III

How to start Operating system development?

Well, after a bunch of research on our best friend the well nemed, GOOGLE, I've found a really good tutorial about: "Design and programming your own CPU"

AND CHERRY on the top of the cake! IS IN FRENCH!!!

Well, I'll learn and read this tutorial.

Many thanks.

0 Likes
Rush314
Journeyman III

How to start Operating system development?

I'm glad you have the os-dev bug!

Perhaps a place to start:

hhtp://wiki.osdev.org/Main_Page

and

http://forum.osdev.org/

0 Likes
DRI
Journeyman III

How to start Operating system development?

Many thanks for your links dude.

Yes, I'm really interesting in os-developpment, because I think that now a day, they're too heavy and to complicate, the operating system about me should be more simply, but should be able to made the same things than now.

Even in term of security, the OS or softwares which are really secure are really rare (Vsftpd is the only one soft that I know which are no one bug and security holes).

I'm currently working on a brand new Computing architecture.

CPU / Memory / Graphic / Operating systems etc.

But before that I've to learn about the current operating systems and their way of think.

Once again, many thanks to everybody which help me on this topic.

0 Likes
Page95
Journeyman III

How to start Operating system development?

The motherboard is the main component inside the case. It is a large rectangular board with integrated circuitry that connects the rest of the parts of the computer including the CPU, the RAM, the disk drives (CD, DVD, hard disk, or any others) as well as any peripherals connected via the ports or the expansion slots.

Components directly attached to the motherboard include:

  • The central processing unit (CPU) performs most of the calculations which enable a computer to function, and is sometimes referred to as the "brain" of the computer. It is usually cooled by a heat sink and fan.
  • The chip set mediates communication between the CPU and the other components of the system, including main memory.
  • RAM (Random Access Memory) stores all running processes (applications) and the current running OS.
  • The BIOS includes boot firmware and power management. The Basic Input Output System tasks are handled by operating system drivers.
  • Internal Buses connect the CPU to various internal components and to expansion cards for graphics and sound.
    • Current
      • The north bridge memory controller, for RAM and PCI Express
        • PCI Express, for expansion cards such as graphics and physics processors, and high-end network interfaces
      • PCI, for other expansion cards
      • SATA, for disk drives
    • Obsolete
      • ATA (superseded by SATA)
      • AGP (superseded by PCI Express)
      • VLB VESA Local Bus (superseded by AGP)
      • ISA (expansion card slot format obsolete in PCs, but still used in industrial computers)
  • External Bus Controllers support ports for external peripherals. These ports may be controlled directly by the south bridge I/O controller or based on expansion cards attached to the motherboard through the PCI bus.
0 Likes
DRI
Journeyman III

How to start Operating system development?

Hi Page95.

Many thanks to your reply, but I know that kind of thinks, this is the nominal High level workflow.

But I'm looking for something more.

I'm looking to docs or books which can explain me how the CPU or any other manager on the board are able to send the information to the correct device?

I know that the Chipset or BIOS have some addresses set permanently, but how physically, the chipset or the BIOS do the translation between for exemple, the address 0x0f... and the physical link/path?

Is there a sort of translation table code inside the device which will be able to said, "OK you want the address 0X0F.. then go to the gate A20"??

 

@Rush314: Your website is awesome!!

0 Likes
ohmtronics-dev
Journeyman III

How to start Operating system development?

Hello,

you are native french? Then try delphineOs (written in FreePascal). It's a working and well documented (in french) very small operating system for starting os development. It contains also CPU detection, HD detection etc.

Type DelphineOs in google (or whatever)

0 Likes
shyouhua
Journeyman III

How to start Operating system development?

maybe you should thinking about other way www.eartdesign.com

0 Likes