软件系统

所谓软件是指为方便使用计算机和提高使用效率而组织的程序以及用于开发、使用和维护的有关文档。软件系统可分为系统软件和应用软件两大类。

1、系统软件

系统软件由一组控制计算机系统并管理其资源的程序组成,其主要功能包括:启动计算机,存储、加载和执行应用程序,对文件进行排序、检索,将程序语言翻译成机器语言等。实际上,系统软件可以看作用户与计算机的接口,它为应用软件和用户提供了控制、访问硬件的手段,这些功能主要由操作系统完成。此外,编译系统和各种工具软件也属此类,它们从另一方面辅助用户使用计算机。下面分别介绍它们的功能。

1)操作系统(Operating System, OS)

操作系统是管理、控制和监督计算机软、硬件资源协调运行的程序系统,由一系列具有不同控制和管理功能的程序组成,它是直接运行在计算机硬件上的、最基本的系统软件,是系统软件的核心。操作系统是计算机发展中的产物,它的主要目的有两个:一是方便用户使用计算机,是用户和计算机的接口。比如用户键入一条简单的命令就能自动完成复杂的功能,这就是操作系统帮助的结果;二是统一管理计算机系统的全部资源,合理组织计算机工作流程,以便充分、合理地发挥计算机的效率。操作系统通常应包括下列五大功能模块:

(1)处理器管理。当多个程序同时运行时,解决处理器(CPU)时间的分配问题。

(2)作业管理。完成某个独立任务的程序及其所需的数据组成一个作业。作业管理的任务主要是为用户提供一个使用计算机的界面使其方便地运行自己的作业,并对所有进入系统的作业进行调度和控制,尽可能高效地利用整个系统的资源。

(3)存储器管理。为各个程序及其使用的数据分配存储空间,并保证它们互不干扰。

(4)设备管理。根据用户提出使用设备的请求进行设备分配,同时还能随时接收设备的请求(称为中断),如要求输入信息。

(5)文件管理。主要负责文件的存储、检索、共享和保护,为用户提供文件操作的方便。

操作系统的种类繁多,依其功能和特性分为批处理操作系统、分时操作系统和实时操作系统等;依同时管理用户数的多少分为单用户操作系统和多用户操作系统;适合管理计算机网络环境的网络操作系统。按其发展前后过程,通常分成以下六类:

(1)单用户操作系统(Single User Operating System)

单用户操作系统的主要特征是计算机系统内一次只能支持运行一个用户程序。这类系统的最大缺点是计算机系统的资源不能充分利用。微型机的DOS、Windows操作系统属于这一类。

(2)批处理操作系统(Batch Processing Operating System)

批处理操作系统是20世纪70年代运行于大、中型计算机上的操作系统。当时由于单用户单任务操作系统的CPU使用效率低,I/O设备资源未充分利用,因而产生了多道批处理系统,它主要运行在大中型机上。多道是指多个程序或多个作业(Multi-Programs or Multi Jobs)同时存在和运行,故也称为多任务操作系统。IBM的DOS/VSE就是这类系统。

(3)分时操作系统(Time-Sharing Operating System)

分时系统是一种具有如下特征的操作系统:在一台计算机周围挂上若干台近程或远程终端,每个用户可以在各自的终端上以交互的方式控制作业运行。

在分时系统管理下,虽然各用户使用的是同一台计算机,但却能给用户一种“独占计算机”的感觉。实际上是分时操作系统将CPU时间资源划分成极小的时间片(毫秒量级),轮流分给每个终端用户使用,当一个用户的时间片用完后,CPU就转给另一个用户,前一个用户只能等待下一次轮到。由于人的思考、反应和键入的速度通常比cpu的速度慢得多,所以只要同时上机的用户不超过一定数量,人们不会有延迟的感觉,好像每个用户都独占着计算机。分时系统的优点是:第一,经济实惠,可充分利用计算机资源;第二,由于采用交互会话方式控制作业,用户可以坐在终端前边思考、边调整、边修改,从而大大缩短了解题周期;第三,分时系统的多个用户间可以通过文件系统彼此交流数据和共享各种文件,在各自的终端上协同完成共同的任务。分时操作系统是多用户多任务操作系统,UNIX是国际上最流行的分时操作系统。此外,UNIX具有网络通信与网络服务的功能,也是广泛使用的网络操作系统。

