--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/Adaptation/GUID-DC8D3736-EDCF-54CB-A614-2AAC4664F1CA.dita Fri Oct 15 14:32:18 2010 +0100
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License
+"Eclipse Public License v1.0" which accompanies this distribution,
+and is available at the URL "http://www.eclipse.org/legal/epl-v10.html". -->
+<!-- Initial Contributors:
+ Nokia Corporation - initial contribution.
+Contributors:
+-->
+<!DOCTYPE concept
+ PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-DC8D3736-EDCF-54CB-A614-2AAC4664F1CA" xml:lang="en"><title>Kernel-Side Services</title><shortdesc>This section describes how device drivers can use the services
+that the Kernel provides. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
+<p>The section begins with a discussion of the APIs for fundamental types
+such as buffers and arrays. Kernel side programs cannot use all of the same
+APIs as user-side programs, so you need to be aware of these restrictions,
+and the alternative APIs provided by the Kernel. </p>
+<p>The guide then discusses a number of idioms for communicating between different
+threads and processes, including Publish and Subscribe, Kernel-side messages,
+shared chunks, and environment slots. </p>
+<p>Some more advanced programming issues are then discussed, including how
+to design a device driver to behave correctly in a demand paged OS environment,
+in which client programs may not be continuously in memory, and how to integrate
+a device driver with system wide power resource management. </p>
+<p>The section ends with a discussion of how Kernel APIs encourage safe programming
+with the use of precondition checks. </p>
+</conbody></concept>
\ No newline at end of file