Distributed systems architectures allow software to execute across multiple processors. Key approaches include client-server systems and distributed object architectures. Client-server divides an application into client and server components, while distributed object architectures treat all entities as objects that provide and consume services. Middleware like CORBA supports object communication and common services.