计算机软件的基本组成

计算机软件的基本组成

一, 计算机软件的分类

软件按其功能分类, 可分为系统软件和应用软件

图解

在这里插入图片描述

(1)系统软件

系统软件是一组保证计算机系统高效, 正确运行的基础软件, 软件通常作为系统资源提供给用户使用.
系统软件主要有操作系统(OS), 数据库管理系统(DBMS), 语言处理程序, 分布式软件系统, 网络软件系统, 标准库程序, 服务性程序等.

(2)应用软件

应用系统是指用户为解决某个应用领域中的各类问题而编制的程序, 如各种科学计算类程序, 工程设计类程序, 数据统计与处理程序等.

在本学科范畴内, 编写诸如操作系统, 编译程序等各种系统软件的人员称为系统程序员; 利用计算机及所支持的系统软件来编写解决具体应用问题的人员称为应用程序员.

二, 三个级别的语言

三种机器语言分别是:

  1. 机器语言
  2. 汇编语言
  3. 高级语言

图解

在这里插入图片描述

注: 编译器, 汇编器, 解释器, 可统称"翻译程序".

三种机器语言的特点

  1. 机器语言, 也称二进制代码语言, 需要编程人员记忆每条指令的二进制编码.机器语言是计算机唯一可以直接识别和执行的语言.
  2. 汇编语言, 汇编语言是用英文单词或其缩写代替二进制的指令代码, 更容易为人们记忆和理解. 使用汇编语言编写的程序, 必须经过一个称为汇编程序的系统软件翻译, 将其转换为机器语言的程序后, 才能在计算机的硬件系统上执行.
  3. 高级语言, 高级语言(如C, C++, Java等) 可以方便程序设计人员写出解决问题的处理方案和解题过程的程序.通常高级语言需要经过编译程序编译成汇编语言程序, 然后经过汇编操作得到机器语言程序, 或直接由高级语言程序翻译成机器语言程序.

三, 各种翻译程序的概念

因为计算机无法直接理解和执行高级语言程序, 所以需要将高级语言程序转换为机器语言程序, 通常把进行这种转换的系统软件称翻译程序.
翻译程序有以下三类:
1), 汇编程序(汇编器): 将汇编语言程序翻译成机器语言程序.
2), 解释程序(解释器): 将源程序中的语句按执行顺序逐条翻译成机器指令并立即执行.
3), 编译程序(编译器): 将高级语言程序翻译成汇编语言或机器语言程序.

四, 软件和硬件的逻辑功能等价性

硬件实现的往往是最基本的算术和逻辑运算功能, 而其他功能大多通过软件的扩充得以实现.
对某一功能来说, 其既可以由硬件实现, 又可以由软件实现, 从用户的角度来看, 它们在功能上是等价的.
这一等价性被称为软/硬件逻辑功能的等价性.

例如, 浮点数运算既可以用专门的浮点运算器硬件实现, 又可以通过一段子程序实现, 这两种方法在功能上完全等价, 不同的只是执行时间的长短而已, 显然硬件实现的性能要优于软件实现的性能.

软件和硬件逻辑功能的等价性是计算机系统设计的重要依据, 软件和硬件的功能分配及其界面的确定是计算机系统结构研究的重要内容. 当研制一台计算机时, 设计者必须明确分配每一级的任务, 确定哪些功能使用硬件实现, 哪些功能使用软件实现.
软件和硬件功能界面的划分是由设计目标, 性能价格比, 技术水平等综合因素决定的.
在这里插入图片描述

指令集体系结构(ISA)

软件和硬件之间的界面. 设计计算机系统的ISA, 就是要定义一台计算机可以支持哪些指令, 以及每条指令的作用是什么, 每条指令的用法是什么.

