Thursday, December 13, 2007

Assignment #3

  • page 104 question # 4

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?

a. The thrashing is caused by mainly by the file indexing in vista and not with your page file. Indexing usually happens in the first 15mins after you boot up - its normal.Your pagefile seems very large - try to make it a fixed size of about 1024Mb on a second HD if possible. Have you inserted a spare USB memory stick for readyboost - it helps reduce thrashing later on.

Thrashing is caused by under allocation of the minimum number of pages required by a process, forcing it to continuously page fault. The system can detect thrashing by evaluating the level of CPU utilization as compared to the level of multiprogramming. It can be eliminated by reducing the level of multiprogramming.

b. How does the operating sytem detect thrashing?

-An operating system would have no idea that thrashing is happening. The OS would be responsible for making use of virtual memory to make up for the lack of physical RAM during a particular computing session, but would have no concept that this is causing issues with hardware.

c. Once thrashing is detected, what can the operating system do to eliminate it?

-Thrashing is usually a symptom of low memory in your system. To minimize it, try adding more memory to your computer or try to cut down on use interface elements that use extra memory like complicated background images and detailed icons.

  • pg. 56 question # 1-3

a.) Multi programming:

-Multiprogramming is the technique of running several programs at a time using timesharing. It allows a computer to do several things at the same time. Multiprogramming creates logical parallelism. The concept of multiprogramming is that the operating system keeps several jobs in memory simultaneously. The operating system selects a job from the job pool and starts executing a job, when that job needs to wait for any i/o operations the CPU is switched to another job. So the main idea here is that the CPU is never idle.

b.)Internal fragmentation. How does it occur?

-Internal fragmentation is the space wasted inside of allocated memory blocks because of restriction on the allowed sizes of allocated blocks. Allocated memory may be slightly larger than requested memory; this size difference is memory internal to a partition, but not being used.

c.) External fragmentation. How does it occur?

-the external fragmentation is to create a minimum swap file size that somewhat exceeds the usual size of your swap file. If your swap file exceeds the minimum, external fragmentation will occur. Setting a maximum that may be exceed is ill advised as it can crash your system if it is exceeded.

d.) Compaction. Why is it needed?

e.) Relocation. How often should it be performed?

- 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 in the chapter?

- The major disadvantage only 1 job per partition and waste of main storage.

3. Describe the major advantages for each of the memory allocation schemes presented in the chapter?

-The major advantage of this is operating system is easy to implement.