Showing Hardware Specification by Assembly

Question about which tools to use, bugs, the best way to implement a function, etc should go here. Don't forget to see if your question is answered in the wiki first! When in doubt post here.
steward
Member
Member
Posts: 27
Joined: Wed Apr 02, 2008 8:36 am

Showing Hardware Specification by Assembly

Post by steward »

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
Attachments
Extension.JPG
Extension.JPG (70.22 KiB) Viewed 1455 times
Last edited by steward on Wed Apr 02, 2008 8:59 am, edited 1 time in total.
User avatar
AJ
Member
Member
Posts: 2646
Joined: Sun Oct 22, 2006 7:01 am
Location: Devon, UK
Contact:

Post by AJ »

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
steward
Member
Member
Posts: 27
Joined: Wed Apr 02, 2008 8:36 am

Thx for reply

Post by steward »

Now you can see the sample that i have prepared
User avatar
Pitchu
Member
Member
Posts: 56
Joined: Tue Feb 12, 2008 3:16 am
Location: Kashmir - Paradise On Earth

Post by Pitchu »

Aj is correct.
Further, this is file info not hardware.
User avatar
lukem95
Member
Member
Posts: 536
Joined: Fri Aug 03, 2007 6:03 am
Location: Cambridge, UK

Post by lukem95 »

Easiest method to do this? realmode with a TUI i guess.

you should write a list of all the devices you want, and then look into how to detect these. Although something like SMBIOS might be an easier method... there is a wiki page on SMBIOS
~ Lukem95 [ Cake ]
Release: 0.08b
Image
steward
Member
Member
Posts: 27
Joined: Wed Apr 02, 2008 8:36 am

Post by steward »

I mean Like this pic

(reattaching the same file is a waste of space - Combuster)
User avatar
Combuster
Member
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:

Post by Combuster »

You've just posted the same question again.

Linked from the rules:
Required 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.
and
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!â€
"Certainly avoid yourself. He is a newbie and might not realize it. You'll hate his code deeply a few years down the road." - Sortie
[ My OS ] [ VDisk/SFS ]
steward
Member
Member
Posts: 27
Joined: Wed Apr 02, 2008 8:36 am

Help

Post by steward »

hi,

Really i should make a boot disk that at first sector be a bootloader then at second sector be an os that show the hardware specification in which you can see after POST in a table.can you help me?
thx
User avatar
AJ
Member
Member
Posts: 2646
Joined: Sun Oct 22, 2006 7:01 am
Location: Devon, UK
Contact:

Post by AJ »

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?
Cheers,
AJ
steward
Member
Member
Posts: 27
Joined: Wed Apr 02, 2008 8:36 am

Post by steward »

For example after POST and before the booting of windows and before its logo comes you can see some of your hardware.dont u see?
User avatar
AJ
Member
Member
Posts: 2646
Joined: Sun Oct 22, 2006 7:01 am
Location: Devon, UK
Contact:

Post by 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
jal
Member
Member
Posts: 1385
Joined: Wed Oct 31, 2007 9:09 am

Post by jal »

AJ wrote:The problem is your question is extremely general. You seem to want a PCI device listing.
Given that he wants to display the model of his RAM chips, I guess he wants even more than that. I don't think it's even possible to detect that without very chipset specific driver code?


JAL
User avatar
zaleschiemilgabriel
Member
Member
Posts: 232
Joined: Mon Feb 04, 2008 3:58 am

Post by zaleschiemilgabriel »

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... :D
If you have any links to info about how ACPI relates to PCI, other than the main ACPI spec...

Thanks,
Gabriel
User avatar
Combuster
Member
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:

Post by Combuster »

It isn't. Modern computers still come with legacy components. think, PIT, PIC, KBC, RTC. I haven't seen IOAPICs in the PCI listing either.

Then there's everything connected down an USB bus. You can see the controller on PCI, but not the devices connected.
"Certainly avoid yourself. He is a newbie and might not realize it. You'll hate his code deeply a few years down the road." - Sortie
[ My OS ] [ VDisk/SFS ]
User avatar
ucosty
Member
Member
Posts: 271
Joined: Tue Aug 08, 2006 7:43 am
Location: Sydney, Australia

Post by ucosty »

Have a look at this
http://en.wikipedia.org/wiki/Desktop_Ma ... _Interface

It is part of the SMBIOS spec.
The cake is a lie | rackbits.com
Post Reply