Tuesday, September 30, 2008

Operating System Services

Hello friends now its time to move forward with operating systems.In this post i am going to told you about the services that an operating system provides to a user.

Generally operating systems provide two types of services one that is provided to the programs and the other that is provided to the users of these programs.These operating system services are provided for the convenience of the programmer i.e to make the programming easier.Now lets begin with the first type of service that is provided to the user:

1.User Interface:As all we know almost all operating systems has user interface.Now this interface can be of any form either it may be command line interface,which uses text commands and a method for entering them or it may be graphical user interface(GUI) .In GUI the interface is a window system with a pointing device to direct I/O,choose from menus,and make selections and a keyboard to enter text.

2.I/O operations: Whenever a program is running it requires some I/O resources to complete its execution.For specific devices, special resources may be required such as a cd or dvd driver to for recording of a cd or dvd.For efficiency and protection,users cannot control I/O devices directly.Hence operating system provide some means to do I/O.

3.File system manipulation: The file system manipulation is a different area of interest.As all we know that some programs need to read and write of files and directories.They also need to create and delete them by name,search for a given file and list file information.So for doing all these instructions some program is required that include permissions management to allow or deny access to files or directories based on ownership.

[caption id="attachment_57" align="aligncenter" width="397" caption="Services that an operating system provides to its users".

4.Communications: Sometimes their exists a situation in which one process needs to exchange information with another process.Such communication may occur between the processes that executing on the same computer or between processes that are executing on different computer systems but exists in same computer network.Now this communication may be implemented by shared memory or through message passing,in which packets of information are moved between processes by the operating system.

5.Error Detection: One of the most important service that is provided by an operting system to its user is error detection.Error may occur in CPU,in memory,in I/O devices(such as parity error on tape,a connection failure on the network) and in the user program(such as arithmetic error,an attempt to access an illegal memory location).For each type of error,the operating system should take appropriate action to ensure correct and consistent computing.

All these are the services that are provided by an operating system to its user.
Hope you enjoy this post.Waiting for your comments for more improvement.

Caching in Operating Systems


Hello friends in the last post i told you about the memory management in operating systems,now in this post i am going to tell you about the caching i operating system.

Caching is an important principle of computer systems.As all we know all information is kept in some storage such as main memory,as it is used,it is copied into a faster storage system-the cache-on a temporary basis.When we need a particular piece of information,we first check whether it is in cache or not,if it is in the cache we use it directly from the cache,otherwise we use the information from the source from where it is present and made a copy of that information in the cache assuming that we will need it again soon.By doing so we decreases the searching time of that particular information.



As all we know that the purpose of cache is to speed up memory accesses by storing recently used chunks of memory.Now why the need of caching or cache memory is required because as all we know that access from main memory into a register may take 20-50 clock cycles,but in the case of cache memory it reduces to single clock cycle.That's why cache memory or caching is needed.But the cache memory that we used is very expensive in cost that's why we can't compose our main memory entirely of it.

For more details , please visit here and here.
Thats why we have only very limited amount of cache,and we can store only limited amount of data in it,now the main question that arises here is that to store which data from the great chunk of data.For this we only save that data that is most recently used.Sometimes this policy is also known as the spatial and temporal locality.When we want to access memory at a certain address, we look in the cache to see if it is there. If it is there, we get it from cache instead of going all the way to memory, that situation is called a "cache hit." If the data is not in cache, then we bring the data from memory to cache, which takes longer since the data must be brought in from the smaller memory, that situation is called a "cache miss," and that delay that we endure because that memory must be brought from main memory is called a "miss penalty".

For more details , please visit here and here.

Hope you enjoy it.Please give your comments for more improvement.

Sunday, September 28, 2008

Memory management in operating systems

Hello friends this is my first post and in this post i am going to told you about memory management in operating systems.

If we talk about the memory management then it simply means that we are going to manage only the main memory(RAM) not secondary memory(Hard disk).As all we know that main memory is central to the operation of a modern computer system.The main task of a memory manager is to made available the memory first to the primary process then to the other.If we talk about the main memory we know that it is a large array of words or bytes ranging from millions to billions.Each word or byte has its own address.The central processor reads instructions from the main memory during the instruction fetch cycle and both reads and writes data from the from the main memory during the fetch cycle.

The main memory is only the memory that a CPU can access directly otherwise for accessing any instruction from disk then it first transferred to the main memory then CPU executes it.For a program to be executed it must be mapped to the absolute address and loaded into memory.Now as the CPU executes this program the its accessing instructions and data by generating their absolute addresses.Eventually when this program terminates it releases its occupied main memory and this memory is allocated to the next program and loaded in it.Now to improve both CPU utilization's and its speed of computer response to its users,general purpose computers keep several programs in memory,creating a need for memory management.Today there exists a lot of memory management schemes but to select a particular management scheme is totally depends on the situation or sometimes it depends on the hardware design of the system.

Each algorithm requires its own hardware support.Now in addition to memory management CPU is also engaged in various activities of memory.


  • Keeping track of which part of memory are currently being used and by whom.

  • Deciding which process or data to move into and out of memory.

  • Allocating and Deallocating memory space as needed.

Introducing Blog

Hello friends this is my first blog and in this blog i am going to explore all the important concepts of operating system in which students find themselves in difficulty.Here you will find a complete description of all the topics that will really help you in understanding these concepts.In this blog I will also provide you a great comparison of different types of operating systems like Windows XP,UNIX,LINUX and Macontish according to their services.In this blog you will also found some latest hacking technologies in Windows XP,UNIX and Linux that will definitely a fun stuff for you.In addition to this i also give you latest news from the field of technology and also some reviews.

Hope you enjoy it.