一般来说,系统软件是处在计算机软件最底层的,向下直接与硬件打交道,向上直接与应用软件打交道,一身托两家。
系统软件再细分的种类就很少了。
最底层的是操作系统,直接与硬件沟通,比如与内存、与显示器、与打印机、与硬盘数据传递,都需要操作系统。同时,操作系统类似一个母体,任何其他软件都是在操作系统上运行。没有操作系统,就谈不上其他的软件。现在最火的操作系统有这些,个人电脑的windows操作系统,例如winxp、win7、win10等。服务器的操作系统有window server系列、UNIX系列等。智能手机的操作系统有安卓系列和IOS系列。
这些统治个人电脑和手机的操作系统,基本都是国外的操作系统,任何使用这些操作系统的单位与个人,从理论上讲就受治于人。我们国家近些年也在大力发展我们自己的操作系统,就是想摆脱这种受以制肘的潜在威胁。
在操作系统上面,还有一种系统软件,那就是用来开发各种应用软件的语言环境或平台。这类软件不是应用软件,也不是操作系统,而是一种支撑系统,是专门负责我们开发应用软件的系统。也属于系统软件。
比如微软公司的VS系列软件、管理数据的数据库系统软件。通俗点说,这类软件不解决我们的实际问题,只是帮助或支撑我们开发、运行应用软件,这类软件或者工具都属于支撑系统。
2、应用软件,是软件的另一个种类。
应用软件才是老百姓最关心的,也是最百家争鸣、百花齐放的,也是数量最多的软件。应用软件无法具体分类了,因为了太多了,比如淘宝上有多少类商品,我就可以有多类应用软件,所以应用软件没必要再分了。
但我们可以通过举例子,让大家更清楚到底什么是应用软件。
我们常用的表格处理、office办公软件、教育软件、游戏软件、生产管理软件、学生成绩管理软件、财务管理软件、各类的网站、聊天社交工具等等。再通俗点讲,应用软件就是直接为普通老百姓服务的软件,都是应用软件。为专业人士服务的软件不一定都是应用软件,支撑软件就是为专业人士服务的,它属于系统软件。
底层就是实现软件功能的基本模块,应用层就是直接面向用户的功能模块。举个例子,假设要制造一把椅子,那么底层就是负责 砍木头、造钉子、造油漆,应用层就是告诉底层“我要多长多宽的木头,多大的钉子,什么颜色的油漆”,底层造好材料之后,应用层把这些原材料组合成最终的椅子给用户。系统软件的核心应该应该操作系统,困为计算机软件都是要以操作系统为平台的。软件系统(Software Systems)是指由系统软件、支撑软件和应用软件组成的计算机软件系统,它是计算机系统中由软件组成的部分。它包括操作系统、语言处理系统、数据库系统、分布式软件系统和人机交互系统等。操作系统用于管理计算机的资源和控制程序的运行。语言处理系统是用于处理软件语言等的软件,如编译程序等。数据库系统是用于支持数据管理和存取的软件,它包括数据库、数据库管理系统等。数据库是常驻在计算机系统内的一组数据,它们之间的关系用数据模式来定义,并用数据定义语言来描述;数据库管理系统是使用户可以把数据作为轴象项进行存取、使用和修改的软件。分布式软件系统包括分布式操作系统、分布式程序设计系统、分布式文件系统、分布式数据库系统等。人机交互系统是提供用户与计算机系统之间按照一定的约定进行信息交互的软件系统,可为用户提供一个友善的人机界面。操作系统的功能包括处理器管理、存储管理、文件管理、设备管理和作业管理。其主要研究内容包括:操作系统的结构、进程(任务)调度、同步机制、死锁防止、内存分配、设备分配、并行机制、容错和恢复机制等。语言处理系统的功能是各种软件语言的处理程序,它把用户用软件语言书写的各种源程序转换成为可为计算机识别和运行的目标程序,从而获得预期结果。其主要研究内容包括:语言的翻译技术和翻译程序的构造方法与工具,此外,它还涉及正文编辑技术、连接编辑技术和装入技术等。数据库系统的主要功能包括数据库的定义和操纵、共享数据的并发控制、数据的安全和保密等。按数据定义模块划分,数据库系统可分为关系数据库、层次数据库和网状数据库。按控制方式划分,可分为集中式数据库系统、分布式数据库系统和并行数据库系统。数据库系统研究的主要内容包括:数据库设计、数据模式、数据定义和操作语言、关系数据库理论、数据完整性和相容性、数据库恢复与容错、死锁控制和防止、数据安全性等。分布式软件系统的功能是管理分布式计算机系统资源和控制分布式程序的运行,提供分布式程序设计语言和工具,提供分布式文件系统管理和分布式数据库管理关系等。分布式软件系统的主要研究内容包括分布式操作系统和网络操作系统、分布式程序设计、分布式文件系统和分布式数据库系统。人机交互系统的主要功能是在人和计算机之间提供一个友善的人机接口。其主要研究内容包括人机交互原理、人机接口分析及规约、认知复杂性理论、数据输入、显示和检索接口、计算机控制接口等。软件 系统分布式软件系统(Distributed Software Systems)是支持分布式处理的软件系统,是在由通信网络互联的多处理机体系结构上执行任务的系统。它包括分布式操作系统、分布式程序设计语言及其编译(解释)系统、分布式文件系统和分布式数据库系统等。分布式操作系统负责管理分布式处理系统资源和控制分布式程序运行。它和集中式操作系统的区别在于资源管理、进程通信和系统结构等方面。分布式程序设计语言用于编写运行于分布式计算机系统上的分布式程序。一个分布式程序由若干个可以独立执行的程序模块组成,它们分布于一个分布式处理系统的多台计算机上被同时执行。它与集中式的程序设计语言相比有三个特点:分布性、通信性和稳健性。分布式文件系统具有执行远程文件存取的能力,并以透明方式对分布在网络上的文件进行管理和存取。分布式数据库系统由分布于多个计算机结点上的若干个数据库系统组成,它提供有效的存取手段来操纵这些结点上的子数据库。分布式数据库在使用上可视为一个完整的数据库,而实际上它是分布在地理分散的各个结点上。当然,分布在各个结点上的子数据库在逻辑上是相关的。