a.What is the cause of thrashing?
-Thrashing is caused by under allocation of the minimum number of pages required by a process, forcing it to continuously page fault.
b.How does the system detect thrashing?
-The system can detect thrashing by evaluating the level of CPU utilization as compared to the level of multiprogramming.
c.Once it detects thrashing, what can the system do to eliminate this problem?
-It can be eliminated by reducing the level of multiprogramming.
-Multiprogramming is a technique used to utilize maximum CPU time by running multiple programs simultaneously. The execution begins with the first program and continues till an instruction waiting for a peripheral is reached, the context of this program is stored, and the second program in memory is given a chance to run. The process continued until all programs finished running.Multiprogramming has no guarantee that a program will run in a timely manner.
-Internal fragmentation is where the memory manager allocates more for each allocation than is actually requested. There are three reasons for this: padding; buddy system; in-band headers.
-External fragmentation is when pages are not all nice and neat on contiguous extents. The ideal is to have one extent, fill it up, then get another, fill it up, get another, etc. When you have page splits, you have to link in a new page from another extent. So if you followed the page chain, you would be hopping around from extent to extent far more than you should. Ideally, you have one extent switch every 8 pages; the degree to which you have more than this determines the external fragmentation.
- In a data center, compaction is the reduction or consolidation of hardware to make better use of physical floor space. Although the goal of compaction is to be cost-effective and maximize real estate, increased hardware compaction puts more demands on power consumption and cooling requirements, two major cost elements in maintaining a large data center.
-In storage area management (SAM), compaction is the automatic removal of expired data from a storage area network (SAN) to condense the existing archive and make room for new data.
- Relocation is the process of replacing symbolic references or names of libraries with actual usable addresses in memory before running a program. It is typically done by the linker during compilation, although it can be done at run-time by a loader. Compilers or assemblers typically generate the executable with zero as the lower-most, starting address. Before the execution of object code, these addresses should be adjusted so that they denote the correct runtime addresses.
2. Describe the major disadvantages for each of the four memory allocation schemes presented .
of main storage.
in the chapter.
-The major disadvantage for each of the four memory allocation schemes presented is only 1 job per partition and waste of storage.
3.Describe the major advantages for each of the memory allocation schemes presented in the chapter.
-The major advantage is easy to manage and implement.