This essay has been submitted by a student. This is not an example of the work written by professional essay writers.
Uncategorized

Pipe and Filter Commands

Pssst… we can write an original essay just for you.

Any subject. Any type of essay. We’ll even meet a 3-hour deadline.

GET YOUR PRICE

writers online

 

 

 

 

 

Pipe and Filter Commands

Name

Affiliation

Date

 

 

 

 

 

 

 

Pipe and Filter Commands

A pipe is a form where outputs from one process is transformed into the inputs of another process (Fehling, 2014). Pipes, in essence, are specific forms of conversions utilized in a particular operating system to send output to the program to be polished. Filter, on the other hand, is a component that renews processes and passes them through the pipe. A filter is important because it helps to control data through a software system. Douglas McIlroy designed filters and pipes in the 1970s (Spolsky & Holub, 2001). After realizing that the command shell often took a lot of time from the output files and documents to other programs, he developed this specific idea. Dennis Ritchie and Ken Thomson revolutionized the pipe and filter idea. They have made the idea to be familiar to many professionals. After they developed Unix, they supported direct pipelines. Following the concept where physical pipelines were linked, the name piping was adopted (Qin, Xing, & Xiang, 2008). In conjunction with regular expressions and hierarchical file systems, the pipes and filters rank as one of the most eye-catching and powerful structures of operating systems such as Unix.

Strengths of using pipes and filters

In utilizing pipe and filter commands, one of the most notable advantages is simple to use. Also, the maintenance is use-friendly along with its simplicity (Fehling, 2014).  Pipe and filter commands are also reusable. Each filter can be simultaneously implemented and can be given separate tasks. The capability of combing many commands with pipes on a single command line is as well considered a strength.

Pipe and filter is interdependent. They often work well with one another. The filter failures, however, do not affect the systems of pipelines. For example, pipelines can be utilized to adjourn the activities that filters carry out when filter commands fail to complete specific commands (Qin, Xing, & Xiang, 2008). The pipes can redirect to other operating system components to ensure that this work is not lost. The pipelines thus do not wholly rely on filters. The filter and pipe patterns create platforms for data calculation, depending on the operation descriptions of the filters’ component. Operations carried out are easy to be articulated and evaluated by analyses of data outputs or inputs requested for execution.

Filter and pipe are easy to operate and maintain. This can be improved via the exchange of filters. They consist of components that permit parallel systems to be reused (Qin, Xing, & Xiang, 2008). New filters also allow adjustability of the pipes when introduced together with the replacements of other exhausted filters.

Commands of filters and pipes can assist in establishing how distributed patterns can be used. However, the two components would have to work together with the modules of compensating transaction systems to perform these tasks. Improved via applications of pipes and filters, any transactions can be separated into simple components (Fehling, 2014). The architectural patterns of filters and pipes enable quick prototyping. The recombination of patterns and exchanges of the patterns create rooms for pipeline prototyping that allow the pipes to improve the performance and functionality.

Limitations of using pipes and filters command

Synchronization is one of the weaknesses related to the pipe and filter. For example, the filters can be massively affected when program implementation takes too much time, resulting in delays in operations (Spolsky & Holub, 2001). The huge workloads can lead to filter delays that they may be unable to handle.

The filter and pipe do not wholly deal with errors effectively. They may fail to reflect the errors in the overall operating systems (Fehling, 2014). Recovering errors may be problematic when errors are detected in the designs. This can result in the pipe restarting by the systems. These factors render the pipes inefficient in solving specific applications.

In using filter and pipe commands, the limitations are the pipes can only permit a single data. For the filters, parsing would need to be done. This would slow the process. The filters and pipes will not work correctly and will not be compatible with the diverse types of data, and if different pipes are created (Spolsky & Holub, 2001). The filters need to wait until they have received all information. The buffer may overflow if the filter does not receive all the data. The filters may also come to a complete standstill.

Comparison between the benefits of pipes and commands with the GUI commands

The pipes and filters can be utilized together in subdividing each daunting activity into smaller tasks that can be easily worked on (Spolsky & Holub, 2001). This allows users to have the best instrument for handling smaller activities. The filter can allow the user to manage complex programs quite easily when combined with pipes. Under Unix, several complicated tasks can be performed through combinations of filters on the command lines. The GUI command tends to utilize specific windows and applications that many users are familiar with. The users can, therefore, have easy control of GUI commands. Also, the tools used in GUI commands can help solve all challenges that users would have through the handling of protocols.  As compared to the pipe and filter commands, remote access is made available through GUI (Fehling, 2014). This may make filter and pipe invaluable.

For instance, see the block chart below:

 

The filter can filter or convert data in this chart while they pass via pipe connectors. The filters work concurrently and continuously. The chart is an illustration of the architectural stream processing pattern.

 

 

 

 

 

 

 

References

Fehling, C. (2014). Cloud Computing Patterns: Fundamentals to Design, Build, and Manage Cloud Applications. Wien: Springer.

Qin, Z., Xing, J., & Xiang, Z. (2008). Software Architecture. Berlin; Heidelberg: Springer.

Spolsky, J., & Holub, A. I. (2001). User Interface Design for Programmers. Berkeley, Calif: Apress.

 

 

 

  Remember! This is just a sample.

Save time and get your custom paper from our expert writers

 Get started in just 3 minutes
 Sit back relax and leave the writing to us
 Sources and citations are provided
 100% Plagiarism free
error: Content is protected !!
×
Hi, my name is Jenn 👋

In case you can’t find a sample example, our professional writers are ready to help you with writing your own paper. All you need to do is fill out a short form and submit an order

Check Out the Form
Need Help?
Dont be shy to ask