Now there are a few things that define file management, they are as follows:
1) To Check the validity of a file
2) I/O support for devices
3) Minimize / eliminate potential lost / destroyed data
4) I/O support for multiple users
5) Provide standard routines for file transfer , I/O work
Now the needs covered by file management for users are as follows:
1) Each user needs to access to create, delete, read, write, and modify a file.
2) Each user must have limited to no access to others files.
3) Each user must be able to control what others can do with their files.
4) Each user must have the ability to transfer data between each other.
5) Each user must be able to back up and recover their files.
6) Each user must be able to access their files by name, not the hidden numerical …show more content…
Knowing the memory address of such critical files allowed malicious access at the kernel level and allowed unscrupulous program writes to take advantage of the known locations. Microsoft has implemented new memory access technology that includes Dynamic Allocation of Kernel Virtual Address Space (including paged and non-paged pools), kernel-mode stack jumping, and Address Space Layout Randomization. These changes reduce the ability of malicious program developers to take advantage of known address …show more content…
“Memory management services in Linux are built on a programming foundation that includes a peripheral device called Memory Management Unit (MMU). MMU translates physical memory addresses to linear addresses used by the operating system, and requests a page fault interrupt, when the CPU tries to access memory that it is not entitled to”. (www.codeproject.com) In Linux you can use the subsystem of allocating and releasing memory. The subsystem consist of 3 layers of which are the Slab Allocator, the zone Allocator and the buddy allocator. In Linux, you can also use Heap manager or create your own heap manager on top of the Kernel system calls. One thing I do like over the windows program is the Out-of-memory killer, or OOM Killer. The OOM killer has the task to try and free some memory for the user, killing other processes and releasing their memory or it will kill your process if the system feels your process is not a priority at the time. This can save a lot of headache Vs. having to use a Task manager to kill background processes just to complete another. This OOM killer is a highly valuable tool to have if you are in a memory crunch and need the available space freed up, but if you do have a process that you wouldn’t want to lose data on, it’s best to close it yourself