This Blog helps you to define your all problems regarding Computer Sc. Info Technology and Management.
In this Blog you'll get your topic, solution for your questions as well as you get knowledge about new technologies and Corporate world updates also. Here you'll also get new ideas, techniques, various useful websites links and many more. Please also suggest me, what more i do for this Blog and for its enhancements. WELCOME suggestions & queries at firstname.lastname@example.org
Subscribe to this blog
Follow by Email
Search This Blog
In computer science, a semaphore is a variable or abstract data type that provides a simple but useful abstraction for controlling access by multiple processes to a common resource in a parallel programming or multi user environment.
A useful way to think of a semaphore is as a record of how many units of a particular resource are available, coupled with operations to safely (i.e., without race conditions) adjust that record as units are required or become free, and if necessary wait until a unit of the resource becomes available. Semaphores are a useful tool in the prevention of race conditions; however, their use is by no means a guarantee that a program is free from these problems. Semaphores which allow an arbitrary resource count are called counting semaphores, while semaphores which are restricted to the values 0 and 1 (or locked/unlocked, unavailable/available) are called binary semaphores (same functionality that mutexes have).
The semaphore concept was invented by Dutch computer scientist Edsger Dijkstra in 1965, and the concept has found widespread use in a variety of operating systems.
When used for a pool of resources, a semaphore does not keep track of which of the resources are free, only how many there are. Some other mechanism (possibly involving more semaphores) may be required to select a particular free resource.
Processes are trusted to follow the protocol. Fairness and safety are likely to be compromised (which practically means a program may behave slowly, act erratically, hang or crash) if even a single process acts incorrectly. This includes:
requesting a resource and forgetting to release it
releasing a resource that was never requested
holding a resource for a long time without needing it
using a resource without requesting it first (or after releasing it).
Even if all processes follow these rules, multi-resource deadlock may still occur when there are different resources managed by different semaphores and when processes need to use more than one resource at a time, as illustrated by the dining philosophers problem.
many transmission media available and each media type has certain
characteristics, so it’s necessary to aware about all the benefits and
shortcomings of each one. •Cost & Ease of installation •Attenuation •Delay Distortion •Capacity (Bandwidth and throughput) •Transmission delay •Propagation delay •Interference •Noise •Thermal/White Noise •Intermodulation Noise •Crosstalk •Impulse Noise •Cost & Ease of installation : Costing is an important factors
, when we select a media. Because absolute cost and ease of installation data
are difficult to provide without referring to specific implementations, one can
make relative judgments by comparing each medium to the others. •Attenuation : Attenuation refers to the tendency of
electromagnetic waves to weaken or become distorted during transmission. It is
loss of energy as the signals propagates outwards. Attenuation increases with
distance, as a wave passes through a medium, some of its energy is absorbed or
scattered by the medium’s ph…
Service primitivesA service is formally by a set of primitives or operations a user or other entities can invoke to access the service. That is what materializes an interface. We commonly classify service primitives into 4 classes: primitivemeaningrequest an entity is requesting a service (we are requesting a connection to a remote computer) indication an entity is informed of an event (the receiver has just received a connection request) response an entity is responding to an event (the receiver is sending the permission to connect) confirm an entity acknowledges the response to its request (the sender acknoledge the permission to connect to the remote host) Most primitives need parameters. For instance, parameters of a CONNECT.request (used to query a connection) are the machine you want to connect to, the service you want to use (FTP, telnet...) and the maximum size of exchanged packets.
A acknowledged service is a service that requires a request, an indicatio…