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?
kernal bypassing
Re: kernal bypassing
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.
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.
*post*
Re: kernal bypassing
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
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
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.
Sorry-I'm new to this stuff.
Re: kernal bypassing
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.
The operating system can control the ways to get into kernel mode, too.
*post*
Re: kernal bypassing
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)