Page 1 of 1

kernal bypassing

Posted: Sun Nov 06, 2005 12:00 am
by 10000001
Hi all!

I just have a quick question::

How does an application bypass the kernel, and what languages allow it to do so? Right now I am guessing whatever is supported by the CPU-like assembly, etc.??

And what if I didn't want an application to do so? Could I prevent this from happening?

Re: kernal bypassing

Posted: Sun Nov 06, 2005 12:00 am
by Legend
On an Intel-CPU, in general you prevent the application from bypassing the kernel by using the protected mode.

Assembly allows it to bypass it in real mode easily, C can write to any memory and mostly has functions to manipulate I/O ports, similiar to basically all languages.

However, there is a class of safe languages, like Java and C#. These allow verification of the code and allow protection by other methods.

Re: kernal bypassing

Posted: Mon Nov 07, 2005 12:00 am
by JAAman
basically, if the application CAN bypass the OS, in ANY language, then the OS is not doing its job:

basically the job of the OS is to STOP programs from directly accessing hardware, and to make it think it has control of the computer when it really doesn't

Re: kernal bypassing

Posted: Mon Nov 07, 2005 12:00 am
by 10000001
So basically the way to do that is through whatever handles the open/run operations in the OS?

Sorry-I'm new to this stuff.

Re: kernal bypassing

Posted: Mon Nov 07, 2005 12:00 am
by Legend
The CPU supports the OS at keeping a program under control by providing different modes of operation, user-mode for the application and supervisor-(or kernel-)mode for the operating system.

The operating system can control the ways to get into kernel mode, too.

Re: kernal bypassing

Posted: Tue Nov 08, 2005 12:00 am
by JAAman
you could create ways to bypass the OS within your OS, but its usually not considered a good idea, since it will cause bugs in the app to crash the computer, and allow malicious programs full controll of the system (and the ability to destroy your computer)