How to define Homology Functor in an arbitrary Abelian Category? In the Category of Modules over a Ring, the i-th Homology of a Chain Complex is defined as the Quotient
Ker d / Im d
where d as usual denotes the differentials, indexes skipped for simplicity.
How can this be generalized to a general Abelian Category? Do I have the notion of a Quotient there?
 A: The notion of a kernel makes sense in an arbitrary abelian category (or really a category with a zero object). By definition, a kernel of a morphism $A \to B$ is an object $C$ that represents the functor $Z \to \ker(\hom(Z, A) \to \hom(Z,B))$ (where the latter ker is of abelian groups). This means that homming into $Z$ is the same as homming into $A$ such that the composite to $B$ is zero.
Similarly, one can define cokernels via a universal property. The image can be defined as the kernel of the cokernel (think of what that translates to for abelian groups), or equivalently as the cokernel of the kernel (as this is one of the axioms of an abelian category). A quotient is a special case of a cokernel.
So if you have  a complex in an abelian category (such that the composites of maps is zero), then one can  see from the universal properties that there is a map $\operatorname{im}(d) \to \ker(d)$. If this is an isomorphism, then the complex is called exact. If you'd like a concrete example to try this out, you might consider for instance the category of sheaves on a topological space, for which a bunch of exercises that work things out are in chapter II of Hartshorne.
Cf. books on homological algebra and category theory, e.g. MacLane's Categories for the working mathematician.
A: First an answer your question about quotients: One of the axioms of an abelian category says that every morphism has a cokernel. The quotient $B/A$ of a monomorphism $f:A \to B$ is simply its cokernel.
[Recall that the cokernel $p: B \to B/A$ is defined by the following universal property: Given a morphism $g:B \to X$ whose composition with $A \to B$ is zero there is a unique factorization $h: B/A \to X$ such that $g = hp$.]

A morphism $f: A \to B$ in an abelian category has four associated objects and five associated morphisms:

The kernel $\text{ker}\,(f): \text{Ker}\,(f) \to A$, the cokernel $\text{coker}\,(f): B \to \text{Coker}\,(f)$, the coimage $\text{Coim}\,{(f)} = \text{Coker}\,(\text{ker}\,(f))$ and the image $\text{Im}\,(f) = \text{Ker}\,(\text{coker}\,(f))$. The main axiom of abelian categories states that the canonical morphism $\hat{f}:\text{Coim}\,(f) \to \text{Im}\,(f)$ (uniquely determined by requiring that the diagram be commutative) always is an isomorphism.
Now given two morphisms $f:A' \to A$ and $g:A \to A''$ such that $gf = 0$ there are three ways to define the homology of the "complex" $A' \to A \to A''$:


*

*$\text{Coker}\,(\text{Im}\,(f) \to \text{Ker}\,(g))$,

*$\text{Ker}\,(\text{Coker}\,(f) \to \text{Coim}\,(g))$,

*$\text{Im}\,(\text{Ker}\,(g)\to \text{Coker}\,(f))$.



The first of these corresponds to the usual $\text{Ker}/\text{Im}$ and it is not very hard to show that all three ways give canonically isomorphic objects in an abelian category. It is essential to require the category to be abelian here, the three possibilities are distinct in a general additive category (with kernels and cokernels).
A: The key is to give the definition of homology in a module chain by the language of category, and then generalize it to the Abelian category.
Let A→B→C be a module chain with f:A→B, g:B→C, gf=0. Then the homolgy at B is just
the cokernel of the embedding i:im f→Ker g. So we want to define i by the language of category. Note that f=jf1, where f1:A→im f has the same definition with that of f on A, j:im f→B is the embedding. gf=0 implies gjf1=0, then gj=0 by f1 being epi. So there is a unique morphism h: im f→Ker g so that j=kh, where k is the kernal mapping k: Ker g→B. 
We then show that h is just i. This is due to direct computation. Given b in im f, b=j(b)=(kh)(b)=k(h(b))=h(b). The fisrt equality holds because j is embedding, similar arguments to the last equality.
Now we want to know whether the way to define h(=i) is a way of using the language of category. We fisrt decompose f into the composition of a epimorphism followed by a monomorphism, which is not justified in an arbitrary category, but justified in an Abelian category (this is what Abelian does!). Furthermore, the range of the epimorphism in an Abelian category is just the image of f(this can be proved, but not very easy), which concides with the modular case. Then we construct h just by the universal property of the kernel of g. So we can define h in an Abelian category. But we now cannot ask whether h=i, because i makes no sense in an arbitrary category. But we have already shown that h=i in the modular case, so we can use h directly instead of i in the arbitrary case, which will give a generalization(this is why we needn't know, we just want a generalization!).
So the definition follows, it's just cokernel of h: im f→Ker g, where h is defined above.
