详解计算机软件基本概念

软件基本概念

软件的定义

一个完整的计算机系统是由硬件系统和软件系统协同工作来完成某一给定的任务的。

只有硬件的计算机称为裸机,裸机必须安装了计算机软件后才可以完成各项任务。

从广义地讲,软件是指计算机程序、数据以及开发、使用和维护程序所需要的所有文档的集合

通常将软件分为系统软件应用软件两大类

软件=程序+数据+文档

  • 程序是按照事先设计的功能和性能要求执行的指令序列
  • 数据是程序运行的基础和操作的对象
  • 文档是有关程序开发、维护和使用的各种图文材料

计算机软件具有以下特点:

  • 不可见性:软件是二进制编码,仅能看到物理载体,看不见软件本身
  • 适用性:不是只满足一种特定应用的需要,而是适应一类应用问题的需要
  • 依附性:软件依附于特定的计算机硬件、网络或其他软件环境
  • 复杂性:软件规模越来越大,结构越来越复杂,成本越来越高
  • 无磨损性:软件不像其他物理产品会有损耗或产生物理老化现象
  • 易复制性:软件以电、磁、光等形式存储和传输,非常容易且毫无失真的进行复制
  • 不断演化性:软件存在生命周期,需要进行软件版本的升级,适应不断变化的环境
  • 有限责任:软件厂商不对软件的正确性、精确性、可靠性和通用性做任何承诺
  • 脆弱性:操作系统和通信协议存在漏洞,软件容易被篡改和破坏

软件的分类

系统软件和应用软件

从功能角度区分,可以将计算机软件分为系统软件应用软件两大部分,

在这里插入图片描述

系统软件是建造在裸机(计算机硬件系统)之上,应用软件是以系统软件为工作平台

系统软件

系统软件用于发挥和扩大计算机的功能及用途,提高计算机的工作效率,为用户开发应用系统提供一个平台,用户可以使用它,一般不随意修改它。

系统软件主要包括操作系统、程序设计语言及其处理程序(如汇编程序、编译程序、解释程序等)、数据库管理系统、系统服务程序以及故障诊断程序、调试程序、编辑程序等工具软件。

操作系统

操作系统是配置在计算机硬件上的最底层软件,是对硬件系统功能的第一次扩充,它直接控制,管理各种硬件资源。

当计算机安装了操作系统以后,就为其他软件和用户提供了良好的工作环境,用户就不再直接操作计算机硬件,而是利用操作系统所提供的命令来操作和使用计算机。目前典型的操作系统有Windows、UNIX、Linux、Mac OS 等。

语言处理程序

用各种程序设计语言编写的源程序,计算机是不能直接执行的,必须经过翻译(对汇编语言源程序是汇编,对高级语言源程序则是编译或解释)才能执行,这些翻译程序就是语言处理程序,包括汇编程序、编译程序和解释程序等,它们的基本功能是把用高级语言或汇编语言编写的源程序翻译成机器可执行的二进制语言程序。语言处理程序也称为翻译程序翻译器

应用软件

应用软件是软件开发人员为解决各种实际问题而编制的计算机程序和相关资料

目前,应用软件为专用软件和通用软件两种。随着计算机应用领域的扩大,应用程序越来越多。使用部门已研制出许多通用性好的应用软件,逐渐商品化,并形成系统化软件,提供用户使用。因此,通用软件和专用软件之间没有严格的界限。

按照开发方式和使用范围的不同,可将应用软件分成两类,即通用应用软件和定制应用软件

通用应用软件

  • 办公自动化:如Microsoft Office、金山WPS等。
  • 动画制作:如3D Max、Flash、Adobe After Effects等
  • 图形图像处理:如 AutoCAD、Adobe Photoshop、CorelDRAW、Corel PHOTO-PAINT 等。
  • 网络通信软件:如IE、mail等
  • 网页制作:如 FrontPage、Dreamweaver 等。
  • 多媒体制作:如Authorware、Director等
  • Internet服务:WWW浏览器、电子邮件软件、文件传输软件等。

定制应用软件

定制应用软件是针对具体实际问题而开发的软件,它们完全是按照用户的特定需求而专门开发的。如某商场的销售管理和市场预测系统、某制造企业的集成制造系统、某机场的飞机订票系统、某大学的教务管理系统等。这类软件专用性强,运行效率高,成本较高。

开源软件和非开源软件

是否开放软件的源代码的角度分类,软件可以分为开源软件非开源软件

  • 开放源码软件是指其源码可以被公众使用的软件,用户可以自由地使用、复制、散发以及修改源码。
  • 相对的是非开源软件,如来自微软的软件,这类软件的源代码是保密的,只有公司的开发人员才代码。

传统客户端软件和在线软件

