分布式软件系统(Distributed Software Systems)是支持分布式处理的软件系统,它在由通信网络互联的多处理机体系结构上执行任务。它包括了分布式操作系统、分布式程序设计语言及其编译(解释)系统、分布式文件系统和分布式数据库系统等。
分布式软件系统具有多种特性,如:
- 可扩展性:能够随着系统需求的不断增加而方便地对系统进行扩展,这种扩展可以在规模、地域和管理等三个方面进行。
- 可靠性:当系统中的某个部分出现故障时,系统仍然具有继续运行的潜力。
- 资源共享:系统中的硬件和软件资源,如外部设备、文件系统和数据库等,可以被更多的用户所共享,甚至CPU和内存等资源也可被共享。
- 负载均衡:分布式操作系统可以根据各个节点的负载情况自动进行负载均衡,从而提高系统的运行效率。
- 并行处理:分布式操作系统允许在多个计算机节点上同时执行多个任务,从而提高了系统的处理能力。
- 容错能力:由于分布式操作系统在多个计算机节点上运行,因此具有很好的容错能力,当某个节点出现故障时,其他节点仍然可以正常运行,从而保证了系统的稳定运行。
- 数据一致性:分布式操作系统需要保证在多个计算机节点之间的数据一致性,这通常通过分布式锁、事务等机制来实现。
分布式操作系统负责管理分布式处理系统资源和控制分布式程序运行,与集中式操作系统的区别在于资源管理、进程通信和系统结构等方面。分布式程序设计语言则用于编写运行于分布式计算机系统上的分布式程序,一个分布式程序由若干个可以独立执行的程序模块组成,它们分布于一个分布式处理系统的多台计算机上被同时执行。