Microsoft Windows Operating System family has aprogramming interface which is known as Application Program Interface (API)which provides services like Graphical User Interface (GUI), system resourceaccess, audio, video etc.
this API has thousands of subroutines such asCreateProcess and CreateFile. Some major categories of API provide the followingfunctions:1. Component Services2. Base Services3. Multimedia 4. Messaging5. Graphics6. Web Services7.
NetworkingWhen these services are being observed fromprogramming point of view, it could be referred to as a callable job in anoperating system. However, the services are considered to as processes (from auser’s perspective) that are brought in user mode by the operating system,which are not dependent on logged-in user. o Explanation:Considering the following figure: Both user and kernel modes are separated by a line in theabove figure. It is important to remember that user mode has fewer privilegesthan kernel mode. User mode uses applications that are well defined. The usermode process has no direct access to hardware or memory. It is also limited toan assigned memory space.
User mode processes can be paged out of secondary memoryinto RAM on a hard disk. At the top right of the figure indicates the environmentsubsystems which offer visible recognized interface between applications andnative APIs. The environment subsystem is used to decodes environment explicit commandsfrom the application into the directives that the Executive Services (which isthe first layer of the kernel) can transmit out.Moving to the kernel mode which has direct admittance tothe memory and hardware, which also includes the memory spaces of all theuser-mode processes. The kernel mode components include the followings:1. It has direct access to the hardware.2.
Kernel can access all the memory of the computer.3. It does not move to main memory page file on hard disk.4. Kernel mode processes have got higher priority than theuser mode processes. 1. Memory in Windows: o Introduction:Memory management is the process of directing and managingthe memory in computer, allocating portion also known as block to differentprogram which are in execution, to improve the overall system performance. It existsin Operating System hardware, and in programs and applications.
o Method:A deeper understanding about memory leads on a particularsystem has turn into an important matter for system designer. Unlike otheroperating system, windows perform so many refined operations to be done withits job. Memory involves process, child process then threads and otherdifferent aspects to complete a command from users.It is important to know that memory is a physicallocation which is used to store some instruction or sequence of instructions.Now, this memory can be of two types i.e. the first one is primary memory andthe second one is secondary memory.
The primary memory is used in physicalsystems for the information which works at high rate (i.e. RAM). Unlikesecondary memory which is used for physical devices for program and storage ofdate which are slow to access but provide high memory capacity.Primary memory is frequently related with addressablesemiconductor memory. There are further two types of semiconductor memory, i.e.
first one is the volatile and the other one is non-volatile (i.e. flashmemory). The hardware memory management components of today’s CPUs offer a wayfor the OS to plot virtual address on the physical address. The windows memorymanager requires a demanded paged virtual memory subsystem.
Whenever any process requests for a page, it brings the veryfirst i.e. the oldest page first and these pages are not even over-writablebecause they only signify a copy of data that was used by this process once. SoWindows preserve those on some paging list.
Windows memory manager keeps trackof this is in such a way that it keeps track of this unassigned memory in oneof the four paging lists.Following are the types of paging list:§ FreePage List:It is of definite location with limited lists. It is a mustfor Windows memory manager to choose this location (or list) while executing a pagereading.§ Zero-pagelist:The zero-page list has a mutual feature, i.e. it has tobe of definite sized. When it gets that size, a zero-page thread (also known askernel thread) is aroused and that also runs in priority 0.
Further, Windowsmay also need zeroed pages. The work that zero-page thread performs is that, ithas to zero out all those pages.§ Modified& Standby page list:Memory manager pulls-out a page from a working set of aprocess. But that page may still have needed by that process and it is possiblethat it may have to be reprocessed by the process if it requests for that pageagain. Therefore, it may signify a code and be reused by another process aswell.§ MemoryStorage and Management:There are two tasks that need to be accomplished, whilemanaging computer’s memory:1. Each process must have sufficient memory to be executed,and it can neither run into the memory space of another process nor be run intoby another process.
2. The system must use different types of memory properly sothat each process can execute most effectively.The first task requires the operating system to set upmemory boundaries for types of software and for separable applications.Let us consider the above figure as an imaginary smallsystem with 1MB of RAM. During the boot process, the above computer’s OS is plannedto go to the topmost of existing memory and then “back up” far sufficientto meet up the requirements of the operating system.Suppose that the operating system necessities 300KB torun. Now, the operating system goes to the end of the RAM pool and then it startsbuilding up with the several driver software required to control the computer hardwaresubsystems.
In our supposed computer, the drivers take 200KB. There are still500KB available for the application processes after the OS has been completelyloaded. The application process will be loaded in the defined blocks with theirrespective starting and ending on boundaries. These blocks and boundaries helpto ensure that applications won’t be loaded on top of one another’s space by apoorly calculated bit or two. These blocks and the defined boundaries willensure that none of the application would be loaded on another’s another justby a bad calculated bit. The problem arises when there is no space for theupcoming application process when the space is occupied. In Windows, it ispossible to add more memory beyond the memory size.
So for that, in comparisonwith RAM, disk space is quite cheap, then also moving instructions in RAM tohard disk can significantly increase RAM space at no expense. This method iscalled virtual memory management.§ DiskStorage:Disk storage is one of the memory types. It is the onlyone that must be controlled by the operating system itself.
Followings are thetypes of memory in a computer system in the increasing order with respect tospeed: i. Cache -It is the fast, comparatively small amounts of memory that are available to theCPU. Cache controllers predict which data will be next fetch from the mainmemory. ii. Main Memory -This is the RAM that you measured in MBs when you purchase a computer. iii.
Secondary memory -It is mostly of a magnetic tape that preserves applications and data availableso that it can be used. The operating system must stabilize the desires of the severalprocesses with the accessibility of the different types of memory, transferringthe data in block (which is called a page) between existing memory as processschedule dictates.