(4)实时操作系统(Real-Time Operating System)

在某些应用领域,要求计算机对数据能进行迅速处理。例如,在自动驾驶仪控制下飞行的飞机、导弹的自动控制系统中,计算机必须对测量系统测得的数据及时、快速地进行处理和反应,以便达到控制的目的,否则就会失去战机。这种有响应时间要求的快速处理过程叫做实时处理过程,当然,响应的时间要求可长可短,可以是秒、毫秒或微秒级的。对于这类实时处理过程,批处理系统或分时系统均无能为力了,因此产生了另一类操作系统——实时操作系统。配置实时操作系统的计算机系统称为实时系统。实时系统按其使用方式可分成两类:一类是广泛用于钢铁、炼油、化工生产过程控制,武器制导等各个领域中的实时控制系统;另一类是广泛用于自动订票系统、情报检索系统、银行业务系统、超级市场销售系统中的实时数据处理系统。

(5)网络操作系统(Network Operating System)

计算机网络是通过通信线路将地理上分散且独立的计算机联结起来的一种网络,有了计算机网络之后,用户可以突破地理条件的限制,方便地使用远处的计算机资源。提供网络通信和网络资源共享功能的操作系统称为网络操作系统。

(6)微机操作系统

微机操作系统随着微机硬件技术的发展而发展,从简单到复杂。Microsoft公司开发的DOS是一单用户单任务系统,而Windows操作系统则是一单用户多任务系统,经过十几年的发展,已从Windows 3.1发展到目前的Windows NT、Windows 2000和Windows XP,它是当前微机中广泛使用的操作系统之一。Linux是一个原码公开的操作系统,目前已被越来越多的用户所采用,是Windows操作系统强有力的竞争对手。

2)语言处理系统(翻译程序)

如前所述,机器语言是计算机唯一能直接识别和执行的程序语言。如果要在计算机上运行高级语言程序就必须配备程序语言翻译程序(下简称翻译程序)。翻译程序本身是一组程序,不同的高级语言都有相应的翻译程序。
对于高级语言来说,翻译的方法有两种:

一种称为“解释”。早期的BASIC源程序的执行都采用这种方式。它调用机器配备的BASIC“解释程序”,在运行BASIC源程序时,逐条把BASIC的源程序语句进行解释和执行,它不保留目标程序代码,即不产生可执行文件。这种方式速度较慢,每次运行都要经过“解释”,边解释边执行。

另一种称为“编译”,它调用相应语言的编译程序,把源程序变成目标程序(以.OBJ为扩展名),然后再用连接程序,把目标程序与库文件相连接形成可执行文件。尽管编译的过程复杂一些,但它形成的可执行文件(以.exe为扩展名)可以反复执行,速度较快。运行程序时只要键入可执行程序的文件名,再按Enter键即可。

对源程序进行解释和编译任务的程序,分别叫做编译程序和解释程序。如FORTRAN、COBOL、PASCAL和C等高级语言,使用时需有相应的编译程序;BASIC、LISP等高级语言,使用时需用相应的解释程序。

3)服务程序

服务程序能够提供一些常用的服务性功能,它们为用户开发程序和使用计算机提供了方便,像微机上经常使用的诊断程序、调试程序、编辑程序均属此类。

4)数据库管理系统

在信息社会里,社会和生产活动产生的信息很多,使人工管理难以应付,人们希望借助计算机对信息进行搜集、存储、处理和使用。数据库系统(Data Base System, DBS)就是在这种需求背景下产生和发展的。

