Showing Hardware Specification by Assembly
Showing Hardware Specification by Assembly
Hi,
I want to write an os that show hardware specification.in a table.
ofcourse before this i have a bootloader.
if it is possible please guide me to write this os.
thx
I want to write an os that show hardware specification.in a table.
ofcourse before this i have a bootloader.
if it is possible please guide me to write this os.
thx
- Attachments
-
- Extension.JPG (70.22 KiB) Viewed 1453 times
Last edited by steward on Wed Apr 02, 2008 8:59 am, edited 1 time in total.
This is a really unspecific question.
Do you already have an idea how to write a general OS? If not - you need to read the intel manuals, see the wiki and see osdever.net and do lots of research first. Can you even program?
What hardware do you want to display information for?
What information do you want to display for each device?
How do you want information displayed - do you want some kind of TUI/GUI?
Are you wanting a simple PCI listing, or do you want specific info for each device - in which case you will also need drivers for each device?
Cheers,
Adam
Do you already have an idea how to write a general OS? If not - you need to read the intel manuals, see the wiki and see osdever.net and do lots of research first. Can you even program?
What hardware do you want to display information for?
What information do you want to display for each device?
How do you want information displayed - do you want some kind of TUI/GUI?
Are you wanting a simple PCI listing, or do you want specific info for each device - in which case you will also need drivers for each device?
Cheers,
Adam
Thx for reply
Now you can see the sample that i have prepared
- Combuster
- Member
- Posts: 9301
- Joined: Wed Oct 18, 2006 3:45 am
- Libera.chat IRC: [com]buster
- Location: On the balcony, where I can actually keep 1½m distance
- Contact:
You've just posted the same question again.
Linked from the rules:
Linked from the rules:
andRequired Knowledge
If you think you can skip this, it's probably just for you.
Writing an OS is not a beginner's task. In fact, writing an OS is considered the most difficult programming task by many people. You will need to have developed your programming skills to an above average level before considering the task. Failure to comply will make you look silly. Some things you will need to know are:
* Basic Computer Science: You'll need to know hexadecimal, binary and boolean logic (at least!) inside out. It doesn't matter if you are self-taught. Rest assured, you will need it.
* Assembly: You should have knowledge about the low-level language Assembly. Read a book. Take a course at school. At least read some tutorials, and write some code. You WILL need it, even if you plan to write most of your operating system in another language.
* C / C++: Most of the operating systems featured on this site are written in C (or C++), and a good understanding of this is required. Even if you choose to use another language like FreeBASIC or Pascal, code on the Internet is almost always in C (which can be considered the lingua franca of programming).
* Programming experience: Learning a language with OS development is considered a bad idea. You should know the language in which you will be developing inside out, which means you should have written quite a few programs in that language successfully.
* Linux / UNIX experience: You will soon notice that many of the tools used in OS development are developed for Linux, and later ported over to Windows. The Linux kernel is often used as an example, and many of the hobby operating systems have some resemblance to Linux. Having installed Linux and played around with the command line is barely a minimum.
* Your Toolchain: You must know the behavioural details of your compiler, assembler, linker, and make utility. Read the documentation of the tools you use. Rest assured that the people on the forum have possibly answered any possible beginner's question about GCC, GNU as, NASM, GNU ld, and GRUB twice over. Asking them again would be an invitation for trouble.
* Exectuable Formats: Kernel space programming has many additional requirements unknown to application development. Make yourself familiar with Executable File Types and their internal structure. Learn about linker scripting and about how your linker generates "flat binary" files.
* The platform: You should have studied the manuals for the processor you will be programming for. They contain the information you need to design your kernel in the first place. Asking for information that is contained in these documents will only give cause to the hostile "Read The (...) Manual", or simply RTFM.
The first thing to understand is that hackers actually like hard problems and good, thought-provoking questions about them. If we didn't, we wouldn't be here. If you give us an interesting question to chew on we'll be grateful to you; good questions are a stimulus and a gift. Good questions help us develop our understanding, and often reveal problems we might not have noticed or thought about otherwise. Among hackers, “Good question!â€
Cheers,AJ wrote:Do you already have an idea how to write a general OS? If not - you need to read the intel manuals, see the wiki and see osdever.net and do lots of research first. Can you even program?
What hardware do you want to display information for?
What information do you want to display for each device?
How do you want information displayed - do you want some kind of TUI/GUI?
Are you wanting a simple PCI listing, or do you want specific info for each device - in which case you will also need drivers for each device?
AJ
Yes, I see.
The problem is your question is extremely general. You seem to want a PCI device listing. Have a look on the wiki for information on the PCI bus. You will also need to read the PCI specification. That can be found > here <.
This will allow you to obtain basic information about the PCI device. You will also need a list which converts PCI device ID's and vendor ID's to ASCII strings. There are several headers available for download, which you can find by googling.
If, however, you have no concept of basic OS development, you need to read up on that first, hence my first question above.
Basically, try writing your OS. When you hit a specific problem, search for how to solve it on the wiki and the web. If you cannot find the answer to that specific question, ask it here.
Cheers,
Adam
The problem is your question is extremely general. You seem to want a PCI device listing. Have a look on the wiki for information on the PCI bus. You will also need to read the PCI specification. That can be found > here <.
This will allow you to obtain basic information about the PCI device. You will also need a list which converts PCI device ID's and vendor ID's to ASCII strings. There are several headers available for download, which you can find by googling.
If, however, you have no concept of basic OS development, you need to read up on that first, hence my first question above.
Basically, try writing your OS. When you hit a specific problem, search for how to solve it on the wiki and the web. If you cannot find the answer to that specific question, ask it here.
Cheers,
Adam
- zaleschiemilgabriel
- Member
- Posts: 232
- Joined: Mon Feb 04, 2008 3:58 am
I have a question regarding this, if anyone cares to answer: Is PCI (and all of it's versions, like PCI Express) the ultimate way of detecting devices? I mean, now that ISA is not implemented in personal computers anymore, can PCI be used to detect absolutely every device that can be controlled by an OS? Is it supposed to be the ultimate standard for identifying devices? I know that there are other ways to identify devices, like ACPI, but is PCI enough, and does it detect everything that ACPI detects? If not, then to provide complete device enumeration, do you have to use both ACPI and PCI, or would ACPI be enough? Does ACPI depend on PCI?
Well, I said I had A question, but there turned out to be than one...
If you have any links to info about how ACPI relates to PCI, other than the main ACPI spec...
Thanks,
Gabriel
Well, I said I had A question, but there turned out to be than one...
If you have any links to info about how ACPI relates to PCI, other than the main ACPI spec...
Thanks,
Gabriel
Have a look at this
http://en.wikipedia.org/wiki/Desktop_Ma ... _Interface
It is part of the SMBIOS spec.
http://en.wikipedia.org/wiki/Desktop_Ma ... _Interface
It is part of the SMBIOS spec.
The cake is a lie | rackbits.com