1. Windows Nt vs Unix as an Operating System
Windows NT vs Unix As An Operating System
In the late 1960s a combined project between researchers at MIT, Bell Labs and
General Electric led to the design of a third generation of computer operating system known as
MULTICS (MULTiplexed Information and Computing Service). It was envisaged as a computer
utility, a machine that would support hundreds of simultaneous timesharing users. They envisaged
one huge machine providing computing power for everyone in Boston. The idea that machines as
powerful as their GE–645 would be sold as personal computers costing only a few thousand dollars
only 20 years later would have seemed like science fiction to them.
However MULTICS proved more difficult than imagined to implement and Bell Labs
withdrew ... Show more content on Helpwriting.net ...
Most of these systems were (and still are) neither source nor binary compatible with one another,
and most are hardware specific.
With the emergence of RISC technology and the breakup of AT&T, the UNIX systems category
began to grow significantly during the 1980s. The term "open systems" was coined. Customers
began demanding better portability and interoperability between the many incompatible UNIX
variants. Over the years, a variety of coalitions (e.g. UNIX International) were formed to try to gain
control over and consolidate the UNIX systems category, but their success was always limited.
Gradually, the industry turned to standards as a way of achieving the portability and interoperability
benefits that customers wanted. However, UNIX standards and standards organisations proliferated
(just as vendor coalitions had), resulting in more confusion and aggravation for UNIX customers.
The UNIX systems category is primarily an application–driven systems category, not an operating
systems category. Customers choose an application first–for example, a high–end CAD package–
then find out which different systems it runs on, and select one. The final selection involves a
variety of criteria, such as price/performance, service, and support. Customers generally don't
choose UNIX itself, or which UNIX variant they want. UNIX just comes with the package when
they buy a system to run their chosen
... Get more on HelpWriting.net ...
2.
3. Virtual Memory Management For Operating System Kernels 5
CSG1102
Operating Systems
Joondalup campus
Assignment 1
Memory Management
Tutor: Don Griffiths
Author: Shannon Baker (no. 10353608)
Contents
Virtual Memory with Pages 2
Virtual Memory Management 2
A Shared Virtual Memory System for Parallel Computing 3
Page Placement Algorithms for Large Real–Indexed Caches 3
Virtual Memory in Contemporary Microprocessors 3
Machine–Independent Virtual Memory Management for Paged Uniprocessor and Multiprocessor
Architectures 4
Virtual Memory with Segmentation 4
Segmentation 4
Virtual Memory, Processes, and Sharing in MULTICS 4
Virtual Memory 5
Generic Virtual Memory Management for Operating System Kernels 5
A Fast Translation Method for Paging on Top of Segmentation 5
References 6
Virtual Memory with Pages
Virtual Memory Management
(Deitel, Deitel, & Choffnes, 2004)
A page replacement strategy is used to determine which page to swap when the main memory is full.
There are several page replacement strategies discussed in this book, these methods are known as
4. Random, First–In–First–Out, Least–Recently–Used, Least–Frequently–Used and Not–Used–
Recently. The Random strategy randomly selects a page in main memory for replacement, this is
fast but can cause overhead if it selects a frequently used page. FIFO removes the page that has been
in the memory the longest. LRU removes the page that has been least recently accessed, this is more
efficient than FIFO but causes more system overhead. LFU replaces pages based on
... Get more on HelpWriting.net ...
5.
6. Recovery System Dbms
17. Recovery System in DBMS – Presentation Transcript 1. Chapter 17: Recovery System * Failure
Classification * Storage Structure * Recovery and Atomicity * Log–Based Recovery * Shadow
Paging * Recovery With Concurrent Transactions * Buffer Management * Failure with Loss of
Nonvolatile Storage * Advanced Recovery Techniques * ARIES Recovery Algorithm * Remote
Backup Systems 2. Failure Classification * Transaction failure : * Logical errors : transaction cannot
complete due to some internal error condition * System errors : the database system must terminate
an active transaction due to an error condition (e.g., deadlock) * ... Show more content on
Helpwriting.net ...
* Buffer blocks are the blocks residing temporarily in main memory. * Block movements between
disk and main memory are initiated through the following two operations: * input ( B ) transfers the
physical block B to main memory. * output ( B ) transfers the buffer block B to the disk, and
replaces the appropriate physical block there. * Each transaction T i has its private work–area in
which local copies of all data items accessed and updated by it are kept. * T i 's local copy of a data
item X is called x i . * We assume, for simplicity, that each data item fits in, and is stored inside, a
single block. 8. Data Access (Cont.) * Transaction transfers data items between system buffer blocks
and its private work–area using the following operations : * read ( X ) assigns the value of data item
X to the local variable x i . * write ( X ) assigns the value of local variable x i to data item { X } in
the buffer block. * both these commands may necessitate the issue of an input (B X ) instruction
before the assignment, if the block B X in which X resides is not already in memory. * Transactions
* Perform read ( X ) while accessing X for the first time; * All subsequent accesses are to the local
copy. * After last access, transaction executes write ( X ). * output ( B X ) need not immediately
follow write ( X ).
... Get more on HelpWriting.net ...
7.
8. The Core Of Android Architecture
It is the core of Android architecture that forms the foundation of Android. Linux kernel includes
hardware drivers, power management, memory management, process management and binder
driver, which provides all the fundamental services needed by the system. Although it is called
Linux kernel, it is not a standard Linux kernel; Google has customized it for Android devices. The
main difference between them is the binder driver, which is an Android–specific inter–process
communication mechanism that enables one Android process to call a procedure in another Android
process. Another major difference is the ashmem module, which is an Android version of shared
memory allocator, similar to Portable Operating System Interface (POSIX) shm but with a simpler
file–based API. And also the Power Manager has been enhanced to save battery, which is critical for
smartphones.
Libraries
On top of Linux kernel are Libraries, which provide services written in native language like C and
C++. It contains a long list of middle wares that include SQLite, WebKit, SSL, Media, C runtime
library. SQLite is responsible for database, WebKit is for browser support, SSL is used to secure
network transmissions.
Android Runtime
This layer contains core libraries and Dalvik Virtual Machine (DVM), which are needed to run
Android applications. DVM is the Android implementation of Java Virtual Machine (JVM), which
optimized for mobile apps for less memory consumption and better performance. DVM was
... Get more on HelpWriting.net ...
9.
10. Nt1310 Unit 1 Memory Questions And Answers
1. Memory unit that interconnects flexibly with the CPU is called the
A) Main memory
B) Secondary memory
C) Supplementary memory
D) Index
Ans:A
2. Data transfer among the main memory and the CPU register proceeds place through two registers
namely.......
A) Overall purpose register and MDR
B) accumulator and program security
C) MAR and MDR
D) MAR and Accumulator ans:c 3. An exclusion condition in a computer system produced by an
event outside to the CPU is called........
A) Interrupt
B) Stop
C) Wait
D) Method
Ans: A) Interrupt
4. When the CPU identifies an interrupt, it then protects its .............
A) Earlier State
B) Succeeding State
11. C) Current State
D) Both A and B
Ans: C) Current State
5. A micro program is ... Show more content on Helpwriting.net ...
The channel which switches the multiple requirements and multiplexes the data transmissions from
these devices a byte at a time is recognized as.....
A) multiplexor channel
B) the picker channel
C) block multiplex channel
D) None
Ans : A) multiplexor channel
10. The address planning is done, when the program is primarily loaded is called......
A) active relocation
B) rearrangement
C) static relocation
D) dynamic as well as static relocation
Ans : C) static relocation
11. State whether the resulting statement is true or false for PCI bus.
i) The PCI bus tuns at 33 MHZ and can transmission 32–bits of data (four bytes) each clock tick.
ii) The PCI edge chip may support the video adapter, the EIDE disk supervisor chip and may be two
external adapter cards.
iii) PCI bus distributes the different throughout only on a 32–bit interface that extra parts of the
machine deliver through a 64–bit path.
A) i– True, ii– False, iii–True
B) i– False, ii– True, iii–True
C) i–True, ii–True, iii–False
12. D) None
Ans : C) i–True, ii–True, iii–False
12. The I/O processor has a straight admission to....................... And covers a number of independent
data channels.
A) Main memory
B) secondary memory
C) cache memory
D) None
Ans: A) main
... Get more on HelpWriting.net ...
13.
14. Computer Systems Working Around Us
Today, as a society, we all seem to accept the trend of doing multiple things at the same time
because of the limited amount of time we are given on a daily basis. We find ourselves juggling
many tasks at once; whether it is time with family, work, or even a favorite hobby, we all have to
find time to manage all of these things while maintaining some kind of balance. It can be very
difficult today to find time to do all of these things and one way to make it a lot easier is by using
computers. While scientifically proven that it is impossible for our brains to do multiple tasks at the
same time, we still seem to try. But now that we have so many amazing mini computer systems
working around us, we can now do the multi–tasking that our hearts desire. Our computers can do
many processes simultaneously, allowing us to do many things that we want at the same time. But
how do these computers handle all of these processes and applications at the same time? Well, in
short, computer memory. To describe the way that memory works, I will be explaining a few of the
many components of computer memory and how it is managed. Memory management is the act of
managing computer memory. The topics that I will include in the paper will consist of the following:
Dynamic memory allocation, Virtual memory, memory leaks and stale references, fragmentation,
large memory and cache systems.
The essential requirement of memory management is to provide ways to dynamically allocate
portions of memory to
... Get more on HelpWriting.net ...
15.
16. What Are The Advantages And Disadvantages Of Operating System
INTRODUCTION
The operating system is the most important program that runs on a computer. It is the component of
system software in a program. It manages the computer hardware and software . The operating
system is a component of the system software in a computer system.
Operating system performs the following operations .
*recognizes the input from the keyboard or mouse
*sends output to the monitor
*keeps track of files and directories on the disk
*controls the peripheral devices such as disk drives and printers
Types of operating system 1)single user operating system
It Provides a platform for only one user at a time. They are popularly associated with Desk Top
operating system which run on standalone systems where no ... Show more content on
Helpwriting.net ...
When computers in a group work in cooperation, they form a distributed system.
4)Embedded operating system
This type of operating system is used in embedded computer systems. It is operated on PDAs with
less autonomy. It is compact and efficient to design .
5)Real–time operating system
A real–time operating system is an operating system that guarantees to process events or data within
a certain short amount of time.
6)Library operating system
A library operating system is one in which the services that a typical operating system provides,
such as networking, are provided in the form of libraries.
Structure of operating system
The structure of OS consists of 4 layers:
1)Hardware It is the collection of physical elements that constitutes a computer system like CPU
,I/O devices
... Get more on HelpWriting.net ...
17.
18. Midterm 2 Solutions Essay
CSCI 4061: Introduction to Operating Systems Fall 2008 Mid–Term Exam II Sample Solution
NAME: STUDENT ID: General Instructions: Write your name and student ID clearly above. You
have 1 hour and 15 minutes to write the exam. No extra time will be given. There are 4 questions in
the exam, all with subparts. The questions combine for a maximum of 100 points. You must write
your answers clearly in the space provided for each question. You might use the backside of each
page, as well as any additional sheets as required. If you are using additional space, you must clearly
label the question no. that you are answering. Any loose sheets must have your name and student ID
written clearly. The exam is open book/open notes, however, ... Show more content on
Helpwriting.net ...
The threads run concurrently, and their order of execution or the interleaving of their instructions is
non–deterministic. For each of the following, show how you will modify the code for thread i using
semaphores to achieve the desired execution behavior. Note: For each semaphore that you use, show
where you will add its wait and/or signal operations, and also specify its initial value. Also Note:
You can use pseudocode instead of POSIX/C syntax for your solution. (a) (6 pts) Have each thread
execute its code (both foo and bar) in a mutually exclusive manner. The order in which the threads
execute does not matter. Ans: This is a classical critical section problem, and we basically need a
mutex lock here. Recall that a semaphore with initial value of 1 can be used identically to a mutex
lock (since it allows only 1 thread to be in the critical section at a time). So the solution is as
follows. Declare a global semaphore: semaphore sem=1; Code for thread i: wait(sem); foo(i); bar(i);
signal(sem); (b) (12 pts) Have each thread execute foo in a mutually exclusive manner, but allow
upto 5 of them to execute bar concurrently. The order in which the threads execute does not matter.
Ans: Here, executing foo is again a classical critical section problem, that can be solved similar to
part (a). However, executing bar allows multiple threads to be in the critical section, and this can be
achieved by initializing the semaphore
... Get more on HelpWriting.net ...
19.
20. The Development Of Drivers For Virtual Machines
I. Introduction to the topic This paper will be analyzing the development of drivers for virtual
machines, as well as how virtual machines access host hardware. Topics covered will include what
interest what interest I/O driver virtualization holds for the computer information science field, a
general overview of virtualization, I/O hardware virtualization, and virtualization of I/O drivers.
II. Why the topic is of interest
Due to increased efficiency in Central Processing Units, most computers today are not used to their
full potential. In fact, time interrupt handlers are issued as wait time, thus eating up CPU clock
cycles. Virtualization gave the opportunity for multiple x86 Operating Systems to run on one
machine. As CPU's were ... Show more content on Helpwriting.net ...
CPU, memory and resources are divided amongst the OSes by the Virtual Machine Monitors, where
the Virtual Machine resides. The Virtual Machine is a software abstraction that will behave as
though it is a complete machine, with virtual hardware resources, RAM, and I/O hardware [1].
There are two main approaches to virtualization: hosted architecture, and hypervisor architecture. In
hosted architecture, the encapsulation layer is installed in the form of an application on the
Operating System, while the hypervisor architecture involves the installing of the encapsulation
layer, or hypervisor, on a clean system, which gives direct access to the system's resources [2].
The issue of virtualization is that the virtualized OSes do not have full access to hardware resources
and memory. They expect to execute within a high privilege level. The VMM is run in this high
layer, while the OS is moved to the user level, above the application level. This change in privilege
requires costly saving and restoring, and system calls can lead to some CPU cache loss. Instead, a
translation look–aside buffer, or TLB, is used upon VMM entry and exit to cache physical and
virtual address translation [3]. Because different privilege levels also effect semantics, binary
translation is used to make up for the move. Three possibilities exist to allow virtualization: full
virtualization with binary translation,
... Get more on HelpWriting.net ...
21.
22. Computer Technology And Its Impact On Society Essay
Computer technology has evolved dramatically over the years and has significantly changed society.
As technology advances, it transforms and improves society. Computer–related technology allows
for enhancement of social functions previously difficult or impossible to execute. Computers have
also accelerated productivity. Much less time is required nowadays to research information. Many in
search of jobs and careers have reaped the rewards of computer technology. For too long, finding
information about various careers was very difficult and painstaking, but the computer has
revolutionized the job–search process. People now have access to virtually endless information on
the career of their choice. This has permitted freer access to career opportunities that is appropriate
for their lifestyle. People now can locate thousands of jobs opportunities from their personal
computers. One other component of careers that has been influenced by computers is the
development.
Today's generation could never ever imagine in their wildest dreams about the world, ages before,
when there were no computers or any other technologies. So much we have advanced that now
every information is just a click away and is in your hands 24/7. All this advancement was possible
only with the introduction of a small device called the "Computer". The computer is considered the
most revolutionary invention of the twentieth century and it appears to be as well. The impact of
computer usage can be found in
... Get more on HelpWriting.net ...
23.
24. Nt1310 Unit 3 Memory Segmentation
Question 1 1. Memory segmentation is the division of a computer's primary memory information
into sections. Segments are applied in object records of compiled programs when linked together
into a program image and when the image is loaded into the memory. Segmentation sights a logical
address as a collection of segments. Each segment has a name and length. With the addresses
specifying both the segment name and the offset within the segment. Therefore the user specifies
each address by two quantities: a segment name and an offset. When compared to the paging
scheme, the user specifies a single address, which is partitioned by the hardware into a page number
and an offset, all invisible to the programmer. Memory segmentation is more visible
... Get more on HelpWriting.net ...
25.
26. How Does Code Access The Same Page Frame Within A Page Table?
OS Assignment –7: Udaydeep Thota Student ID: 010025210
8.5 What is the effect of allowing two entries in a page table to point to the same page frame in
memory? Explain how this effect could be used to decrease the amount of time needed to copy a
large amount of memory from one place to another. What effect would updating some byte on the
one page have on the other page?
Ans: If the two entries in a page table point to the same page frame in the memory, then the users
can use the same code or sometimes data in the future. For example if two users wish to use the
same code, then instead of loading the code two times in to the table, one user can load it in to one
table initially and later the other user who would like to use that code access the same memory
location. This will help both the users to fast access to memory, less time consumed for context
switching and hence overall effective memory management is done. The main disadvantage in
adopting to this type of technique is that in case of one user updates the data in the table, then the
changes would be reflected to other user who uses the same memory as well. Hence there may be
inconsistency between the users who wish to modify and those who would not like to modify it.
8.11 Given six memory partitions of 300 KB, 600 KB, 350 KB, 200 KB, 750 KB, and 125 KB (in
order), how would the first–fit, best–fit, and worst–fit algorithms place processes of size 115 KB,
500 KB, 358 KB, 200 KB, and 375 KB (in order)? Rank the
... Get more on HelpWriting.net ...
27.
28. A Novel Memory Forensics Technique For Windows 10
A Novel Memory forensics Technique for Windows 10 Abstract Volatile memory forensics,
henceforth referred to as memory forensics, is a subset of digital forensics, which deals with the
preservation of the contents of memory of a computing device and the subsequent examination of
that memory. The memory of a system typically contains useful runtime information. Such
memories are volatile, causing the contents of memory to rapidly decay once no longer supplied
with power. Using memory forensic techniques, it is possible to extract an image of the system's
memory while it is still running, creating a copy that can be examined at a later point in time, even
after the system has been turned off and the data contained within the original RAM has dissipated.
This paper describe the implementation of the technique that collect volatile artifacts extracted from
the RAM dump and Hibernation file of Windows 10 operating system and shows the extracted data
of various process of the system. Keywords: Windows forensics, Memory forensics, Volatile data,
Volatile digital evidence 1. Introduction The use of memory forensic allows the creation of a
snapshot of a system at a particular point in time, known as a memory image. Memory typically
contains that information which is never written to disk. Memory forensic allows the extraction of
various types of forensically significant information that would have been disappeared when the
system was turned off. Such information can include running
... Get more on HelpWriting.net ...
29.
30. Final Windows vs. linux Essay examples
UNIX/Linux Versus Mac Versus Windows All right, this is what I have learned about file
management in Windows from experience. The first thing I learned is that in modern windows the
OS handles everything it's self to a large degree. You can specify where the files are, as in folders
and differing hard drives, but not the sections of the hard drive they reside on. The next part of file
management that can be set by the user with authorization, mainly the admin, is file clean up. This
cover Disk error checking, defragging, backup and disk clean up. Error checking checks the
physical hard drive for the memory and is more along the lines of memory management, but if it
isn't done then files will not be ... Show more content on Helpwriting.net ...
I mention this as my one reference, being a web site link had this happen on my current settings
when I saved the file. Windows Memory Management Current Windows operating system memory
management (Windows Vista SP1, Server 2008 and later) have implemented memory management
procedures that differ greatly from previously versions of Windows memory management due to
previous vulnerabilities with the address space location of elements such as kernel32.dll, ntdll.dll.
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 locations. Windows address space can be larger or smaller than the
actual memory installed on the machine. Windows handles memory management with two
responsibilities. The primary is to map or translate the processors virtual address space to the
physical memory. The second responsibility is to manage the swap file between the hard drive and
Random Access Memory (RAM). Windows memory management also includes memory mapped
files. Allowing files to be placed into RAM, sequential file
... Get more on HelpWriting.net ...
31.
32. Nt1310 Unit 1 Review Sheet
#include #include "mlist.h" #define HASHSIZE 100000; int size = HASHSIZE; int ml_verbose=0;
typedef struct mlnode { struct mlnode *nextEntry; MEntry *currentEntry; int initiated; } bucket;
struct mlist { int size; bucket **hashIndex; }; /** Creating a mailing list with ml_create(). It uses
calloc & malloc for memory allocation, relying on bucket pointers for assignment. (1.) Declaration
of pointers and variable 'i' for loop purpose. (2.) Print statement with "if verbose". Followed by
malloc to allocate space for mlist pointer. (3.) Initalize the first bucket pointer and assigning
memory using calloc (allows memory space '0' to be assigned to the very first bucket). (4.)
Subsequently, check if any sub buckets exists, allocate ... Show more content on Helpwriting.net ...
It uses two bucket pointes to differentiate exsiting and newly add entries. Return values of each
section, 1 being sucessful and 0 being unsuccessul. (1.) Declaration of variable and pointers (2.) Call
for a function look up to see if there is any matching entries. If no, return value '1'.(3.) Set memory
for newly declared pointer, "bucketNew". And if "bucketNew" is empty, set "null" to bucketNew–
>nextEntry. (4.) Set a hashindex for each bucket entry. (5.) Set "buckPresent = buckPresent–
>nextEntry" until no more "buckPresent–>nextEntry" exists. (6.) Set next to an empty bucket, and
the entry to mentry **/ int ml_add(MList **ml, MEntry *me) { // No. 1 MList *l = *ml; bucket
*buckPresent; bucket *bucketNew; unsigned long hashval; int i; // No. 2 if (ml_lookup(l, me) !=
NULL) return 1; // No. 3 bucketNew = (bucket *) malloc(sizeof(bucket));
... Get more on HelpWriting.net ...
33.
34. Nt1310 Unit 1 Algorithm Report
Exploiting the tensor product structure of hexahedral elements expresses the volume operations as
1D operators. The details are presented in algorithm ref{alg_hexvol}.
begin{algorithm}[h]
caption{Hexahedron volume kernel}
label{alg_hexvol}
KwIn{nodal value of solution $mathbf{u} = left(p, mathbf{v} right)$, volume geometric factors
$partial (rst)/ partial (xyz)$, 1D derivative operator $D_{ij} = partial hat{l}_j /partial x_i$,
model parameters $rho, c$}
KwOut{volume contributions stored in array $mathbf{r}$}
For{each element $e$}
{
For{each volume node $x_{ijk}$} { Compute derivatives with respect to $r,s,t$ $$frac{partial
mathbf{u}}{partial r} = sum_{m=1}^{N+1}D_{im} mathbf{u}_{mjk} qquad frac{partial
mathbf{u}}{partial s} = sum_{m=1}^{N+1}D_{jm} mathbf{u}_{imk} qquad frac{partial
mathbf{u}}{partial s} = sum_{m=1}^{N+1}D_{km} mathbf{u}_{ijm}$$ Apply chain rule to
compute $partial mathbf{u}/partial x, partial mathbf{u}/partial y, partial mathbf{u}/partial z$
$$frac{partial mathbf{u}}{partial x} = frac{partial mathbf{u}}{partial r} frac{partial r}
{partial x} + frac{partial mathbf{u}}{partial s} frac{partial s}{partial x} + frac{partial
mathbf{u}}{partial t} ... Show more content on Helpwriting.net ...
Revisiting figure ref{GLNodes}, we notice that the SEM nodal points already contain the surface
cubature points while the GL nodes do not. Therefore, the SEM implementation is able to utilize the
nodal values to compute the numerical flux, while the GL implementation requires additional
interpolations. In algorithm ref{alg_hexsuf}, we present the procedure of the hexahedron surface
kernel. In both implementations, the solution values on the surface cubature points are pre–
computed and stored in array texttt{fQ}. The lines and variables marked with GL/SEM are the
processes only needed by the GL/SEM implementation
... Get more on HelpWriting.net ...
35.
36. Scalable Cache Coherence Protocols Are Essential For...
Abstract
Scalable cache coherence protocols are essential for multiprocessor systems to satisfy the
requirement for more dominant high–performance servers with shared memory. However, the small
size of the directory cache of the increasingly bigger systems may result in recurrent directory
entries evictions and, consequently, invalidations of cached blocks that will gravely corrupt system
performance. According to prior studies, only a single core accesses a considerable fraction of data
blocks, so it is needless to monitor these in the directory structure. Using the technique of
uniprocessor systems and deactivating their consistency protocol is the best way to identify those
private blocks actively. The directory caches will stop the tracking of a substantial amount of blocks
after the deactivation of the protocol, which will minimize their load and enhance their adequate
size. The proposal only needs minor changes because the operating system collaborates in finding
the private blocks.
There are two fundamental contributions to the study. The first is to reveal that the classification of
data blocks at block level assists to identify significantly more classified data blocks as compared to
work in a few earlier studies of organizing the cache blocks at the granularity of page and sub–page.
The method minimizes the proportion of blocks in the directory necessary for tracking significantly
in comparison to the same course approaches of level classification. It, in turn,
... Get more on HelpWriting.net ...
37.
38. Disk Cache Optimization Using Compressed Caching Technique
Disk Cache Optimization using Compressed Caching Technique Maheshwar Sharma
Gaurav Rawat, Himanshu Banswal, Naman Monga Department of Computer Science, BVCOE,
GGSIP University, New Delhi, India
______________________________________________________________________________
Abstract– In this paper we have discussed about the cache and various mapping technique. Then we
shift our focus on compressed caching which is the technique that tries to decrease paging request
from secondary storage. We know that there is a big performance gap in accessing the primary
memory (RAM) and secondary storage (Disk). The Compressed caching technique intercepts the
pages to be swapped out, compresses them and stores them in pool allocated in RAM. Hence it tries
to fill the performance gap by adding new level to virtual memory hierarchy. This paper analyze the
performance of virtual memory compression. Further to avoid various categories of cache misses we
discuss different types of cache technique to achieve higher performance. Lastly we discuss few
open and challenging issues faced in various cache optimization techniques.
Keywords– Cache mapping technique, Cache optimization, Virtual Memory, Zswap, Zbud , LZO,
Frontwrap, limit hit
I. INTRODUCTION
Basically, cache is the smallest and fastest memory component in the hierarchy. It is aimed to bridge
the gap between the fastest processor to the slowest memory components at a reasonable
... Get more on HelpWriting.net ...
39.
40. Memory Paging Is A Critical Element Of An Operating System...
Memory paging is a critical element of an operating system's performance and efficiency.
Implementing paging allows processes to run even while still in secondary memory by translating
virtual addresses into physical addresses. This research will look at the methods, mechanisms, and
algorithms behind memory paging without regards to a specific operating system. Explanations of
the paging process will begin at an elementary, top–level view, then progress into a detailed view
concerning data structures, addressing, page tables, and other related elements. Intel 64 and IA–32
architecture will be examined and how paging is implemented, specifically through a hierarchical
scheme and the use of a translation lookaside buffer. Issues such as thrashing and speed concerns
with regards to the hardware used will also be examined and how algorithms and better hardware
can influence these issues. The research will conclude with how a user can best take advantage of
paging to better their memory's performance and speed. Algorithms concerning how pages are
swapped in main memory are related to the paging process and will be mentioned, but are beyond
the scope of this paper. The use of paging, both simple and demand, was a solution to previously
used schemes of having either unequal fixed–size or variable sized partitions, which lead to internal
and external fragmentation respectively. The difference between paging and these fixed and
dynamic partitioning methods is
... Get more on HelpWriting.net ...
41.
42. The Proposed Solution1 Builds A Framework For Add Static...
The proposed solution1 builds a framework to add static probes. This solution was designed and
implemented by me as part of VProbes[7] project during summer internship 2014 at VMware, inc.
The solution in this paper covers a high level overview of the framework. It builds on top of the
existing VProbes[7] design1. User space applications or the existing kernel source can add static
probes using this framework. The paper describes adding static probes in a user space application to
keep the explanation simple. Figure 1 shows a simple user code. The application contains two probe
points defined viz. FuncEntry and FuncExit. These are static probes which are added by the
developer. The probe points are expanded in a macro which is defined in the header file probes.h.
Each of these probe points are declared as a volatile integer variable. However, these integer
variables are declared in a separate section in the ELF file as shown in Figure 2. Thus all the defined
probe points are part of new section called probes_uwsection. The probe points are padded with a
name called "PROBE_" and "_PROBE" to avoid name mangling issue in C++. Hence, after pre–
processing stage, every probe name is padded. The application is compiled and loaded. During
application load in the kernel, the binary is intercepted at the ELF loader. In the ELF loader, the
binary is checked for the presence of the new section probes_uwsection. If the new section exists, all
the probe points declared in the new
... Get more on HelpWriting.net ...
43.
44. Disadvantages Of Multikernel OS System
Abstract The challenges for OS structures depend on the diversity of hardware like number of cores,
memory hierarchy, IO configuration, instruction sets and interconnects. Multikernel is a new
distributed OS system architecture that treats the machine as an independent cores communicate via
message passing. Multikernel OS is better for scalability of hardware to avoid of the problem in
traditional operating systems. The result by the end of paper shows that the performance of
multikernel OS is better in scaling and supporting hardware in the future when comparing with
traditional OS. 1. Introduction The OS designers have many challenges according to the diversity
and changing of hardware. The deployment and optimization for general purpose ... Show more
content on Helpwriting.net ...
The multikernel model The multikernel is a distributed OS architecture for heterogeneous multicore
machines that communicate with message passing only. Explicit inter–core communication,
hardware–neutral structure and state is replicate not shared, these are the design principles of
multikernel. The advantages of these principles are: improve performance, supporting core
heterogeneity, modularity, and reuse the algorithms of distributed systems. 3.1 Make inter–core
communication explicit Using explicit communication will help to use the system interconnect in
comparing with implicit communication where the messages used to update the content of shared
memory for cache coherence. The communication explicitly help to deploy an optimization for the
network like pipelines and batching. Enable isolation and resource management on heterogeneous
cores and schedule job on inter–core topology. Allow operations to have split–phase for example;
remote cache invalidations. The structure of message passing is modular, so it easy to update. 3.2
Make OS structure hardware–neural The OS structure is separated from hardware so there are only
two aspect of OS: the messaging transport mechanisms and the hardware
... Get more on HelpWriting.net ...
45.
46. Nt1310 Unit 3 Assignment 3 Virtual Memory
COP 4600 – Assignment 4 When we talk about an on–disk backing store, we usually mean the
virtual memory allocated to the physical memory. This virtual memory acts like a 'backup' in case
we require a little extra physical memory to handle the execution of the active process(es). This
memory is usually slower than our RAM, however performance can be optimized by ensuring that
only those parts or pages of the process that are active are kept in physical memory. This does agree
with the Iron Laws of Memory Hierarchy. RAM is fast and expensive and is used in smaller
amounts, while the on–site backing store is usually larger but slow. Linux uses the virtual memory
to free up private or anonymous pages used by a process. When a page is 'taken off' the physical
memory, it is copied to the backing store, also sometimes named swap area. Linux uses the term
'swapping', which usually refers to swapping a whole process out from another, to describe 'paging',
which is the swapping of the inactive pages of a process or processes. In order to perform the on–
disk swap, the page is assigned a swap info struct that describes the area it will possess and the
details of the page. The figure to the right shows what the struct will look like. Some of the more
important attributes are flags, swap_file, vfs_mount, swap_map, lowest_bit, ... Show more content
on Helpwriting.net ...
The first benefit is that processes now have an increased memory in which to operate. Even a
substantially large process can be accommodated by keeping the process partially active in physical
memory and partially inactive on the swap space. The second advantage revolves around the process
initialization. When a process is initialized, there are a bunch of initialization pages referenced early
in the process' lifecycle and are never used again. These pages are inactive and are moved to the on–
disk backing store, while the rest of the process' pages do their work using the physical
... Get more on HelpWriting.net ...
47.
48. Windows Vs Linux Vs. Linux
1. Compare between this two very popular Operating Systems, Windows VS Linux in terms of :
a. Memory management
1. Focus on how both operating systems handle their memory management especially on virtual
memory. To support your research, you may include relevant scenario of how memory being access.
WINDOWS LINUX
Your computer's RAM has been combined with temporary space by virtual memory on your hard
disk. Virtual memory moves data from RAM to a space called a paging file when RAM runs low.
Moving data to and from the paging file frees up RAM so your computer can complete its work. The
more RAM your computer has, the faster your programs will generally run. You might be tempted to
increase virtual memory to compensate if a lack of RAM is slowing your computer. However, your
computer can read data from RAM much more quickly than from a hard disk.
Non–paged Pool
On (Russinovich, 2009)when the system can't handle page faults,the kernel and device drivers use
non–paged pool to store data that might be accessed. The kernel enters such a state when it executes
interrupt service routines (ISRs) and deferred procedure calls (DPCs), which are functions related to
hardware interrupts. Page faults are also illegal when the kernel or a device driver acquires a spin
lock, which, because they are the only type of lock that can be used within ISRs and DPCs, must be
used to protect data structures that are accessed from within ISRs or DPCs and either other ISRs or
DPCs or code executing
... Get more on HelpWriting.net ...
49.
50. Operating Systems And Software Systems
An operating system is a system software that manages and control all interaction between a
computer hardware and software. There are several types of operating systems, for example, multi–
user, multitasking, single user and more. The first ever created OS date back in the 50's. As
computer and technology progress over time operating system kept evolving. Among the commonly
used operating systems of today is Linux, a Unix–like type of OS. Linux creation begins in 1991 as
a software kernel and part of a small project developed by Linus Torvalds, a student from a
University in Finland. Under GNU (general public license), the software was available as a free and
open source and gave everyone the right to access, change and modify its original design. Because
of the way it is designed it can run on multiple platforms such has Intel, Alpha and more. Like many
open systems, Compared to more expensive operating systems, Linux was an economical alternative
for cost–conscious companies that needed to quickly create Web–based applications. When more
developers are able to provide input about a system, it becomes easier to fix flaws and bugs that
hinder performance; roll out improvements; increase the speed of system evolution; and combine an
application 's components in new and exciting ways not intended by the original developer.
(Ecommerce) Linux has three major components the kernel, the system library and the system
utility. Some of the great features of Linux include
... Get more on HelpWriting.net ...
51.
52. Computer Science : Memory Management
Memory Management
Navid Salehvaziri
Virginia International University Abstract
Memory management is a field of computer science that involves the act of managing computer
memory to use it more efficient. That means how the computer allocate portion of memory to
programs at different levels of priority to make faster program execution regard to memory space
limitation. There are many techniques that are developed to reach this goal at many levels. This
article try to introduce memory management levels and techniques. Especially in this article, I want
to focus at of memory management of operation system level and its techniques like virtual memory
that is one of the common technique that is used by many operation system to boost overall system
performance. Memory Management
Introduction
Memory management is a technique that is used by computer system to allocate a limited amount of
physical memory to processes of running user applications and operation system in a way of boost
and optimize computer performance. Memory management techniques usually are deployed at three
level of computer system that are:
1. Hardware memory management.
2. Operating system memory management.
3. Application memory management.
In most computers all of these three level techniques are used to some extent. These are described in
more details below.
Hardware memory management
Memory management at the hardware level is concerned with the physical devices that actually
store data and programs
... Get more on HelpWriting.net ...
53.
54. The Operating System ( Os )
The operating system (OS) has two view–points it provides services to:
1. User view
2. System view
User view: From user point of view operating system should be convenient and easy to use and
interact with. It should be better performance vice. Following are the two, some of important
services provided by the operating system that are designed for easy to use computer system.
a) Program Execution: The major purpose of the operating system is to allow the user to execute
programs easily. The operating system provides an environment where users can conveniently run or
execute programs and as well as able to end programs. Running programs involves memory
management (the allocation and de–allocation memory), device management, processor ... Show
more content on Helpwriting.net ...
sensors, motion detectors etc.). Almost all programs require some sort of input and produces output.
This involves the use of I/O operations. The operating system hides the low level hardware
communication for I/O operations from the user. User only specifies device and the operation to
perform, and only see that I/O has been performed (i.e. choosing one of the printer in office for
printing service). For security and efficiency, user level programs cannot control I/O operations.
Therefore, the operating system must facilitate these services.
System view: From a system point of view operating system should allocate resources (use system
hardware) in a fair and efficient manner. This includes algorithms for CPUs scheduling and avoiding
deadlocks etc. Following are two services for system hardware.
a) Resource Allocation: Modern computers are capable of running multiple programs and can be
used by multiple users at the same time. Resources allocation/management is the dynamic allocation
and de–allocation by the operating system of (hardware) including processors, memory pages, and
various types of bandwidth to the computation that compete for those resources. Operating system
kernel, in which all these functions, algorithms and services reside, is in charge of taking care of
resource allocation. The objective is to allocate resources so as to optimise responsiveness subject to
the finite resources available.
... Get more on HelpWriting.net ...
55.
56. The Development And Development Of The Graphical...
This paper is based on CUDA, a parallel computing platform model, which utilizes the resources of
the Graphical Processing Unit (GPU), increasing the computing performance of our system, hence
creating a robust parallel computing unit. In this paper, we will be introducing a brief history on
CUDA, it's execution flow and it's architecture to handle processor intensive tasks. We will also be
highlighting some of it's real life applications and the difference in performance as compared of the
only CPU based architectures. Also, since most of the CUDA applications are written in C/C++, we
will also be exploring how CUDA provides the programmable interface in such languages as well.
Finally, we will be including the current research activities ... Show more content on Helpwriting.net
...
So, in 2007, NVIDIA released CUDA, which provided the parallel architecture, to support the usage
of the GPUs. It was designed to work with programming languages such as C/C++ or Fortran and
this really helped specialists in parallel programming to use CUDA, rather than to learn other
advanced skills in GPU programming[10] . The model for GPU computing is to use a CPU and
GPU together in a heterogeneous co–processing computing model[3]. The framework is designed
such that the sequential part of the application runs on the CPU and the computationally–intensive
part is accelerated by the GPU. From the user's point of view, the application is faster because it is
using the better performance of the GPU to improve its own performance.  Figure1: Core
comparison between CPU and GPU 3. Architecture Since GPUs have large number of resources
with hundreds of cores and thousands of threads to be utilized and have very high number of
arithmetic and logical units. Hence it provides a huge parallel architectural framework to work with.
 Here is a block diagram that generally describes CUDAs architecture. Figure 2: Block diagram
