Showing posts with label Operating System Services. Show all posts
Showing posts with label Operating System Services. Show all posts

Thursday, June 17, 2010

Firmware

Fixed software programs that internally control various electronic devices or individual hardware parts of these devices (such as mobile phones). They involved very basic low-level operations of the device, without which the device would be completely non-functional.More simple firmwares are usually stored on ROM or OTP/PROM, while more complex firmwares occupy flash memory to allow for updates. Common reasons for updating firmware include fixing bugs or adding features to the device.Doing so usually involves loading a binary image file provided by the manufacturer into the device, according to a specific procedure. More often than not this is meant to be done by the end user.

Tuesday, April 13, 2010

Understand what daemon is???

A demon (also see daemon which has a somewhat similar meaning) is a program or process, part of a larger program or process, that is dormant until a certain condition occurs and then is initiated to do its processing. Eric Raymond cites an artificial intelligence ( artificial intelligence ) application as an example. An AI program might include a number of demons, one or more of which might become active when a new piece of knowledge was acquired by the AI program. If the new knowledge affected a particular demon's own sphere of knowledge, it would spring into action and create new pieces of knowledge based on its particular inference rules. Each of these new pieces of knowledge might in turn activate additional demons that would continue to filter through and refine the entire AI knowledge base.

Thursday, April 1, 2010

Understand Deadlock

A deadlock is a situation in which two computer programs sharing the same resource are effectively preventing each other from accessing the resource, resulting in both programs ceasing to function.

The earliest computer operating systems ran only one program at a time. All of the resources of the system were available to this one program. Later, operating systems ran multiple programs at once, interleaving them. Programs were required to specify in advance what resources they needed so that they could avoid conflicts with other programs running at the same time. Eventually some operating systems offered dynamic allocation of resources. Programs could request further allocations of resources after they had begun running. This led to the problem of the deadlock. Here is the simplest example:

Program 1 requests resource A and receives it.
Program 2 requests resource B and receives it.
Program 1 requests resource B and is queued up, pending the release of B.
Program 2 requests resource A and is queued up, pending the release of A.

Now neither program can proceed until the other program releases a resource. The operating system cannot know what action to take. At this point the only alternative is to abort (stop) one of the programs.

Learning to deal with deadlocks had a major impact on the development of operating systems and the structure of databases. Data was structured and the order of requests was constrained in order to avoid creating deadlocks.


Below is a funny example of car deadlock.
:)

Thursday, February 19, 2009

Parallel Communication

Parallel communication takes place when the physical layer is capable of carrying multiple bits from one device to another.This means that the data bus is composed of multiple data wires,in addition to control and possibly power wires,running in parallel from one device to another.Each wire carries one of the bits.Parallel communication has the advantage of high data throughput,if the length of the bus is short.The length of a parallel bus must be kept short because long parallel wires will result in high capacitance values and transmitting a bit on a bus with a higher capacitance will require more time to charge or discharge.In addition,small variations in the length of the individual wires of a parallel bus can cause the received of data bits at the different times.


Such misalignment of data becomes more of a problem as the length of a parallel bus increases.Another problem with parallel buses is the fact that they are more costly to construct and may be bulky,especially when considering the insulation that must be used to prevent the noise from each wire from interfering with the other wires.For ex:-a 32 wire cable connecting two devices together will cost much more and be larger than a two wire cable.In general,parallel communication is used when connecting devices resides on same IC,or the devices that reside on the same circuit board.Since,the length of such buses is short,the capacitance load,data misalignment and cost problems mentioned earlier do not play an important role.

Monday, October 13, 2008

Dynamic Loading

As all we know the an entire program and the data of all the process is always kept in physical memory for the process to execute this data.Here,in this situation the size of process is limited to the size of the physical memory.Here to obtain better space utilization we use dynamic loading.In dynamic loading a routine is never loaded into memory until it is called.All routines are kept on the disk in a relocatable load format.

First of all main program is loaded into memory and executed,now after this when a routine needs to call another routine,the calling routine first checks whether the other routine has been loaded.If the other routine is not loaded,then the relocatable linking loader is called to load the desired routine into memory and to update the program's address table to reflect this change. Then after this control is transferred to the newly loaded routine.The advantage of dynamic loading is that an unused routine is never loaded.This method is particularly useful when large amount of codes are needed to handle infrequently occurring cases such as error routines.

In all these cases the total program size may be large and the portion that is used may be much smaller.Dynamic Loading does not require any special support from the hardware or from the operating system.It is the responsibility of programmers to design their programs to take advantage of such a method.Sometimes operating system also helps the programmer by providing library routines to implement dynamic loading.

Friday, October 3, 2008

Operating System Services Part-2

Hello friends in the last post i told you about the services that an operating system provides to its user.Now in this post i am going to told you about the services that an operating system provides to itself for the efficient working of it.

1.Resource Allocation:Suppose when there are multiple users or multiple jobs exists at the same time,resources must be allocated to each of them.The main task of operating system is to manage all these resources.Some resources such as CPU cycles,main memory and file storage may have special allocation code,whereas others such as I/O devices may have much more general request and release code.To use all these resources in the best efficient way operating system have CPU scheduling routines that take into account the speed of the CPU for the CPU resources.There may also be routines to allocate printers,modems,USB storage drives,and other peripheral devices.

2.Accounting:If we desire to keep track of which users use how much and what computer resources then operating system also provides this facility in the form of accounting.This record keeping may be used for for billing purpose of the users or simply for accumulating usage statistics.Usage statistics may be a valuable tool for researchers who wish to reconfigure the system to improve computing services.


3.Protection and Security:
When several separate processes execute concurrently,it should not be possible for one process to interfere with the others or with the operating system itself.Protection involves ensuring that all access to system resources are controlled.Security of the system from the outsiders is also an important issue.Such security starts with requiring each user to authenticate himself or herself to the system,usually by means of a password,to gain access to system resources.This security is also applicable to the external I/O devices,including modems and network adapters from invalid access attempts .If a system is to be protected and secure,precautions must be instituted throughout it.

Hope you enjoy this post.Waiting for your response for more improvement.

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.