五, 总结

  • Q1, 计算机软件的分类
    • 系统软件
      • 管理计算机的硬件资源, 向上层应用程序提供服务

    • 应用软件
      • 按应用场景需要编制唱的成的各种程序, 直接为用户提供服务.

  • Q2, 三个级别的语言
    • 高级语言
    • 汇编语言
    • 机器语言
  • Q3, 三个级别的语言之间的转换方式
    • 编译程序(编译器) – 将高级语言一次全部翻译为汇编语言, 或者直接翻译为机器语言
    • 汇编程序(汇编器) – 将汇编语言翻译成机器语言
    • 解释语言(解释器) – 高级语言翻译为机器语言(翻译一句执行一句)
  • Q4, 软件和硬件的看逻辑功能等价性
    • 同一个功能, 既可以用硬件实现, 也可以用软件实现

  • Q5, 指令集体系结构(ISA)
    • ISA定义一台计算机可以支持哪些指令, 以及每条指令的作用是什么, 每条指令的用法是什么.

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

unity开发游戏实现角色筛选预览

RenderTexture通俗解释 RenderTexture就像是Unity中的"虚拟相机胶片",它可以: 捕获3D内容:将3D场景或对象"拍照"记录下来 实时更新:不是静态图片,而是动态视频,角色可以动起来 用作…

Spring源码主线全链路拆解:从启动到关闭的完整生命周期

Spring源码主线全链路拆解:从启动到关闭的完整生命周期 一文看懂 Spring 框架从启动到销毁的主线流程,结合原理、源码路径与伪代码三位一体,系统学习 Spring 底层机制。 1. 启动入口与环境准备 原理说明 Spring Boot 应用入口是标准 Java 应…

SAP RF 移动屏幕定制

SAP RF 移动屏幕定制 ITSmobile 是 SAP 当前将移动设备连接到 SAP 系统的技术基础。它基于 SAP Internet Transaction Server (ITS),从 Netweaver 2004 开始作为 Netweaver 平台的一部分提供。ITSmobile 提供了一个框架,用于为任何 SAP 事务生成基于 HT…

Spark,数据提取和保存

以下是使用 Spark 进行数据提取(读取)和保存(写入)的常见场景及代码示例(基于 Scala/Java/Python,不含图片操作): 一、数据提取(读取) 1. 读取文件数据&a…

如何用mockito+junit测试代码

Mockito 是一个流行的 Java 模拟测试框架,用于创建和管理测试中的模拟对象(mock objects)。它可以帮助开发者编写干净、可维护的单元测试,特别是在需要隔离被测组件与其他依赖项时。 目录 核心概念 1. 模拟对象(Mock Objects) 2. 打桩(Stubbing) 3. 验…

最新缺陷检测模型:EPSC-YOLO(YOLOV9改进)

目录 引言:工业缺陷检测的挑战与突破 一、EPSC-YOLO整体架构解析 二、核心模块技术解析 1. EMA多尺度注意力模块:让模型"看得更全面" 2. PyConv金字塔卷积:多尺度特征提取利器 3. CISBA模块:通道-空间注意力再进化 4. Soft-NMS:更智能的重叠框处理 三、实…

【Linux网络与网络编程】12.NAT技术内网穿透代理服务

1. NAT技术 之前我们说到过 IPv4 协议中IP 地址数量不充足的问题可以使用 NAT 技术来解决。还提到过本地主机向公网中的一个服务器发起了一个网络请求,服务器是怎么将应答返回到该本地主机呢?(如何进行内网转发?) 这就…

uniapp的适配方式