数据库是指按照一定联系存储的数据集合,可为多种应用共享。数据库管理系统(Data Base Management System, DBMS)则是能够对数据库进行加工、管理的系统软件。其主要功能是建立、消除、维护数据库及对库中数据进行各种操作。数据库系统主要由数据库(DB)、数据库管理系统(DBMS)以及相应的应用程序组成。数据库系统不但能够存放大量的数据,更重要的是能迅速、自动地对数据进行检索、修改、统计、排序、合并等操作,以得到所需的信息。这一点是传统的文件柜无法做到的。

数据库技术是计算机技术中发展最快、应用最广的一个分支。可以说,在今后的计算机应用开发中大都离不开数据库。因此,了解数据库技术尤其是微机环境下的数据库应用是非常必要的。

2、应用软件

为解决各类实际问题而设计的程序系统称为应用软件。从其服务对象的角度,又可分为通用软件和专用软件两类。

1)通用软件

这类软件通常是为解决某一类问题而设计的,而这类问题是很多人都要遇到和解决的。例如:文字处理、表格处理、电子演示等。

2)专用软件

在市场上可以买到通用软件,但有些具有特殊功能和需求的软件是无法买到的。比如某个用户希望有一个程序能自动控制车床,同时也能将各种事务性工作集成起来统一管理。因为它对于一般用户是太特殊了,所以只能组织人力开发。当然开发出来的这种软件也只能专用于这种情况。

时间: 2024-08-09 21:56:21

软件系统的相关文章

java软件系统功能设计实战训练视频教程

http://pan.baidu.com/s/1o8zAxw2 java软件系统功能设计实战训练视频教程+资料+源码 ------------------------------------------------------------------- 01:整体课程介绍和杂项介绍.mp4 02:软件功能设计常见理念和方法.mp4 03:关于软件设计的一些思考.mp4 04:第一周作业的业务和相应模式:综合应用简单工厂模式.代理模式.中介者模式.mp4 05:第一周设计作业的基础概要代码.mp4

我们是如何构建复杂软件系统的

如今,现代互联网软件应用已经成为一项需要很多人一起构建与维护的庞大工程. 我们是怎么构建复杂软件系统的呢? 一切源于对人类生存处境和现实问题的洞察和思考. 计算机起源于大量科学计算的需求: 接着, 通信成为重要驱动力: 紧接着, 万维网与分享成为主流, 搜索引擎助力:  然后, 智能手机催生了移动时代的来临, 进而引起云计算和大数据的技术变革: 在云计算和大数据之上,构建智能精准的业务. 产品经理是洞察人们处境和需求的先锋队,是产品成长的守护者: 项目经理组织协调资源,在可接受的成本下督导项目与

电力行业ERP管理软件系统

ERP(Enterprise Resource Planning)即是企业资源计划系统,是指建立在信息技术基础上,以系统化的管理思想,为企业决策层及员工提供决策运行手段的管理平台.企业的信息系统是记录大量原始数据.支持查询.汇总等方面的工作的初始企业应用系统.对于目前的电力行业的系统,MIS系统正如电力企业生产系统,描述电力企业调度.用电.维护等日常工作的具体情况,这些数据的采集将在下面描述实施电力行业ERP管理软件时作为ERP的基础数据,以这些数据为基础,建立MIS系统与财务系统.资产管理系统

公司管理软件系统好用吗?有哪些特点?

工欲善其事,必先利其器.一款好用的公司管理软件系统,可以帮助企业轻松应对瞬息万变的市场环境和客户需求,节省很多时间和精力,大大提升企业效率和效益.而且,在当今唯快不破的智能时代,同时处理客户.销售.合同.采购.库存.生产.售后等各环节业务,只有具备全程一体化管理思想的公司管理软件系统,才能真正帮助企业提升生产力和竞争力.企业管理软件完全基于全程一体化管理体系研发而成,无疑是好用的公司管理软件系统的代表产品.下面,就来看看产品到底好在哪里? 一.企业一体化管理,一套软件解决所有问题 企业管理软件设

