Jump to content

course, tutorial... to learn programming low level

- - - - -

  • Please log in to reply
4 replies to this topic

#1
IlikeProgramming

IlikeProgramming

    Newbie

  • Members
  • PipPip
  • 11 posts
Hi Friends!!! I'm very very interested in learn programming hardware devices, and low level. I've studied computer science and I know C/C++ and Assembly (specially in Linux), and I like it a lot, but I would like to learn more. Do you know a course, tutorial in Web to learn programming hardware devices in Linux?

thank you very much!

#2
fayyazlodhi

fayyazlodhi

    Programming Expert

  • Members
  • PipPipPipPipPipPip
  • 403 posts
Linux is the easiest and best source to learn and study with. In linux when you add a device driver or similar thing a usual way to do this is to write a loadable kernel module. Here is a good tutorial doing that which goes deep into code as well as contains a very good conceptual explanation.

Writing Your Own Loadable Kernel Module
Linux Loadable Kernel Module HOWTO

Alternately any device driver tutorial is great though there would be much in common to LKM since drivers are often written that way

#3
IlikeProgramming

IlikeProgramming

    Newbie

  • Members
  • PipPip
  • 11 posts
Hi fayyazlodhi!! Thank you very much, it was more or less what i was searching for. But first, maybe I would like to study in depth how a computer works in the lowest level. Do you recommend me any book for this topic??

Thank you very much!!!

#4
fayyazlodhi

fayyazlodhi

    Programming Expert

  • Members
  • PipPipPipPipPipPip
  • 403 posts
I am not sure i understand your existing level of knowledge. You mentioned you have studied computer science and you know c/c++ and assembly - right?

No matter how trivial - you should have had a basic concept of how computer works and how programs work. Every other details specific to Linux or internals are discussed in the book i referred earlier. The following one might also be helpful.

Understanding the Linux Kernel - O'Reilly Media

The question you posed seemed like asking for an "Introduction to Computer Science" or "How stuff works - Computer" thing which i am sure is what you would know already.

A programmer needs to understand Operating system and it's working principle as seen by a programmer which is covered in above books or at max any C book such as Robert La fore or Yashwant Kanetkar. Further conceptual details are in Operating systems books such as the one by william stallings, andrew tenanbaum or silbershot.

For those interested in developing OS of their Expanded Main Page - OSDev Wiki is a very good site.

For educational purpose Minux is an OS written by Tenanbaum which is much more simpler than a real world OS and yet is very practical. The MINIX 3 Operating System

If you were referring to further deep hardware knowledge as studied in Computer Organization and Architecture or Digital logic and design course, although knowing that helps a lot but to a large extent is more than required for learning system programming. Again that is also taught in academics CS course and that discusses how a computer works at the lowest (binary) level.

Let me know if i got off track or something

#5
IlikeProgramming

IlikeProgramming

    Newbie

  • Members
  • PipPip
  • 11 posts
Hi fayyazlodhi!! Yes, I've studied computer science, but I took a specialization in high level languages (JAVA, C/C++ and php), and a little of assembly and low level computers, and I would like to go in depth of this low level. That's why i asked you for some book about how a computers works and programming low level.

Thank you very much!!!




1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users