linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Jeff Merkey <linux.mdb@gmail.com>
To: Mahmood Naderan <mahmood.nt@gmail.com>
Cc: linux-kernel@vger.kernel.org
Subject: Re: Understanding IO architecture
Date: Fri, 15 Jan 2016 09:34:45 -0700	[thread overview]
Message-ID: <CAO6TR8UoFyThHd_0F1Wxs+F3GbU_rknGxXLLTEdHWzB5OEk=Gg@mail.gmail.com> (raw)
In-Reply-To: <CADa2P2V_XkHQH-BqL8DSmpNKotckcnxz-ZeSC==axb5ANEYTxQ@mail.gmail.com>

On 1/15/16, Mahmood Naderan <mahmood.nt@gmail.com> wrote:
> What is the good starting point to understand linux kernel? I know you
> are going to say Understanding the Linux Kernel, but that is for 2005!
> and kernel 2.6.
>
> We know that currently, the latest version is 4.4 and the version
> number updates quickly. So, where can I find the core of IO
> architecture, page cache, block layer and ... for the most stable
> architecture and not the version number?
>
>
> Regards,
> Mahmood
>

Man, it's huge and linux has evolved into a giant jump table these
days.  I started programming on it in the 2.2 days and it was fairly
sophisticated them.  You could start
with reviewing what's in the /kernel directory.  For I/O study the bio
architecture.  FOr block layer start in drivers/block.

Your best bet is to clone it, get yourself a good kernel debugger to
step through code and explore how things work.

start by cloning it so you have your own copy.  Download and install
git then clone Linus' tree.

git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git

Then you can also get the linux-stable tree which has all the stable
versions of Linux

git clone https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git

if you need a good kernel debugger, try this one

http://jeffmerkey.github.io

Jeff

  parent reply	other threads:[~2016-01-15 16:34 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-01-15  9:00 Understanding IO architecture Mahmood Naderan
2016-01-15 10:07 ` Daniel Baluta
2016-01-15 16:34 ` Jeff Merkey [this message]
2016-01-15 16:35   ` Jeff Merkey
2016-01-15 16:47     ` Jeff Merkey
2016-01-15 21:38       ` Mahmood Naderan

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAO6TR8UoFyThHd_0F1Wxs+F3GbU_rknGxXLLTEdHWzB5OEk=Gg@mail.gmail.com' \
    --to=linux.mdb@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mahmood.nt@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).