0% found this document useful (0 votes)
72 views6 pages

Research On Operating Systems

This document summarizes research on operating systems topics related to caches, thrashing, cache thrashing, segmentation, and page segmentation. It defines caches and discusses cache hits and misses. It also defines thrashing and discusses how it occurs in virtual memory systems. Additionally, it defines cache thrashing and memory segmentation with and without paging, comparing how each approach implements virtual memory.

Uploaded by

Patrick Ramos
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
72 views6 pages

Research On Operating Systems

This document summarizes research on operating systems topics related to caches, thrashing, cache thrashing, segmentation, and page segmentation. It defines caches and discusses cache hits and misses. It also defines thrashing and discusses how it occurs in virtual memory systems. Additionally, it defines cache thrashing and memory segmentation with and without paging, comparing how each approach implements virtual memory.

Uploaded by

Patrick Ramos
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 6

RESEARCH ON OPERATING SYSTEMS

Topics:

Cache

Thrashing

Cache Thrashing

Segmentation

Page Segmentation

Submitted by: Dann Patrick G. Ramos

Submitted to: Prof. Maricar F. Francisco


Cache

Cache is a hardware or software component that stores data so future requests for that data

can be served faster; the data stored in a cache might be the result of an earlier computation, or the

duplicate of data stored elsewhere.

A cache hit occurs when the requested data can be found in a cache, while a cache miss

occurs when it cannot. Cache hits are served by reading data from the cache, which is faster than

re-computing a result or reading from a slower data store; thus, the more requests can be served

from the cache, the faster the system performs.


Thrashing

Thrashing occurs when a computer's virtual memory subsystem is in a constant state of

paging, rapidly exchanging data in memory for data on disk, to the exclusion of most application-

level processing. This causes the performance of the computer to degrade or collapse. The situation

may continue indefinitely until the underlying cause is addressed.

The term is also used for various similar phenomena, particularly movement between other

levels of the memory hierarchy, where a process progresses slowly because significant time is

being spent acquiring resources.


Cache thrashing

Where main memory is accessed in a pattern that leads to multiple main memory locations

competing for the same cache lines, resulting in excessive cache misses. This is most problematic

for caches that have low associativity.

Memory Segmentation

Memory segmentation is the division of a computer's primary memory into segments or

sections. In a computer system using segmentation, a reference to a memory location includes a

value that identifies a segment and an offset (memory location) within that segment. Segments or

sections are also used in object files of compiled programs when they are linked together into a

program image and when the image is loaded into memory.

Segments correspond to natural divisions of a program such as individual routines or data

tables so segmentation is generally more visible to the programmer than paging alone. Different

segments may be created for different program modules, or for different classes of memory usage

such as code and data segments. Certain segments may be shared between programs.
Segmentation without paging

Associated with each segment is information that indicates where the segment is located in

memory— the segment base. When a program references a memory location the offset is added to

the segment base to generate a physical memory address.

An implementation of virtual memory on a system using segmentation without paging

requires that entire segments be swapped back and forth between main memory and secondary

storage. When a segment is swapped in, the operating system has to allocate enough contiguous

free memory to hold the entire segment. Often memory fragmentation results in there not being

enough contiguous memory even though there may be enough in total.


Segmentation with paging

Instead of an actual memory location the segment information includes the address of a

page table for the segment. When a program references a memory location the offset is translated

to a memory address using the page table. A segment can be extended simply by allocating another

memory page and adding it to the segment's page table.

An implementation of virtual memory on a system using segmentation with paging usually

only moves individual pages back and forth between main memory and secondary storage, similar

to a paged non-segmented system. Pages of the segment can be located anywhere in main memory

and need not be contiguous. This usually results in a reduced amount of input/output between

primary and secondary storage and reduced memory fragmentation.

You might also like