In: Computers and Technology

Submitted By babbu
Words 806
Pages 4
Memory management plays a key role for any multiprogramming operating system. Memory should be managed such that many processes can be in the memory at the same time .As the physical memory is limited , operating systems make use of virtual memory to run processes which are larger than the physical memory. Virtual memory is a technique using which processes can run even when they are not entirely in memory. Main memory is treated as an array of pages thus separating in to logical memory and physical memory, thus the size of the physical memory is not a limitation for the user.
Memory management in Windows
The physical memory in Windows is divided into a number of physical pages .If the pages are divided in to say 4KB size causes external fragmentation of memory. If the pages are divided into 2MB pages this causes internal fragmentation. Windows uses large pages to better the performance of translation look aside buffer TLB( is a cache used by memory management hardware to improve virtual address translation speed).The physical pages are in one of the following states free page, zeroed page, modified page, standby page ,bad page, transition page, valid page. Valid pages are in processes page tables ,while pages in other states are separated in to list based on their state.
Virtual memory in Windows is implemented by demand paging with clustering. Demand paging is method in which the pages are loaded in to the memory as they are required in the course of the process’s execution. Clustering is used by Windows in this when there is a page fault (page is required for the further execution of the process) along with the page ,many other pages are also moved in to the physical memory. The free pages are handled by the virtual memory manager.
Every process has a working set minimum(it is the minimum number of pages the process will definitely have in the…...

Similar Documents

Computer Organization and Architecture Designing for Performance 8th Edition

...these things, it must cease executing the OS program and execute other programs. Thus, the OS relinquishes control for the processor to do some “useful” work and then resumes control long enough to prepare the processor to do the next piece of work. The mechanisms involved in all this should become clear as the chapter proceeds. Figure 8.2 suggests the main resources that are managed by the OS. A portion of the OS is in main memory. This includes the kernel, or nucleus, which contains the most frequently used functions in the OS and, at a given time, other portions of the OS currently in use.The remainder of main memory contains user programs and data.The allocation of this resource (main memory) is controlled jointly by the OS and memorymanagement hardware in the processor, as we shall see. The OS decides when an I/O Computer system Memory Operating system software I/O controller I/O controller • • • • • • I/O devices Printers, keyboards, digital camera, etc. Programs and data I/O controller Processor • • • Processor Storage OS Programs Data Figure 8.2 The Operating System as Resource Manager 264 CHAPTER 8 / OPERATING SYSTEM SUPPORT device can be used by a program in execution, and controls access to and use of files. The processor itself is a resource, and the OS must determine how much processor time is to be devoted to the execution of a particular user program. In the case of a multiple-processor system, this decision must span all of the......

Words: 239771 - Pages: 960

Performance Tuning for Windows Server 2008

...suggests a limit on the maximum number of outstanding requests that an SMB 1 client can send. Increasing the value can use more memory, but it can improve performance for some client applications by enabling a deeper request pipeline. Increasing the value in conjunction with MaxCmds can also eliminate errors that are encountered due to large numbers of outstanding long-term file requests, such as FindFirstChangeNotification calls. This parameter does not affect connections with SMB 2 clients. The following parameters are not required in Windows Server 2012: NoAliasingOnFileSystem HKLM\System\CurrentControlSet\Services\LanmanServer \Parameters\(REG_DWORD) PagedPoolSize HKLM\System\CurrentControlSet\Control\SessionManager \MemoryManagement\(REG_DWORD) NumTcbTablePartitions HKLM\system\CurrentControlSet\Services\Tcpip\Parameters\(REG_DWORD) TcpAckFrequency HKLM\system\CurrentControlSet\Services\Tcpip\Parameters\Interfaces SMB Server Tuning Example The following settings can optimize a computer for file server performance in many cases. The settings are not optimal or appropriate on all computers. You should evaluate the impact of individual settings before applying them. Parameter | Value | Default | NtfsDisable8dot3NameCreation | 1 | 2 | TreatHostAsStableStorage | 1 | 0 | AdditionalCriticalWorkerThreads | 64 | 0 | MaximumTunnelEntries | 32 | 1024 | MaxThreadsPerQueue | 64 | 20 | RequireSecuritySignature | 0 | 0 | MaxMpxCt (only......

Words: 50142 - Pages: 201

Mobile Os

...CPU to process data from disk, those data first be transferred to main n"lemory by CPU-generated I/0 calls. In the same way, instructions must be in memory for the CPU to execute them. For a program to be executed, it must be mapped to absolute addresses and loaded into memory. As the program executes, it accesses program instructions and data from memory by generating these absolute addresses. Eventually, the program terminates, its memory space is declared available, and the next program can be loaded and executed. To improve both the utilization of the CPU and the speed of the computer's response to its users, general-purpose computers must keep several programs in memory, creating a need for memory management. Many different memorymanagement schemes are used. These schemes reflect various approaches, and the effectiveness of any given algorithm depends on the situation. In selecting a memory-management scheme for a specific system, we must take into account many factors-especially the hardware design of the system. Each algorithm requires its own hardware support. The operating system is responsible for the following activities in connection with memory management: Keeping track of which parts of memory are currently being used and by whom Deciding which processes (or parts thereof) and data to move into and out of memory Allocating and deallocating memory space as needed Memory-management techniques are discussed il1 Chapters 8 and 9. 1.8 To make the computer......

Words: 403018 - Pages: 1613

Computer Systems Engineering

...and execution. During the instruction phase, a computer performs the following steps: • Step 1: Fetch instruction. The computer reads the next program instruction to be executed and any necessary data into the processor. • Step 2: Decode instruction. The instruction is decoded and passed to the appropriate processor execution unit. Each execution unit plays a different role: The arithmetic/logic unit performs all arithmetic operations, the floating-point unit deals with noninteger operations, the load/store unit manages the instructions that read or write to memory, the branch processing unit predicts the outcome of a branch instruction in an attempt to reduce disruptions in the flow of instructions and data into the processor, the memorymanagement unit translates an application’s addresses into physical memory addresses, and the vector-processing unit handles vector-based instructions that accelerate graphics operations. The time it takes to perform the instruction phase (Steps 1 and 2) is called the instruction time (I-time). The second phase is execution. During the execution phase, a computer performs the following steps: • Step 3: Execute instruction. The hardware element, now freshly fed with an instruction execution time (E-time) The time it takes to execute an instruction and store the results. and data, carries out the instruction. This could involve making an arithmetic computation, logical comparison, bit shift, or vector operation. • Step 4: Store results. The......

Words: 375753 - Pages: 1504

Technical Questions

...removed from a process holding it. Circular Wait: A closed chain of processes exist such that each process holds at least 169 Copyright©: Vyom Network ( - All Rights Reserved Technical Aptitude Questions one resource needed by another process in the chain. 6. What are short-, long- and medium-term scheduling? Long term scheduler determines which programs are admitted to the system for processing. It controls the degree of multiprogramming. Once admitted, a job becomes a process. Medium term scheduling is part of the swapping function. This relates to processes that are in a blocked or suspended state. They are swapped out of real-memory until they are ready to execute. The swapping-in decision is based on memorymanagement criteria. Short term scheduler, also know as a dispatcher executes most frequently, and makes the finest-grained decision of which process should execute next. This scheduler is invoked whenever an event occurs. It may lead to interruption of one process by preemption. 7. What are turnaround time and response time? Turnaround time is the interval between the submission of a job and its completion. Response time is the interval between submission of a request, and the first response to that request. 8. What are the typical elements of a process image? User data: Modifiable part of user space. May include program data, user stack area, and programs that may be modified. User program: The instructions to be executed. System......

Words: 31949 - Pages: 128