How the OS ensure security? [closed] - c

Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 8 years ago.
Improve this question
In the most low-level layer (0's and 1's) how the operating system ensure security? When you open an app the app instructions goes directly to the processor and the instructions are executed. How the OS interacts with the software for ensuring security?
Thnaks in advance.

In modern platforms, it's basically about execution modes on the processors. That's it: there are some instructions than can only be run in RING 0, and the kernel itself is the only process allowed to run in this mode. Take a look at these two WIKI entries.

Related

Need test for asynchronous I/O [closed]

Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 2 years ago.
Improve this question
I am new to asynchronous I/O. I am trying to get it to work in C and Fortran codes on a Linux system. Based on what I can find out about the platform's somewhat outdated Lustre file system, the various aio routines are supported, after a fashion, but it is not clear that they can execute in true asynchronous fashion. Is there some simple code to test whether true asynchronous I/O is occurring in the execution of a code?

Programmatic SLI and CrossFireX Detection [closed]

Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 5 years ago.
Improve this question
Using C how can I detect the currently installed discrete GPUs and if they are currently in CrossFireX or SLI. I am using windows 7 and openGL. I would like to discover this information so that in my game I can support Alternate Frame Rendering more efficiently.
You need to use specific extensions, for each vendor. For CrossFire, you would use WGL_AMD_gpu_association, and specifically wglGetGPUIDsAMD and wglGetGPUInfoAMD to get information about the different GPUs. For Nvidia SLI, you would use WGL_NV_gpu_affinity, and specifically wglEnumGpusNV and wglEnumGpuDevicesNV to get information about the different GPUs.
To actually utilize multi-gpu, you will also need to create your contexts with the functions within those two extensions as well.

What techniques can be used to reduce stack memory usage? [closed]

Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 6 years ago.
Improve this question
I am programming for an embedded system, where resources are at premium cost.
A few techniques that I am aware of are -
Remove/Reduce unused variable/memory.
Use macros for small/inline functions.
Is there anything else that I can use for this? Also, please correct if I am wrong.
Please Note: I am not asking exclusively about low level programming.
Let's say I am bound to use some particular amount of stack memory only. My program doesn't use recursion.

Developing a custom filesystem for an operating system [closed]

Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 6 years ago.
Improve this question
I am developing an operating system using C, Assembler and the GCC Cross Compiler. I have already implemented a working kernel that prints to the screen and allows the user to type in some simple commands. I have already looked into some file systems such as FAT32 and LFS. What other options do I have about implementing my very own filesystem?
There's always Practical File System Design with the Be File System (PDF).

how to implement a user space multi-thread vm e.g. Erlang runtime [closed]

Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 8 years ago.
Improve this question
How does the Erlang runtime implement a user-space multi-threaded mechanism on UNIX-like systems?
Is it implemented using something like getcontext(2) or longjump(3)?
Any related documentation would be much appreciated.
Each Erlang process is just a struct with a heap and a stack in it. So switching process is just a matter of using another struct in an queue. I think this paper describes it nicely.

Resources