JavaEE学习记录(一)--软件系统体系结构

1 常见软件系统体系结构B/S.C/S 1.1 C/S l C/S结构即客户端/服务器(Client/Server),例如QQ: l 需要编写服务器端程序,以及客户端程序,例如我们安装的就是QQ的客户端程序: l 缺点:软件更新时需要同时更新客户端和服务器端两端,比较麻烦: l 优点:安全性比较好. 1.2 B/S(*****) l B/S结构即浏览器/服务器(Browser/Server): l 优点:只需要编写服务器端程序: l 缺点:安全性较差. 2 WEB资源 2.1 Web资源介绍 l

软件系统的架构设计

软件系统架构(Software Architecture)是关于软件系统的结构.行为.属性.组成要素及其之间交互关系的高级抽象.任何软件开发项目,都会经历需求获取.系统分析.系统设计.编码研发.系统运维等常规阶段,软件系统架构设计就位于系统分析和系统设计之间.做好软件系统架构,可以为软件系统提供稳定可靠的体系结构支撑平台,还可以支持最大粒度的软件复用,降低开发运维成本.如何做好软件系统的架构设计呢?笔者就这一问题做如下探讨分析. 软件系统架构设计方法步骤 基于体系架构的软件设计模型把软件过程划分

实时控制软件设计第一周作业-汽车ABS软件系统案例分析

汽车ABS软件系统案例分析 ABS 通过控制作用于车轮制动分泵上的制动管路压力,使汽车在紧急刹车时车轮不会抱死,这样就能使汽车在紧急制动时仍能保持较好的方向稳定性. ABS系统一般是在普通制动系统基础上加装了轮速传感器,电子控制单元,制动压力调节器.制动时,通过分析传感器车速轮速数据判断车轮是否处于抱死拖滑状态,并据此控制制动压力调节器进行高频增压,保压,减压,防止车轮抱死. Q1.该系统有哪些强实时功能需求?需要对哪些实时事件进行实时响应,对允许的实时延迟的数量级进行估计. A1.强实时需求:

为什么要进行需求分析?通常对软件系统有哪些需求?

为了开发出真正满足用户需求的软件产品,首先必须进行需求分析. 对软件系统的需求 1.功能需求 2.性能需求 3.可靠性和可用性需求 4.出错处理需求 5.接口需求 6.约束 7.逆向需求 8.捡来可能提出的要求

军事方面的软件系统与瀑布模型

博主选的是老师给出的第四个议题“你认为一些军事方面的软件系统采用什么样的开发模型比较合适?”.我认为在军事方面软件系统应采用瀑布模型. 瀑布模型的特点:1.阶段间具有顺序性和依赖性:2.推迟实现的观点:3.质量保证的观点. 首先从第一点开始分析瀑布模型用于军事方面软件系统的好处. 军事方面的严谨性一直是最高的,能满足瀑布模型所需要的顺序性和依赖性,这种规范性的流程有利于军事风格. 第二点,由于军事方面的项目一般时间很长,所以可以满足分析与设计阶段的基本任务规定,在将目标系统的逻辑结构思考清楚后,

软件系统可靠性的衡量标准:x个9的意思?

衡量一个软件的可靠性有很多的方法和标准,但最近经常听到和看到x个9的说法,本着不懂就查的精神,对其进行了翻阅,精简解释如下: PS:参考了百度-google等搜索出来的一些网页! x个9的说法一般针对的是大型软件系统,一些小的软件咱就不提了,那么先看看定义. 定义:x个9表示的是软件系统在一年之内不宕机的概率,也可以换算成一年之内允许宕机的时间(100%-x个9). example: 1个9表示一年之内允许宕机的时间为:(1-90%)*365天 = 36.5天 2个9