In this paper we analyze: (i) a storage allocation algorithm (D.E. Knuth, The Art of Computer Programming-Vol. I, Addison-Wesley, Reading, MA, 1969, Ex. 2.2.2.13) which permits one to maintain two stacks inside a shared (continuous) memory area of a fixed size, and (ii) the well-known banker algorithm which plays a fundamental role in parallel processing (J. Francon, Combinatoire et Parallelisme; Journees Informatique et Mathematique; Lumigny, October 15-17, 1987; A. N. Habermann, in Current Trends in Programming Methodology, Vol. 3, K. M. Chandy and R. T. Yeh, Eds., Prentice-Hall, Englewood Cliffs, NJ, 1987; J. Peterson and A. Silberschatz, Operating Systems Concepts, Addison-Wesley, Reading, MA, 1983). The natural formulation of the problems to be solved here is in terms of random walks. For (i) the random walk Ym(-) takes place in a triangle in a two-dimensional lattice space with two reflecting barriers along the axes (a deletion has no effect on an empty stack) and one absorbing barrier along the diagonal (the algorithm stops when the combined sizes of the stacks exhaust the available storage). For (ii) the random walk takes place in a rectangle with broken corner and has four reflecting barriers and one absorbing barrier (see Fig. 10). With the help of diffusion techniques, we obtain, asymptotically as m: ∞. the distributions of the hitting place (Zm) and hitting time (Tm) on the absorbing boundary. the joint distribution of Zm and Tm. the distribution P[Ym(n) ≦ ym, n < Tm].