文章目录 前言✅ 一、核心适配方式对比📏 二、rpx 单位:uni-app 的核心适配机制🧱 三、默认设计稿适配(750宽)🔁 四、字体 & 屏幕密度适配🛠 五、特殊平台适配(底部安全区、刘海…

JAVA EE(进阶)_进阶的开端

别放弃浸透泪水的昨天,晨光已为明天掀开新篇 ——陳長生. ❀主页:陳長生.-CSDN博客❀ 📕上一篇:JAVA EE_HTTP-CSDN博客 1.什么是Java EE Java EE(Java Pla…

SQL脚本规范

主要作用:数据库的备份和迁移 SQL脚本规范 每一个sql语句必须与;结束 脚本结构: { 删库,建库 删表,建表 插入初始数据 } 建库语法: CREATE DATABASE 数据库名CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; CHARA…

std::ratio<1,1000> 是什么意思?

author: hjjdebug date: 2025年 05月 14日 星期三 09:45:24 CST description: std::ratio<1,1000> 是什么意思&#xff1f; 文章目录 1. 它是一种数值吗&#xff1f;2. 它是一种类型吗&#xff1f;3. std:ratio 是什么呢&#xff1f;4. 分析一个展开后的模板函数5.小结: …

测试--测试分类 (白盒 黑盒 单元 集成)

一、按照测试目标分类&#xff08;测试目的是什么&#xff09; 主类别细分说明1. 界面测试UI内容完整性、一致性、准确性、友好性&#xff0c;布局排版合理性&#xff0c;控件可用性等2. 功能测试检查软件功能是否符合需求说明书&#xff0c;常用黑盒方法&#xff1a;边界值、…

整理了 2009 - 2025 年的【199 管综真题 + 解析】PDF,全套共 34 份文件

每年真题原卷 ✅ 每年详细解析 ✅ &#x1f4c2;【管综真题 2009-2025】 &#x1f4c2;【管综解析 2009-2025】 目录树&#xff1a; ├── 2009-2025管综真题 PDF │ ├── 2009年199管综真题.pdf │ ├── 2010年199管综真题.pdf │ ├── 2011年199管综真题.pd…

用golang实现二叉搜索树(BST)

目录 一、概念、性质二、二叉搜索树的实现1. 结构2. 查找3. 插入4. 删除5. 中序遍历 中序前驱/后继结点 一、概念、性质 二叉搜索树&#xff08;Binary Search Tree&#xff09;&#xff0c;简写BST&#xff0c;又称为二叉查找树 它满足&#xff1a; 空树是一颗二叉搜索树对…

自动化:批量文件重命名

自动化&#xff1a;批量文件重命名 1、前言 2、效果图 3、源码 一、前言 今天来分享一款好玩的自动化脚&#xff1a;批量文件重命名 有时候呢&#xff0c;你的文件被下载下来文件名都是乱七八糟毫无规律&#xff0c;但是当时你下载的时候没办法重名或者你又不想另存为重新重…

VueUse/Core:提升Vue开发效率的实用工具库

文章目录 引言什么是VueUse/Core&#xff1f;为什么选择VueUse/Core&#xff1f;核心功能详解1. 状态管理2. 元素操作3. 实用工具函数4. 浏览器API封装5. 传感器相关 实战示例&#xff1a;构建一个拖拽上传组件性能优化技巧与原生实现对比常见问题解答总结 引言 在现代前端开发…

stm32 ADC单通道转换

stm32c8t6仅有12位分辨率 1、单次转换 非扫描 1、初始化 void Ad_Init() {RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);RCC_APB2PeriphClockCmd(RCC_APB2Periph_ADC1, ENABLE);//配置ADCCLK时钟分频,ADC的输入时钟不得超过14MHzRCC_ADCCLKConfig(RCC_PCLK2_Div6);G…

2KW压缩机驱动参考设计【SCH篇】

实物展示&#xff1a; ACDC: VAC和VAC-为交流电压检测&#xff1a; 1.C33 C34作为Y电容走线宽度要求&#xff1a; Y电容一般用于L/N到地之间&#xff08;L-PE 或 N-PE&#xff09;&#xff0c;主要作用是抑制共模干扰。其走线的电流非常小&#xff0c;推荐使用 ≥ 1mm 宽的走…

python05——循环结构

1、while循环 n0 #初始条件 while n<5: #判断print(hello python) #要重复执行的代码print(n) #注意同级代码缩进相同n1 #计数器结果&#xff1a; hello python 0 hello python 1 hello python 2 hello python 3 hello python 4 hello python 5 #求阶乘和 sum0 n1 whil…

LINUX编译、运行、测试lowcoder_CN

参考 二者没有太大差异。 LINUX编译、运行、测试lowcoder-CSDN博客 下载 git clone https://github.com/mousheng/lowcoder_CN 或 git clone https://gitcode.com/gh_mirrors/lo/lowcoder_CNcd lowcoder_CN三个模块 node-service api-service client 每个模块都有自己的…