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)