for CUDAArchitecture[4] Basic Units of CUDA Figure 2 showed the top level block diagram of the
overall architecture of CUDA. Now, exploring more on to the details, we will be discussing about
the basic units of CUDA.  Figure 3 : CUDA supported GPU structure [11] The architecture
... Get more on HelpWriting.net ...
57.
58. Major Elements Of Memory Management
D. Major elements of memory management
Linux operating system is using virtual memory to support programs running in the system. The
virtual memory provides lots of optimal ways to maximize the memory mapping and utilization.
The virtual memory can allocate much more memory to processes than its actual physical memory
size. Linux provides virtual memory great support to allow the processes running in the system,
such as mapping the process's memory to physical memory (Arora, 2012).
There are two major important elements in memory management: virtual memory and demand
paging. As discussed before, virtual memory plays a powerful role to support the programs for
memory needs which may more than the physical memory size. Virtual memory is a ... Show more
content on Helpwriting.net ...
In the process, page model plays a role as a flag with virtual/physical page frame number as
identified number for mapping; in addition it also provides access information such as read–only, or
read–write, for access control.
E. Major elements of scheduling
The scheduling of Linux operating system is priority based scheduling. It is to make scheduling
policies into the core of Linux which called Kernel for multi–tasking processes. There are two
different scheduling: real time and normal, for handling large data processes performance balance
and sharing CPU equally in the system. In the scheduling of Kernel, each process has a priority
value which ranges from 1 to 139. 1 is the highest priority level. 139 is the lowest priority level. The
real time priorities range from 1 to 99 and the normal priorities range from 100 to 139. The smaller
number of priority value, the priority is higher. All real time programs have a higher priority than
normal programs in the system. In Linux scheduling is implemented by a class named sched_class
(Seeker, 2013).
The purpose of this class is to handle the multi–tasking processes by scheduler skeleton and data
algorithms. As discussed above, the priority value is very important for the scheduling, so how the
system set the priority in the Linux for assigning which is in higher priority? It depends on the types
of the
... Get more on HelpWriting.net ...
59.
60. Chapter 5 Of The Windows Internals Textbook
Windows Internals, Part 1, 6th ed, Chapter 5 Chapter 5 of the Windows Internals textbook written
by Mark Russinovich, David Solomon and Alex Ionescu covers Windows processes, threads, and
jobs. This chapter goes over how processes are managed, describes the kernel mode and user mode,
and process blocks. One of the topics I am covering for my final is the similarities and differences
between processes and threads in Windows and FreeBSD so this source will help provide
information about the properties of threads, processes and jobs in Windows and how they are
managed. Windows Internals, Part 2, 6th ed, Chapter 8 Chapter 8 of the Windows Internals textbook
written by Mark Russinovich, David Solomon and Alex Ionescu covers the Windows I/O system.
This chapter goes over device drivers, I/O system components and features, and Plug and Play. One
of the topics I am covering for my final is the similarities and differences between the Windows and
FreeBSD I/O system so this chapter will assist me in explaining how the I/O system in Windows
operates and unique factors that Windows has when it comes to I/O. Windows Internals, Part 2, 6th
ed, Chapter 10 Chapter 10 of the Windows Internals textbook written by Mark Russinovich, David
Solomon and Alex Ionescu covers Windows memory management. This chapter goes over virtual
address space, copy–on–page writing, and paging. One of the topics I am covering for my final is
the similarities and differences between memory management in Windows
... Get more on HelpWriting.net ...
61.
62. Nt1310 Virtual Memory
Virtual memory is a typical piece of most working frameworks on desktop PCs. It has turned out to
be so basic on the grounds that it gives a major advantage to clients effortlessly. In this article, you
will learn precisely what virtual memory is, the thing that your PC utilizes it for and how to design it
all alone machine to accomplish ideal execution. Most PCs today have something like 32 or 64
megabytes of RAM accessible for the CPU to utilize (perceive How RAM Works for points of
interest on RAM). Sadly, that measure of RAM is insufficient to run the majority of the projects that
most clients hope to keep running without a moment's delay. For instance, on the off chance that you
stack the working framework, an email program, a Web program and word processor into RAM at
the same time, 32 megabytes is insufficient to hold it all. In the event that there were no such thing
as virtual memory, then once you topped off the accessible RAM your PC would need to say, "Too
bad, you can not stack any more applications. Kindly close another application to load another one."
With virtual memory, what the PC can do is take a gander at RAM for zones that have not been
utilized as of late and duplicate them onto the hard plate. This arranges for space in RAM to stack
the new application. ... Show more content on Helpwriting.net ...
Since hard circle space is such a great amount of less expensive than RAM chips, it additionally has
a decent financial advantage.
... Get more on HelpWriting.net ...
63.
64. Essay on Cis Memory Management
CIS:328
Abstract
The purpose of this paper is to show how memory is used in executing programs and its critical
support for applications. C++ is a general purpose programming language that runs programs using
memory management. Two operating system environments are commonly used in compiling,
building and executing C++ applications. These are the windows and UNIX / Linux (or some UNIX
/ Linux derivative) operating system. In this paper we will explore the implementation of memory
management, processes and threads.
Memory Management
What is a Memory Model?
A memory model allows a compiler to perform many important optimizations. Even simple
compiler optimizations like loop fusion move statements in the program can influence the ... Show
more content on Helpwriting.net ...
Other functions need to be used to segment the virtual memory pages into useful segments. Since
virtual memory is allocated by pages, a number of special paging features can be used on virtual
memory that cannot be used on other types of memory. For instance, pages can be locked (to
prevent read/write access), or they can be protected from any particular access mode (read, write,
execute).
Heap memory and allocating a memory block
Each program is provided with a default process heap, but a process may optionally allocate any
number of additional heaps, if more storage is needed. The heap functions will manage their virtual
memory usage automatically, and therefore heaps can be set to grow if they are being filled up with
data. If a heap is allowed to grow automatically, the heap functions will automatically allocate
additional pages as needed. On the x86 architecture the heap grows in size towards higher memory
addresses.
To use heap memory, a heap must first be allocated (or a handle must be obtained to the default
heap). Once you have obtained a handle to a heap, you can pass that handle to the memory
allocation functions, to allocate memory from that particular heap.
Managing process specific memory
65. The cpu executes a large number of programs while its main concern is the excution of uer
programs, the cpu is also needed for other system activities. These activities arecalled processs. A
process is a program in execution. Typically a batch job is a process.
... Get more on HelpWriting.net ...
66.
67. Operating Systems May Use The Following Mechanism
Operating systems may use the following mechanisms to avoid attacks of this type: Operating
systems can provide sandboxes: Sandboxes are environments where a program can execute but
should not affect the rest of the machine. The trick here is, permitting limited interaction with
outside while still providing the full functionality of the operating system. Or in other words, the file
system can be kept out of unauthorized access and 3rd party softwares may be allowed minimum
access to filesystems. Race conditions can also be a critical security issue. To illustrate such a
situation, consider a privileged program that checks if a file is readable and then tries to open it as
root. The attacker passes it a symbolic link, in the interval between the two operations; the attacker
removes the link and replaces it with a link to a protected file. This would give him direct access to
the Study of Security in Legendary Sreeyapureddy ABHIYANTRIKI: An International Journal of
Engineering & Technology 53 Volume 1, Number 1, November, 2014 (44–57) protected file area
and into the system. So here, an attacker takes advantage of the race condition between two
operations to get access into the protected area of the operating system. The only way to overcome
such attacks is to provide only atomic operations to access files and strict restrictions on their access
by other users other than root. Security is not only an issue with the operating systems in desktops
and laptops; the
... Get more on HelpWriting.net ...
68.
69. Components Of Operating Systems Management Functions
Here are the print screens of how I have run this program first input 1 to add data. My input was 25,
80, 10, 5, 40. When I input 20 so there would be another number waiting to go in the Que. Then I
entered 2 to remove data being 25, it removed 25 but did not replace the last number 20 I have
executed the code to run the program. Form what I can see it worked for the first five numbers, but
when entering the next number it failed. After looking at the array within the code, I think it could
be where it gets to Array 4 (array are 0 based so there would be five fields). I think that they could
be bracket with square brackets. I am not sure as I have very little knowledge of programing in C
Task Two Operating Systems Management Functions There are four essential operating system
management functions that are employed by all operating systems. The four main operating system
management functions (each of which I will be explaining) are: Process management Memory
management File and disk management I/O system management The Low Level Scheduler This
deals with the decision as to which job should have access to the processor. The Low level
scheduling will assign a processor to a specific task based on priority level that is ready to be
worked on. The Low Level Scheduling will assign a specific component or internal processor
required bandwidth and available bandwidth. The Low level scheduling determines which tasks will
be addressed and in what order. These tasks have
... Get more on HelpWriting.net ...
70.
71. Role Of The Frame Table And The Disk Map Data Structures
CH 8
1. In a 5–stage pipelined processor, upon a page fault, what needs to happen in hardware for
instruction re–start?
When there is a page fault during fetching an instruction pipeline must be drained, so that the
instructions which are already executing show be finished first. After this we cater the page fault and
restart instructions.
Otherwise if there is a situation that page fault occur during MEM operation the instructions which
are in other states such as in instruction fetch, instruction decode or execute can be condensed as
they won't be making any changes to the registers. After this we can handle the page fault.
2. Describe the role of the frame table and the disk map data structures in a demand paged memory
manager.
Frame tables are used as a reference as we can get to know that which frames are available and
which are already taken and which process they are allocated.
Whereas the disk map data structures are used to know about the frames which are being swapped
from the disk and where they can be relocated again.
4. Describe the interaction between the process scheduler and the memory manager.
Process scheduler and memory manager these 2 ae codes which lie dormant when a user process is
started. Sometimes, the supervisory timer interrupt raises the process scheduler which take decisions
that which tasks should be run on Central processing unit. When a process is running it keeps on
asking many read and write memory access in its logical address
... Get more on HelpWriting.net ...
72.
73. Uses Of In Operating Systems
Uses of Virtualisation in Operating Systems
Virtualisation in operating systems is a wide ranging subject relating to many topics within
operating systems. Waldspurger and Rosenblum define virtualisation in their article I/O
virtualization as "decoupling the logical from the physical, introducing a level of indirection
between the abstract and the concrete." [1] In this essay I will briefly outline some of the many types
of Virtualisation as well as talk about benefits and limitations virtualisation in general.
Due to the term 'virtualisation' referring to so many different areas within operating system, talking
about the History of this topic is very hard. In Modern Operating Systems, Andrew Tanenbaum
states "visualization, which is more than 40 years old" [6]. This book was published in 2009,
implying that virtualisation started roughly in the 1969. However, spooling which is an example of
I/O virtualisation existed in IBMs SPOOL system. IBM copyrighted the SPOOL system in 1960
suggesting Virtualisation started on or before the 1960s [7]. From the context of Tanenbaum's book,
it is clear that he is speaking of virtual machine technology which for the confines of this essay will
be considered a subset of virtualisation. Throughout the history of computers more virtualisation
techniques have been invented from spooling to virtualised I/O to virtual machines and other things
like RAID. When talking about virtualisation in operating systems, virtual memory is perhaps the
... Get more on HelpWriting.net ...
74.
75. Using Windows Uses A Flat Memory Model
Each process started on x86 version of Windows uses a flat memory model that ranges from
0x00000000 – 0xFFFFFFFF. The lower half of the memory, 0x00000000 – 0x7FFFFFFF, is
reserved for user space code.While the upper half of the memory, 0x80000000 – 0xFFFFFFFF, is
reserved for the kernel code. The Windows operating system also doesn't use the segmentation (well
actually it does, because it has to), but the segment table contains segment descriptors that use the
entire linear address space. There are four segments, two for user and two for kernel mode, which
describe the data and code for each of the modes. But all of the descriptors actually contain the same
linear address space. This means they all point to the same segment in memory that is 0xFFFFFFFF
bits long, proving that there is no segmentation on Windows systems. Let's execute the "dg 0 30"
command to display the first 7 segment descriptors that can be seen on the picture below: Notice
that the 0008, 0010, 0018 and 0020 all start at base address 0x00000000 and end at address
0xFFFFFFFF: They represent the data and code segments of user and kernel mode. This also proves
that the segmentation is actually not used by the Windows system. Therefore we can use the
terms"virtual address space" and "linear address space" interchangeably, because they are the same
in this particular case. Because of this, when talking about user space code being loaded in the
virtual address space from 0x00000000 to 0x7FFFFFFF, we're
... Get more on HelpWriting.net ...
76.
77. Cache And Various Mapping Technique
Abstract– This paper begins with the discussion about cache and various mapping technique. Then
we shift our focus on compressed caching which is the technique that tries to decrease paging
request from secondary storage. We know that there is a big performance gap in accessing the
primary memory (RAM) and secondary storage (Disk). The Compressed caching technique
intercepts the pages to be swapped out, compresses them and stores them in pool allocated in RAM.
Hence it tries to fill the performance gap by adding new level to virtual memory hierarchy. This
paper analyze the performance of virtual memory compression. Further to avoid various categories
of cache misses we discuss different types of cache technique to achieve higher performance. Lastly
we discuss few open and challenging issues faced in various cache optimization techniques.
Keywords– Cache mapping technique, Cache optimization, Virtual Memory, Zswap, Zbud , LZO,
Frontwrap
I. INTRODUCTION
Basically, cache is the smallest and fastest memory component in the hierarchy. It is aimed to bridge
the gap between the fastest processor to the slowest memory components at a reasonable cost. It
maintains the locality of information and support the reduction of average access time. The address
mapping converts physical address to the cache address. But when it comes to virtual memory
systems, swapping turns out to be the greatest factor for reduce in performance. Disk latency is
around four times to that of accessing the
... Get more on HelpWriting.net ...
78.
79. Memory Management and Microprocessor
ABSTRACT
In this paper, we will cover the memory management of Windows NT which will be covered in first
section, and microprocessors which will be covered in second section. When covering the memory
management of Windows NT, we will go through physical memory management and virtual
memory management of that operating system. In virtual memory management section, we will
learn how Windows NT managing its virtual memory by using paging and mapped file I/O.
After covering the memory management, we will go through microprocessor. In this section, we will
learn a bit about the recent microprocessors, such as Intel and AMD microprocessors. We also will
learn about the trends that affecting the performance of microprocessors.
INTRODUCTION ... Show more content on Helpwriting.net ...
The segmentation scheme in Intel 80386 microprocessor is more advanced than that in Intel 8086
microprocessor. The 8086 segments start at a fixed location and are always 64K in size, but with
80386, the starting location and the segment size can separately be specified by the user.
The segments may overlap, it allows two segments to share address space. To send the necessary
information, segment tables with segment selector as index are used. At any time, only two segment
tables can be active. They are Global Descriptor Table (GDT) and a Local Descriptor Table (LDT).
This two segment table only can be executed by the operating system.
Segment table is an array of segment descriptors which specify the starting address and the size of
the segment. Each segment descriptor has 2 bits specifying its privilege level, called as the
Descriptor Privilege Level (DPL). This DPL has to be compared with Requested Privilege Level
(RPL) and Current Privilege Level (CPL) before processor grants the access to a segment. If the
DPL of the segment is less than or equals to the RPL as well as the CPL, then the processor will
grant access to a particular segment. This serves as protection mechanism for operating system.
1.2.2. Virtual Memory Management in Windows NT
Windows NT virtual memory manager provides large virtual memory space to applications via two
memory management processes. They are called paging (moving data between
... Get more on HelpWriting.net ...
80.
81. Mac Os X
Apple's Macintosh OSX Panther
CS555 Section 3
Tomomi Kotera
Table of Contents
Table of Contents ................................................................ Page 1
Introduction ....................................................................... Page 2
Overview ...........................................................................Page 2
CPU Scheduling ...................................................................Page 3
Symmetric Multiprocessing (SMP) ............................................Page 5
Memory Protection ................................................................Page 6
Virtual Memory ....................................................................Page 7
Technical and Commercial Success of Mac OS X ..........................Page 11
Conclusion ...........................................................................Page 13
Bibliography....................................................................... Page 14
Introduction
The Mac OS X Panther operation system has met with both ... Show more content on
Helpwriting.net ...
Mach maintains the register state of its threads and schedules them preemptively in relation to one
another. In general, multitasking may be either cooperative or preemptive. Classic Mac OS
implements cooperative multitasking which was not very intelligent. In cooperative CPU scheduling
the OS requires that each task voluntarily give up control so that other tasks can execute, so
82. unimportant but CPU–intensive background events might take up so much for a processor's time
that more important activities in the foreground would become sluggish and unresponsive. On the
other hand, preemptive multitasking allows an external authority to delegate execution time to the
available tasks. Mac OS X's Mach supports preemptive multitasking in which it processes several
different tasks simultaneously.
To affect the structure of the address space, or to reference any resource other than the address
space, the thread must execute a special trap instruction which causes the kernel to perform
operations on behalf of the thread, or to send a message to some agent on behalf of the thread. In
general, these traps manipulate resources associated with the task containing the thread.
Mach provides a flexible framework for thread scheduling policies. Mac OS X supports both the
multilevel feedback queue scheduling and round–robin (RR) scheduling algorithm. The multilevel
feedback queue scheduling
... Get more on HelpWriting.net ...