是否需要在客户端计算机安装软件的角度分类,软件可以分为客户端软件在线软件

客户端软件

传统的软件需要用户在购买软件使用许可后,将软件在客户端计算机上安装并输人软件序列号才能使用,这种模式成就了以微软为代表的一大批软件公司。

在线软件

在线软件指软件供应商提供软件在线服务,是随着互联网技术的发展和应用软件的成熟,在21世纪开始兴起的一种完全创新的软件应用模式。

在这种模式下,厂商将应用软件统一部署在自己的服务器上,客户可以根据自己的实际需求,通过互联网向厂商订购所需的应用软件服务,按订购的服务多少和时间长短向厂商支付费用,并通过互联网获得厂商提供的服务。

用户不用再购买软件,而改用向提供商租用基于Web的软件,来管理企业经营活动,且无须对软件进行维护,服务提供商会全权管理和维护软件,软件厂商在向客户提供互联网应用的同时,也提供软件的离线操作和本地数据存储,让用户随时随地都可以使用其订购的软件和服务。

专属软件、自由软件、共享软件、免费软件和公共软件

不同的软件一般都有对应的软件授权,软件的用户必须在同意所使用软件的许可证的情况下才能够合法的使用软件。

依据许可方式的不同,大致可将软件区分为以下几类:
专属软件

此类软件通常不允许用户随意地复制、研究、修改或散布。传统的商业软件公司通常采用此类授权,例如微软的Windows和办公软件。专属软件的源码通常被公司视为私有财产而予以严密的保护
自由软件

此类软件与专属软件相反,赋予用户复制、研究、修改和散布该软件的权利,并提供源码供用户自由使用,仅给予些许的其他限制。如Linux、Firefox和OpenOffice等。
免费软件

可免费取得和转载该类软件,但并不提供源码,也无法修改
公共软件

原作者已放弃权利,著作权过期,或作者已经不可考究的软件。在使用上无任何限制。
共享软件

共享软件是以先使用后付费的方式销售的享有版权的软件。根据共享软件作者的授权,用户可以从各种渠道免费得到它的备份,也可以自由传播它,但在功能或使用日期上受到限制。用户总是可以先使用或试用共享软件,认为满意后再向作者付费

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/378631.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

初识 Protobuf 和 gRpc

初步了解 Protobuf 和 gRpc Protocol Buffers Protocol Buffers(又称protobuf)是谷歌的语言无关、平台无关、可扩展的机制,用于序列化结构化数据。您可以在protobuf的文档中了解更多关于它的信息。 ProtoBuf 的定义 ProtoBuf是将类的定义…

如何在Linux上部署1Panel运维管理面板并实现无公网ip远程访问

文章目录 前言1. Linux 安装1Panel2. 安装cpolar内网穿透3. 配置1Panel公网访问地址4. 公网远程访问1Panel管理界面5. 固定1Panel公网地址 前言 1Panel 是一个现代化、开源的 Linux 服务器运维管理面板。高效管理,通过 Web 端轻松管理 Linux 服务器,包括主机监控、…

【大数据】Flink on YARN,如何确定 TaskManager 数

Flink on YARN,如何确定 TaskManager 数 1.问题2.并行度(Parallelism)3.任务槽(Task Slot)4.确定 TaskManager 数 1.问题 在 Flink 1.5 Release Notes 中,有这样一段话,直接上截图。 这说明从 …

【lesson48】进程通信之system V(信号量)

文章目录 信号量理解 信号量理解 为了进程通信—>我们需要让不同的进程看到同一份资源---->我们之前讲的所有通信方式,本质都是优先解决一个问题:让不同的进程看到同一份资源。 让不同的进程看到了同一份资源,但是也带来了一些问题&a…

nacos安装手册

1. 单机模式 1.1 准备安装介质 nacos-server-2.1.1.tar.gz1.2 环境准备 1台服务器安装JDK 1.8 1.3 解压 tar-zxvf nacos-server-2.1.1.tar.gz1.4 启动 进入解压的nacos目录,进入bin目录,运行: ./startup.sh -m standalone1.5 验证 na…

Markdown:简洁高效的文本标记语言

引言 在当今信息爆炸的时代,我们需要一种简洁、高效的文本标记语言来排版和发布内容。Markdown应运而生,它是一种轻量级的文本标记语言,以其简单易学、易读易写的特点,成为了广大写作者的首选工具。本文将介绍Markdown的语法优缺…

如何修复Mac的“ kernel_task” CPU使用率过高的Bug?

当计算机开始缓慢运行时,这从来都不是一件有趣的事情,但是当您弄不清它为何如此缓慢时,甚至会变得更糟。如果您已经关闭了所有程序,并且Mac上的所有内容仍然感觉像是在糖蜜中移动,这可能是令人讨厌的kernel_task导致高…

