- An
attempt is made for accessing the page.
- If
page is present in the memory the usual instructions are followed.
- If
page is not there i.e., is invalid then a page fault is generated.
- Memory
reference to a location in the virtual memory is checked if it is valid or
not. If it’s an illegal memory access then the process is terminated. If
not the requested page has to be paged in.
- The
disk operations are scheduled for reading the requested page in to the
physical memory.
- Restarting
the instruction that raised the page fault trap.
Tuesday, June 25, 2013
Explain about demand paging and page replacements
Posted by
Sunflower
at
6/25/2013 11:49:00 AM
0
comments
Labels: Algorithms, Data, Demand Paging, Logical, Management, Memory, Operating System, Page Replacement, Page table, pages, Paging, Physical, Process, Request, Strategy, Systems, Techniques, Virtual Memory
![]() | Subscribe by Email |
|
Monday, June 24, 2013
Explain the page replacement algorithms - FIFO, LRU, and Optimal
Posted by
Sunflower
at
6/24/2013 11:30:00 AM
0
comments
Labels: Algorithms, Disk, Entries, FIFO, Hardware, Implementation, Items, LRU, Memory, Operating System, Optimal, OS, Page Fault, Page Replacement, pages, Paging, Queue, Replacement, Software, Swap
![]() | Subscribe by Email |
|
Friday, June 21, 2013
Explain about the Paged Memory and Segmentation techniques?
What is Paging?
- Determining the location of
the requested data from the auxiliary storage.
- Obtaining a page frame in
the main memory that is empty to be used for storing the requested data.
- Loading the data requested
in to the empty page obtained above.
- Making updates to the page
table so that new data is only available.
- Returning the control
interrupting program and retrying to execute the same instruction that
caused the fault.
What is Segmentation?
Posted by
Sunflower
at
6/21/2013 08:51:00 PM
0
comments
Labels: Address, Contiguous, Control, Data, Design, Flags, Memory, Modules, Object, Operating System, Page Fault, Paged, Paging, Primary, Secondary, Segmentation, Segments, System, Techniques, Virtual
![]() | Subscribe by Email |
|
Friday, April 26, 2013
What is the cause of thrashing? How does the system detect thrashing? Once it detects thrashing, what can the system do to eliminate this problem?
How can a system handle thrashing?
Posted by
Sunflower
at
4/26/2013 03:32:00 PM
0
comments
Labels: Application, Causes, Communication, CPU, Crash, Data, Detect, Instruction, Memory, OS, Page Fault, pages, Paging, Performance, Physical, program, System, Techniques, Thrashing, Utilization
![]() | Subscribe by Email |
|
Friday, April 19, 2013
What is Paging? Why it is used?
Posted by
Sunflower
at
4/19/2013 08:34:00 PM
0
comments
Labels: Address, Application, Data, Devices, Errors, Faults, Frames, Memory, Operating System, Page, Page Fault, Paging, Physical, Primary, Secondary, Storage, System, Techniques, Uses, Virtual
![]() | Subscribe by Email |
|
Friday, January 22, 2010
Demand Segmentation
Although demand paging is considered the most efficient virtual memory system, a significant amount of hardware is required to implement it. When this hardware is lacking, less efficient means are sometimes devised to provide virtual memory. A case in point is demand segmentation.
Operating system allocates memory in segments, rather than in pages. It keeps track of these segments through segment descriptors, which include information about the segment's size, protections, and location. A process does not need to have all its segments in memory to execute. Instead, the segment descriptor contains a valid bit for each segment to indicate whether the segment is currently in memory. If the segment is in memory, the access continues unhindered. If the segment is not in memory, a trap to the operating system occurs. Operating system then swaps out a segment to secondary storage, and brings in the entire requested segment. The interrupted instruction then continues.
To determine which segment to replace in case of segment fault, operating system uses another bit in the segment descriptor called an accessed bit. It is set whenever any byte in the segment is either read or written. A queue is kept containing an entry for each segment in memory. After every time slice, the operating system places at the head of the queue any segments with a set access bit.
It then clears all access bits. In this way, the queue stays ordered with the most recently used segments at the head.
Demand segmentation requires considerable overhead. Thus, demand segmentation is not an optimal means for making best use of the resources of a computer system.
Posted by
Sunflower
at
1/22/2010 09:13:00 PM
0
comments
Labels: CPU, Demand Segmentation, Memory, Operating Systems, pages, Paging, Process, Segmentation, Virtual Memory
![]() | Subscribe by Email |
|
Monday, January 11, 2010
Performance of Demand Paging
Advantages of Demand Paging :
* Only loads pages that are demanded by the executing process.
* As there is more space in main memory, more processes can be loaded reducing context switching time which utilizes large amounts of resources.
* Less loading latency occurs at program start-up, as less information is accessed from secondary storage and less information is brought into main memory.
* Does not need extra hardware support than what paging needs, since protection fault can be used to get page fault.
Disadvantages of Demand Paging :
* Individual programs face extra latency when they access a page for the first time. So demand paging may have lower performance than anticipatory paging algorithms such as pre-paging.
* Programs running on low-cost, low-power embedded systems may not have a memory management unit that supports page replacement.
* Memory management with page replacement algorithms becomes slightly more complex.
* Possible security risks, including vulnerability to timing attacks.
Performance Of Demand Paging :
Let p be the probability of a page fault (0<=p<=1). We would expect p to be close to zero i.e. there will be only few page faults. The effective access time is then :
effective access time = (1-p) * ma + p * page fault time
To compute the effective access time, we must know how much time is needed to service a page fault. A page fault causes the following sequence to occur :
- Trap to the operating system.
- Save the user registers and process state.
- Determine that the interrupt was a page fault.
- Check that the page reference was legal and determine the location of the page on the disk.
- Issue a read from the disk to a free frame.
- While waiting, allocate the CPU to some other user.
- Interrupt from the disk.
- Save the registers and process state for the other user.
- Determine that the interrupt was from the disk.
- Correct the page table and other tables to show that the desired page is now in memory.
- Wait for the CPU to be allocated to this process again.
- Restore the user registers, process state, and new page table, then resume interrupted instruction.
Posted by
Sunflower
at
1/11/2010 11:08:00 PM
0
comments
Labels: Advantages, CPU, Demand Paging, Disadvantages, Memory, Page, Paging, Process
![]() | Subscribe by Email |
|