While the actual process of mining is handled by the mining hardware itself, special software is needed to connect your miners to the blockchain and your mining pool as well, if you are part of a mining pool. The software delivers the work to the miners and receives the completed work from the miners and relays that information back to the blockchain and your mining pool. The software can run on almost any operating system, such as OSX, Windows, Linux, and has even been ported to work on a Raspberry Pi with some modifications for drivers depending on your mining setup.

Not only does the software relay the input and output of your miners to the blockchain, but it also monitors them and displays general statistics such as the temperature, hashrate, fan speed, and average speed of the miner.

There are a few different types of mining software out there and each have their own advantages and disadvantages, so be sure to read up on the various mining software out there.

A few examples of mining software:

EASYMINER: A GUI based miner for Windows, Linux and Android. EasyMiner acts as a convenient wrapper for the built in CG & BFGminer softwares. It auto configures your miners and provides performance graphs to for easy visualization of your mining activity.
Download: http://www.butterflylabs.com/drivers/

BFGMINER: A modular ASIC, FPGA, GPU and CPU miner written in C, cross platform for Linux, Mac, and Windows including support for OpenWrt-capable routers.
Download: https://github.com/luke-jr/bfgminer

CGMINER: This is a multi-threaded multi-pool GPU, FPGA and ASIC miner with ATI GPU monitoring, (over)clocking and fanspeed support for bitcoin and derivative coins.
Download: https://github.com/ckolivas/cgminer

If you want to get a better idea of mining without installing any software, try Bitcoin Plus, a browser-based CPU Bitcoin miner. As a CPU miner it's not cost-efficient for serious mining, but it helps illustrate the process of pool mining.