Derek Johnson w3 journal

How does the motherboard manage memory?

Partitioning divides the available memory into sections. This allows for multiple programs to be run at the same time. Microsoft Word may be using one part of memory storage while Chrome is using another allowing both to run at the same time.

Fixed partitioning serves the same function as normal partitioning however the amount of memory an application can access is fixed. The memory can’t be divided dynamically depending on the programs running.

Virtual memory essentially gives an application the illusion of having unlimited memory to work with. However the memory is most likely fragmented and the application’s data can overflow to the actual hard drive or solid state drive. The CPU and OS manages how virtual memory is used by applications.

Paging divides the memory equally and the program equally. This allows for any page to fit any frame of the memory. Only part of the program will be loaded if it requires more memory offered from the page. If the program tries to access pages that are not loaded onto the memory it throws an error. The operating system manages the memory if an error occurs. The os does the following

β€œβ€’ Determine the location of the data in auxiliary storage.

β€’ Obtain an empty page frame in RAM to use as a container for the data.

β€’ Load the requested data into the available page frame.

β€’ Update the Page Table to show the new data.

β€’ Return control to the program, transparently retrying the instruction that caused

the page fault.”

To properly manage memory the MMU must be able to relocate applications or parts of applications, protect the different application processes so that interference does not occur, sharing which allows multiple programs to access the same copy of a program instead of having useless copies which take up memory space, and organization which determines what programs have access to what memory location and size.

Processes can be viewed as executable functions that the CPU carries out. The operating system works with the CPU to manage processes. It can delete processes, pause processes, resume processes, etc.

β€œ β€’ Process creation

β€’ Termination of the process

β€’ Controlling the progress of the process

β€’ Process Scheduling

β€’ Dispatching

β€’ Interrupt handling / Exceptional handling

β€’ Switching between the processes

β€’ Process synchronization

β€’ Interprocess communication support

β€’ Management of Process Control Blocks.”

An active process can be in different stages such as executing which means it is running and using the cpu, waiting which means it is waiting for CPU resources to be freed up, Blocked means it is waiting on an input to arrive or an output to be sent, suspended which means the operating system has not put the process onto the cue, and ready which means once the it is given time to use the cpu it will execute.

PCB switch frames

β€œProcess state, which may be new, ready, running, waiting or halted;

β€’ Process number, each process is identified by its process number, called process ID;

β€’ Program counter, which indicates the address of the next instruction to be executed

for this process;

β€’ CPU registers, which vary in number and type, depending on the concrete

microprocessor architecture;

β€’ Memory management information, which include base and bounds registers or page

table;

β€’ I/O status information, composed I/O requests, I/O devices allocated to this process,

a list of open files and so on;

β€’ Processor scheduling information, which includes process priority, pointers to

scheduling queues and any other scheduling parameters;

β€’ List of open files. β€œ

Last updated