Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 21 Jun 2007 17:28:21 +0800
From:      "Mark Jayson Alvarez" <mjalvarez@fastmail.fm>
To:        freebsd-drivers@freebsd.org
Subject:   Where software meets hardware..
Message-ID:  <1182418101.6802.1196302545@webmail.messagingengine.com>

next in thread | raw e-mail | index | archive | help
Hi,

Good day! I could have sent this to questions@freebsd.org but I know it
will get treated
as irrelevant topic as well. Just trying my luck here though. Those of
you who've been
inspired with my curiosity may email me directly. :-) Just f***ing
google it advices are also
welcome.

I have a cousin who's taking up a programming course. He doesn't have
background with
programming nor an in depth understanding of how the computer works.
I tried explaining him that it all started with abacus, and that people
wanted to use
something that could make their arithmetic life easier and that Charles
Babbage tried
automating this manual calculator with his steam engine or some sort...
and that... oh,
forget about these craps.=20

This is how my programming teacher explains how a program gets executed.
First you compile
it into a machine readable code, then the operating system writes it in
the memory, and finally
the CPU fetches it and it finally gets toasted by the electricity
flowing on the CPU's surface.
It doesn't make things clearer though.:-(

Here's how I understand it: Suppose I'm writing this email. If I press a
letter in the keyboard,=20
it generates an tiny electric current which eventually translated to
interrupt. Next the keyboard driver
picks this up and tell the operating to talk to the monitor driver and
output the letter in my=20
monitor..

I really don't get it. Can you in a very simple sentence explain to me
how and where a software program
meets the hardware? Does it have anything to do with the bios? Wiki
entry for it doesn't say much about
this. It only says, this is how things get started when you power on
your pc. The bios initializes all
your computer parts, then call the boot loader and so on and so forth..

I really wanted to get down really really low. Someone told me to read a
driver source code in C but if I compile it, it will still be translated
into assembly code or something. Still the operating system reads that
code and the cycle goes on again. I am no programmer by profession but I
do know how to program. I told my cousin, that someday he will be a real
programmer and that even if he will be dealing only with java, html,
animation and all sorts of high level programming stuffs, in the spirit
of open source (and freebsd of course), it's better that he knows
exactly how a program interacts with the physical computer.


Thanks for the time.
I hope this one doesn't bounce back. :-)



--=20
  Mark Jayson Alvarez
  mjalvarez@fastmail.fm

--=20
http://www.fastmail.fm - Same, same, but different=85




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1182418101.6802.1196302545>