From: daniel.baluta@gmail.com (Daniel Baluta)
To: kernelnewbies@lists.kernelnewbies.org
Subject: Questions about preemption and concurrency
Date: Fri, 27 May 2011 16:21:34 +0300 [thread overview]
Message-ID: <BANLkTikHUwcf1Ljc7JNPcPBi=nu0L2tFCQ@mail.gmail.com> (raw)
In-Reply-To: <308552.44045.qm@web137608.mail.in.yahoo.com>
On Fri, May 27, 2011 at 2:44 PM, Naman shekhar Mishra
<namanshekharmishra2@yahoo.in> wrote:
> In Operating System Concepts 6th ed, chapter 20:
> "Kernel code can thus assume that it will never be preempted by another
> process and that no special care must be
> taken to protect critical sections. The only requirement is that critical
> sections do not contain references to user memory
> or waits for I/O completions"
This is available only if the kernel is non-preemptive. If the kernel is
preemptive than a process executing in kernel, can be preempted
by another process.
> Why us that the process cannot wait for I/O to complete in critical
> sections?
Because deadlocks may sneak in ([1]).
> My another question is: While developing kernel modules (for kernels before
> 2.6), do we need to keep concurrency in mind?
I guess yes. Even if the kernel is non-preemptive, you may want to consider SMP.
> Because the modules run as part of the kernel and no two processes can run
> in the kernel at the same time? Or my question is wrong since they CAN run
> in the kernel at the same time (like when one process waits for I/O
> completion and another is scheduled to run which then makes a system call)?
>
> Please excuse me for the multiple nested question since I didn't quite know
> how to put it.
HTH,
Daniel.
[1] https://lwn.net/Articles/274695/
next prev parent reply other threads:[~2011-05-27 13:21 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-05-27 11:44 Questions about preemption and concurrency Naman shekhar Mishra
2011-05-27 13:21 ` Daniel Baluta [this message]
2011-05-27 15:04 ` Jonathan Neuschäfer
2011-05-27 16:09 ` Michael Blizek
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='BANLkTikHUwcf1Ljc7JNPcPBi=nu0L2tFCQ@mail.gmail.com' \
--to=daniel.baluta@gmail.com \
--cc=kernelnewbies@lists.kernelnewbies.org \
/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).