Learn | Explore | Share | Challenge Yourself | Enjoy | Make This World Beautiful Place To Live For Everyone|

Spooling, Buffering & Caching—What’s The Difference??

In computing, there are many terms which are closely related and we often know them individually but comparing them and telling the difference between them can be a pain. The same situation was faced by me and all other 32 students in the room during a lecture when our professor posed this question. Though we knew the terms but telling the difference was tough.

These terms are not mutually exclusive and their functions are frequently combined but they have intended difference.


  • Acronym of  “Simultaneous Peripheral Operation On-Line”.
  • Its a process of placing data  in temporary working  area for another  program to process.
  • E.g: Print spooling and Mail spools etc.
  • When there is a resource (like printer)  to be accessed by two or more processes(or devices), there spooling comes handy to schedule the tasks. Data from each process is put on the spool (print queue) and processed in FIFO(first in first out)  manner.
  • With spooling all process can access the resource without waiting.
  • After writing the data on spool, process can perform other tasks. And printing process operates seperately.
  • Without spooling, process would be tied up until the printing finished.
  • Spooling is useful for the devices which have differing data access rate. Used mainly when processes share some resource and needed to have synchronization.


  • Preloading data into a reserved area of memory (the buffer).
  • It temporarily stores input or output data in an attempt to better match the speeds of two devices such as a fast CPU and a slow disk drive.
  • Buffer may be used in between when moving data between two processes within a computer. Data is stored in buffer as it is retrieved from one processes or just before it is sent to another process.
  • With spooling, the disk is used as a very large buffer. Usually complete jobs are queued on disk to be completed later.
  • It is mostly used for input, output, and sometimes temporary storage of data either when transfer of data takes place or data that may be modified in a non-sequential manner.


  • Caching transparently stores data in component called Cache, so that future request for that data can be served faster.
  • A special high-speed storage mechanism. It can be either a reserved section of main memory or an independent high-speed storage device.
  • The data that is stored within a cache might be values that have been computed earlier or duplicates of original values that are stored elsewhere.
  • E.g: Memory Caching, Disk Caching, Web Caching(used in browser), Database Caching etc.
  • A cache’s sole purpose is to reduce accesses to the underlying slower storage.


  1. All three enhances performance and makes system faster.
  2. Caching usually used as a buffer.
  3. Spooling is better than buffering ( Buffering overlaps input, output and processing of a single job whereas Spooling allows CPU to overlap
    the input of one job with the computation and output of other jobs).

Text Messaging—Infographic

I found this infographic at You guys) and thought it is worth sharing. It is compact and knowledgeble. Idea of infographic is fantastic. If made properly, can serve as a great resource for everyone and above all its a great way to sum up knowledge and information. This way readers find it interesting and can remember well.

We all are addicted to text messaging and why not be?, its is the easiest way to communicate. We can’t ring friends for each sillest thing and it also doesn’t cost us much. Text messaging allow us to be stay connected with friends and peers without being bored. Its fast, mobile and u can even use in LIBRARY(Thank god:P).


Building Online Brand

Though i am new to this space but during my project for knowledge management course i explored this domain(building online brand) and found out that its actually (or definitely) very useful for any online business or blog or website. During my research i mostly focused on ‘What should be the strategy to attract more visitors to a website’ or ‘How to Build a quality  website’.

Purpose for any website is to attract valuable(or genuine) customers or visitors (neither less nor fake). Keeping your intends clear helps lot. Attracting unwanted crowd, just for the sake of  counts,  should not be the purpose of any serious online venture. So increasing hits and page views should not be the goal because these are not appropriate measure to know popularity of your website rather  attract worthy and targeted audience who eventually gets converted into clients.


->Increasing Hits.

->Increasing page views.

Focus on:

->Increasing sessions.

->Increasing unique visitors.

While building website its not all about making leap ahead in terms of coding, its more than that. There are processes to look upon to host a quality website.

Whats quality website??

Quality website is one that people want to visit and link to.

There are two versions of quality—–

1. How visitors assess your site.

2. How search engine views your site.

These two quality parameters are the coefficients which must be looked upon while hosting online business.

Keeping in mind these two coefficients I develop a small research instrument (mainly to fulfill my course credits requirement :P) which can help you give some insight to make a useful or quality website and i call it ‘website information architecture’  which covers three important pillars towards building online brand.

  • DESIGN—–Effort To Impose A Meaningful Order.
  • BEHAVIORIAL ANALYSIS—-Know Your Online Visitors Intend.
  • SEARCH ENGINE OPTIMISATION (SEO)—–Reflecting Consciousness And Connecting Commerce.
Presentation which i created is amalgamation of my online research and includes views of many beautiful people who
unknowingly contributed to my education process. I thank all of them through this post.

Download PPT here:

Website Information Architecture

Quick Linux..

-linux is kernel.

-Kernel–lower abstraction layer of OS.

-linux distributions —ubantu , fedora ,opensuSE.

-OS Family—-Unix-like.

-Users operate a Linux-based system through a CLI, a GUI, or through controls attached to the associated hardware, which is common for embedded systems.

-CLI(Command Line Interface)–method of interaction with computer based on text commands -entered at the prompt.

-GUI-graphical user interface.

-Linux kernel is maintained by FLOSS(free/libre/open source  software).

-POSIX—portable operating system interface.

-Fact—Ubantu is an ancient african word, meaning ‘humaniy to others’

-Similar to explorer in Windows, there is nautilus in Ubantu.

for GUI(Gnome,KDE,XFCE) in Linux:-

-The syntax for a lookup in the manual is: man [-] [-k keywords] topic.

-Windows and Mac OS X have something in common: one desktop -GUI. Mac OS X doesnot even have multiple themes

-Linux  on the other hand, has 3 major desktop managers and more than 10 window managers.

-The GNOME project provides two things: The GNOME desktop environment, an intuitive andattractive desktop for users, and the GNOME development platform, an extensive framework forbuilding applications that integrate into the rest of the desktop.


-date—>shows current date.

-uptime—->shows time since last login.

-ls—->lists all the files.

-pwd—->shows your current location

-sudo—->makes you enter command as different user.

-cd dir_name—->navigates you to that directory.

-cd ..—->navigates you to home directory.

-whoami—->shows information about the current user.

-wget {path to file}–download the file from the internet.

-sudo apt-get install{packagename}–dowloads and install the package.

-uname -a: shows info about the kernel.

-df—shows info about disk usage.

-mkdir dir_namee—–creates new diretory.

-rm -r::::removes directory or file.

-cp -r ::: copy diectory or file.

-locate -r file*.txt—searches the indexes for all entries matching  file*.txt.

-ping{host}—sends ping to address u provide.

-whois{domain}—-shows whois info about the domain.

-iwlist scan—scans for available wireless network.

-lpq—  displays current print queue(A reserved area of memory or disk that holds output designated for the printer until the printer can receive it).

-smbtree—-shows available windows network share.

-ifconfig—configure TCP/IP network interfaces.

-apropose {subject}–list manual pages for subject.

Post Navigation