Click here to Skip to main content
15,889,383 members
Home / Discussions / Hardware & Devices
   

Hardware & Devices

 
GeneralRe: Kernal Mode VS User Mode Pin
JudyL_MD4-Feb-08 3:01
JudyL_MD4-Feb-08 3:01 
GeneralRe: Kernal Mode VS User Mode Pin
ForNow4-Feb-08 13:12
ForNow4-Feb-08 13:12 
GeneralRe: Kernal Mode VS User Mode Pin
JudyL_MD5-Feb-08 2:12
JudyL_MD5-Feb-08 2:12 
GeneralRe: Kernal Mode VS User Mode Pin
ForNow5-Feb-08 2:35
ForNow5-Feb-08 2:35 
GeneralRe: Kernal Mode VS User Mode Pin
JudyL_MD5-Feb-08 3:10
JudyL_MD5-Feb-08 3:10 
GeneralRe: Kernal Mode VS User Mode Pin
ForNow5-Feb-08 13:21
ForNow5-Feb-08 13:21 
GeneralRe: Kernal Mode VS User Mode Pin
JudyL_MD6-Feb-08 2:23
JudyL_MD6-Feb-08 2:23 
GeneralRe: Kernal Mode VS User Mode Pin
Mike Dimmick6-Feb-08 5:51
Mike Dimmick6-Feb-08 5:51 
JudyL_FL wrote:
A driver on CE is basically a DLL that has some special entry points and that the CE OS loads and runs as a driver, in kernel mode.


Actually they run in user mode (on CE 5.0 and earlier). Drivers can use the VirtualCopy API to map physical addresses into their virtual address space. I'm not sure how I/O space is handled, but only x86 processors implement that - everything else uses memory-mapped I/O. CE 5.0 really has a faithful implementation of the microkernel model - scheduling and memory management are handled in the kernel, but everything else, including file systems (FILESYS.EXE) and drivers (DEVICE.EXE), not to mention GDI and windowing (GWES.EXE) happens in user mode. They came up with a very cheap inter-process call model which works with the memory model - your thread actually migrates into the called process (effectively) to perform the call.

CE 5.0 has really hit the buffers in terms of virtual address space per process, though. 32MB per process just isn't enough, particularly when the device has 64MB or 128MB of RAM, and a 32 process cap is also quite small (in practice fewer than 30 as the first few slots are used by filesys, device, gwes etc). Windows Mobile particularly sucks up all of slot 1 for eXecute-In-Place DLLs and overflows into slot 0, on one device leaving about 12MB of virtual address space per process. That isn't fun when the device driver thread stacks in device.exe occupy the rest of the virtual address space for the process and you can't load any more drivers because there's no VA space left.

CE 6.0 has a new macrokernel which moves some device, file system and GWES code into kernel mode, and reverts to the desktop-style overlapping 2GB virtual address space model. SetKMode has been removed from CE 6.0.


DoEvents: Generating unexpected recursion since 1991

GeneralRe: Kernal Mode VS User Mode Pin
JudyL_MD6-Feb-08 7:20
JudyL_MD6-Feb-08 7:20 
GeneralRe: Kernal Mode VS User Mode Pin
ForNow6-Feb-08 13:25
ForNow6-Feb-08 13:25 
GeneralRe: Kernal Mode VS User Mode Pin
JudyL_MD7-Feb-08 2:12
JudyL_MD7-Feb-08 2:12 
GeneralRe: Kernal Mode VS User Mode Pin
ForNow7-Feb-08 2:25
ForNow7-Feb-08 2:25 
GeneralRe: Kernal Mode VS User Mode Pin
fat_boy4-Feb-08 5:29
fat_boy4-Feb-08 5:29 
GeneralRe: Kernal Mode VS User Mode Pin
Dan Neely4-Feb-08 5:46
Dan Neely4-Feb-08 5:46 
GeneralRe: Kernal Mode VS User Mode Pin
fat_boy4-Feb-08 7:03
fat_boy4-Feb-08 7:03 
GeneralRe: Kernal Mode VS User Mode Pin
Mike Dimmick5-Feb-08 7:32
Mike Dimmick5-Feb-08 7:32 
GeneralRe: Kernal Mode VS User Mode Pin
ForNow5-Feb-08 13:17
ForNow5-Feb-08 13:17 
GeneralRe: Kernal Mode VS User Mode Pin
Mike Dimmick5-Feb-08 13:53
Mike Dimmick5-Feb-08 13:53 
GeneralRe: Kernal Mode VS User Mode Pin
ForNow5-Feb-08 16:05
ForNow5-Feb-08 16:05 
GeneralRe: Kernal Mode VS User Mode Pin
Mike Dimmick6-Feb-08 0:39
Mike Dimmick6-Feb-08 0:39 
GeneralRe: Kernal Mode VS User Mode Pin
ForNow6-Feb-08 1:40
ForNow6-Feb-08 1:40 
GeneralExtending a network Pin
Malcolm Smart3-Feb-08 5:25
Malcolm Smart3-Feb-08 5:25 
GeneralRe: Extending a network Pin
Johpoke3-Feb-08 5:53
Johpoke3-Feb-08 5:53 
GeneralRe: Extending a network Pin
Sebastian Schneider4-Feb-08 2:54
Sebastian Schneider4-Feb-08 2:54 
QuestionHow to get the device instance id of a disk or volume? Pin
Hemant kulkarni31-Jan-08 5:56
Hemant kulkarni31-Jan-08 5:56 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.