
计算机软件系统主要分为两大类:系统软件和应用软件。
系统软件负责控制和协调计算机及其外部设备,支持应用软件的开发与运行。这类软件包括操作系统、语言处理程序、数据库管理系统以及网络管理系统等。
应用软件则是针对特定领域开发,旨在满足特定需求的软件。它们直接满足用户需求,能够提高工作效率,解决实际问题。应用软件通常分为实用型软件和工具软件。实用型软件如会计软件、教育系统、工程预算工具等;工具软件如文字处理软件、设计软件和系统维护工具等。
操作系统管理计算机资源和控制程序运行,是系统软件的核心。语言处理程序支持软件语言的处理,如编译器的开发。数据库管理系统允许用户管理和访问数据,包括数据库定义和数据操作。
分布式软件系统涉及分布式操作系统、程序设计系统、文件系统和数据库系统,支持在多个位置分散的资源管理和访问。人机交互系统提供用户友好的界面,使用户能够与计算机系统高效交互。
操作系统的功能涵盖处理器管理、存储管理、文件管理、设备管理和作业管理。它研究的关键问题包括系统结构、进程调度、同步与互斥、死锁预防、内存分配、设备管理和并行处理等。