物理信息神经网络(PINN): 将物理知识融合到深度学习中

物理信息神经网络(PINN): 将物理知识融合到深度学习中 物理信息神经网络(PINN)简介PINN的工作原理PINN模型如何利用物理法则指导模型训练1. 定义物理问题和相应的物理定律2. 构建神经网络3. 定义损失函数数据误差项 (Data-fidelit…

C语言--------指针(1)

0.指针&指针变量 32位平台,指针变量是4个字节(32bit/84)--------x86 64位平台,指针变量是8个字节(64bit/88)--------x64 编号指针地址;我们平常讲的p是指针就是说p是一个指针变量; ************只要…

【Java多线程案例】单例模式

1. 单例模式概念 设计模式:谈到单例模式,我们首先需要知道什么是设计模式,设计模式是软件工程中的一大重要概念,是被广泛认可并使用于解决特定实际问题的代码设计经验,校招中常考的设计模式有单例模式、工厂模式 等&a…

Linux学习笔记(centOS)—— 文件系统

目录 一、Linux中的文件 打开方式 二、目录结构​ 三、相关命令 切换目录命令 列出当前目录下的文件和目录命令 一、Linux中的文件 “万物皆文件。” 图1.1 所有文件 打开方式 图形化界面左上角的位置→计算机,打开以后就可以看到Linux全部的文件了&#xf…

Linux第43步_移植ST公司uboot的第4步_uboot测试

uboot移植结束后,需要进行测试。 1、烧录程序 1)、将STM32MP157开发板的网络接口与路由器的网络接口通过网线连接起来。 2)、将开发板的串口和电脑通过USB线连接起来。 3)、将开发板的USB OTG接口和电脑通过USB线连接起来。 4)、将开发板上拨码开关拨到“000”…

nodeJS 的 npm 设置国内高速镜像之淘宝镜像的方法

1、我们知道 nodeJS 是老外搞出来的,服务器放在了国外,国内的小朋友访问起来会比较慢,阿里巴巴的淘宝给出了有力支持,现在我们就将 nodeJS 的镜像地址切换为国内的淘宝镜像。 2、查看当前的镜像地址: npm get registr…

前端学习之路(6) npm详解

npm 是什么? npm(node package manager):node.js 的包管理器,用于node插件管理(包括安装、卸载、管理依赖等) ,npm 是随同 node.js 一起安装的包管理工具,能解决 node.j…

HTTP2:netty http2 StreamChannel多流实现与Http2StreamFrame解码器的源码分析

netty http2 server侧的核心逻辑个人认为,主要在编解码处理器和Stream Transform Channel这块,分别处理Http2 消息帧的编解码,以及连接的多流处理机制。对应用的处理类分别: ChannelHandlerDescio.netty.handler.codec.http2.Htt…

编译OpenSSL时报错,Can‘t locate IPC/Cmd.pm in @INC

编译OpenSSL 3.0.1时报错,错误信息如下 解决方法: 安装perl-CPAN yum install -y perl-CPAN进入CPAN的shell模式,首次进入需要配置shell,按照提示操作即可(本人perl小白,全部选择默认配置,高…

Python算法题集_环形链表

Python算法题集_环形链表 题234:环形链表1. 示例说明2. 题目解析- 题意分解- 优化思路- 测量工具 3. 代码展开1) 标准求解【集合检索】2) 改进版一【字典检测】3) 改进版二【双指针】 4. 最优算法 本文为Python算法题集之一的代码示例 题234:环形链表 …

FPGA高端项目:解码索尼IMX327 MIPI相机转USB3.0 UVC 输出,提供FPGA开发板+2套工程源码+技术支持

目录 1、前言免责声明 2、相关方案推荐我这里已有的 MIPI 编解码方案 3、本 MIPI CSI-RX IP 介绍4、个人 FPGA高端图像处理开发板简介5、详细设计方案设计原理框图IMX327 及其配置MIPI CSI RX图像 ISP 处理图像缓存UVC 时序USB3.0输出架构FPGA逻辑设计工程源码架构SDK软件工程源…

数学建模-灰色预测最强讲义 GM(1,1)原理及Python实现

目录 一、GM(1,1)模型预测原理 二、GM(1,1)模型预测步骤 2.1 数据的检验与处理 2.2 建立模型 2.3 检验预测值 三、案例 灰色预测应用场景:时间序列预测 灰色预测的主要特点是模型使用的…

改变AI服务器:探索界面互连芯片技术的创新突破

根据TrendForce的数据,AI服务器的出货量约为130,000台,占全球服务器总出货量的约1%。随着微软、Meta、百度和字节跳动等主要制造商相继推出基于生成式AI的产品和服务,订单量显著增加。预测显示,在ChatGPT等应用的持续需求推动下&a…