This survey paper is based on three talks given by the second author at the London Mathematical Society Durham Symposium on Computational Linear Algebra for Partial Differential Equations in the summer of 2008. The main focus will be on an abstract approach to the construction of preconditioners for symmetric linear systems in a Hilbert space setting. Typical examples that are covered by this theory are systems of partial differential equations which correspond to saddle point problems. We will argue that the mapping properties of the coefficient operators suggest that block diagonal preconditioners are natural choices for these systems. To illustrate our approach a number of examples will be considered. In particular, parameter-dependent systems arising in areas like incompressible flow, linear elasticity, and optimal control theory will be studied. The paper contains analysis of several models which have previously been discussed in the literature. However, here each example is discussed with reference to a more unified abstract approach.here we show how a number of different problems can be treated by the same abstract framework. Furthermore, in Section 5 we focus on the close link between the proper choice of preconditioner and the classical variational theory of Babuška [3,4].The strength of the approach taken in this paper is best illustrated by the construction of preconditioners for parameter-dependent problems. By a systematic approach we easily identify preconditioners which behave uniformly both with respect to these model parameters and the discretization parameter. The list of examples studied below includes stationary systems obtained from implicit time discretizations of the time-dependent Stokes problem, where the time step is a critical parameter. Another example we will consider is the singular perturbation problem referred to as the Reissner-Mindlin plate model, where the thickness of the plate enters as a parameter. An example of an optimal control problem will also be discussed. It is well known that the solutions of such systems depend strongly on the so-called regularization parameters, but below we show that for some problems it is possible to design preconditioners such that the conditioning of the preconditioned systems is bounded uniformly with respect to the regularization parameters.For the construction of practical preconditioners for discrete systems, the computational cost of evaluating these operators and the memory requirements of these procedures are key factors. These issues will not be discussed in full detail in this paper. The aim of the discussions here is to identify what we refer to as canonical preconditioners, which are block diagonal operators suggested by the mapping properties of the coefficient operators of the systems, i.e. the blocks will typically correspond to exact inverses of discretizations of differential operators. These canonical operators identify the basic structure of the preconditioner. However, in order to use this approach to construct practical and ...