首页 > 编程语言 >【一】了解计算机的原理以及Python

【一】了解计算机的原理以及Python

时间:2024-03-26 17:25:39浏览次数:28  
标签:计算机 Python 硬件 编译 机器语言 原理 语言

【一】编程和编程语言是什么

【1】什么是编程

  • 编程其实就是将人类的语言转换为计算机能识别的语言

【2】什么是编程语言

  • 人和人之间都会进行交流
  • 人和人之间交流的媒介就是语言
  • 编程语言就是人与计算机之间进行交流的语言

【3】为什么要出现编程语言

  • 最根本的原因就是计算机无法识别人类的语言
  • 于是大家光丝记忆就开发了计算机能识别的语言

【4】为什么要做编程

  • 编程就是为了让计算机能够理解人类的所下达的指定,然后让计算机实现自动完成任务的功能
  • 在奴隶社会的时候,奴隶主会劳役下面的努力
  • 人是需要吃饭和喝水的

【二】计算机的组成原理

【1】计算机的五大组成部分

(1)控制器

  • 相当于人类的大脑,相互协调工作,完成任务

(2)运算器

  • 相当于我们大脑进行的逻辑运算和数字运算的功能
  • 逻辑运算包括是或非
  • 数字运算包括加减乘除

(3)存储器

  • 人类的记忆存在与大脑中,海马体

[1]内存

  • 和我们短期记忆一样是临时存储数据的
  • 断电重启数据就消失了

[2]外存

  • 硬盘

    • 机械硬盘
      • 可以存储大量的数据,但是读取速度比较慢,并且价格很低
    • 固态硬盘
      • 可以存储大量的数据,但是读取速度会非常快,价格太高了
  • 可以持久性的存储数据,并且断电不会消失

(4)输入设备

  • 鼠标键盘、麦克风、手写笔 ....

(5)输出设备

  • 投影仪、显示器 ...

(6)总结

  • 控制器相当于人类的大脑 控制去全身和计算
  • 内存像是人的记忆 临时储存
  • 硬盘像是人的笔记本 永久储存
  • 输入设备像是人的眼睛 耳朵 嘴巴 接受外部的信息存入内存
  • 输出设备像是人的表情 反馈结果

(7)程序的执行过程

  • 数据准备
  • 数据读取
  • 数据写入
  • 数据关闭

【2】计算机的主要三大核心硬件

(1)CPU

  • 控制器 + 运算器 = CPU
  • 中央控制处理器
  • 控制整个电脑的调度和运算的

(2)内存

  • 临时存储数据的地方
  • 虽然断电数据消失,数据安全性低,但是读取速度极快

(3)硬盘

  • 持久化存储数据的地方
  • 虽然断电数据不消失,但是数据安全性高,只要你的硬盘不发生损坏,就不会造成数据的丢失。读取速度慢

【三】操作系统

【1】操作系统的由来

  • 出现的目的就是为了简化我们的硬件操作

    • 在最开始的时候,电脑就是一大堆硬件拼凑在一起
  • 随着时代的发展,我们想要简化一系列操作指令,我们只能是找到这些指令的替代品

【2】操作系统

  • 操作系统就是在硬件的基础上实现功能和接口的封装,我们可以通过这些接口和程序进行硬件的调度

【3】操作系统的开发

  • 所有开发者遵循共同的一套规范
    • 我们共同研发出一个功能和接口
      • 有一个锁但是我们都有钥匙的副本
    • 我们都遵循一个规范
      • 核心业务就是播放视频,输出音频做成一个公共的
  • 下次谁需要这个功能谁就来直接拿着用

【4】常见的操作系统

(1)Windows平台

  • Window7
  • Windowxp
  • Window 8
  • Window 10
  • Window 11

(2)Mac平台

  • IOS系统
  • intel

(3)Linux平台

  • centos
  • 蓝鲸

(4)Andoraid

【5】什么是系统软件什么是操作软件

(1)什么是系统软件

  • 系统软件是就是建立在硬件至上的软件,负责调度整个硬件
  • Window、MacOS、Linux
  • 功能包括调度计算机服务,读取文件,进程管理 ...

(2)什么是操作软件

[1]系统软件

  • 系统自带的服务 网卡服务、文件管理器

[2]应用软件

  • 就是我们基于Window系统至上安装的其他软件
  • QQ、微信、QQ音乐

【6】计算机系统的三层架构

  • 底层就是硬件层
    • 所有的操作都是基于硬件的
  • 中间层就是操作系统层
    • 所有的硬件调度服务都是基于操作系统的
  • 最上面是应用层
    • 进行工作和开发的软件层

【7】平台

  • 平台就是你的操作系统 + 你的硬件

  • Window平台

    • Window系统 + CPU + ...
  • MacOS平台

    • macOS + Mac相关硬件

【四】编程语言

【1】机器语言

(1)什么是机器语言

  • 机器语言就是计算机可以理解的语言,操作计算机的系统硬件
  • 我们可以控制高低电频的变化组成一系列的指定去操作我们的系统硬件

(2)机器指令

  • 控制高低电频的变化组成一系列的指令就叫做机器语言 能控制电脑硬件

(3)怎么写机器指令

  • 首先你得必须记住计算机的全部指令及核心代码的含义
  • 在编写机器指令程序的时候需要自己处理每一条数据,以及数据随时可可能会发生的意外情况
  • 一般发生在源头厂家中,原头厂家调控硬件内部设备的时候会用得到

(4)机器语言的例子

'''指令部份的示例'''
 0000 代表 加载(LOAD)
 0001 代表 存储(STORE)
 ...
 
LOAD 0000  # 加载寄存器A
STORE 0001 # 存储到寄存器B

'''暂存器部份的示例'''
0000 代表暂存器 A 
0001 代表暂存器 B 
...

'''存储器部份的示例'''
000000000000 代表地址为 0 的存储器
000000000001 代表地址为 1 的存储器 
000000010000 代表地址为 16 的存储器
100000000000 代表地址为 2^11 的存储器

(5)机器语言的优缺点

  • 优点
    • 执行效率高
      • 可以直接操作计算机的底层硬件
  • 缺点
    • 开发效率低
      • 学习成本高,开发效率慢
    • 跨平台性很差
      • 所以更换系统硬件就会导致机器指令失效
    • 理解原码、反码、补码、位运算( & | )
底层单位数据的换算

# 00000001 表示1字节,有256种排列方式,从0到255。

# 八个字节表示一个 bytes
# 8 字节 = 1 bytes
# 1024 bytes = 1 kB
# 1024 kb = 1 MB 
# 1024 mb = 1GB
# 1024 GB = 1 TB
# 1024 TB = 1 ZB

【2】汇编语言

  • 汇编语言仍然可以直接操作底层硬件,但是美国人可以用一个字母或者一串字母来声明这串机器指令代表的含义
  • 但是对比与机器语言来书,汇编语言就是一种进步,一定程度上降低了开发成本

(1)什么是汇编语言

  • 汇编语言其实就是用一个英文字母或者一串单词来代表机器语言的语言

(2)汇编语言示例

; hello.asm 
section .data            		; 数据段声明
    msg db "Hello, world!", 0xA ; 要输出的字符串
    len equ $ - msg             ; 字串长度
section .text            		; 代码段声明
    global _start            	; 指定入口函数
_start:                			; 在屏幕上显示一个字符串
    mov edx, len            	; 参数三:字符串长度
    mov ecx, msg            	; 参数二:要显示的字符串
    mov ebx, 1            		; 参数一:文件描述符(stdout) 
    mov eax, 4            		; 系统调用号(sys_write) 
    int 0x80            		; 调用内核功能
                    			; 退出程序
    mov ebx, 0            		; 参数一:退出代码
    mov eax, 1            		; 系统调用号(sys_exit) 
    int 0x80            		; 调用内核功能

(3)汇编语言的优缺点

  • 优点
    • 执行效率高
      • 直接操作计算机底层硬件
    • 操作灵活
      • 简化了一些机器指令可以让我们快速实现代码编程
    • 可执行文件很小
  • 缺点
    • 开发效率低
      • 仍然需要记住很多指令集
    • 复杂度很高
      • 一串代码可能会用到很多指令集
    • 跨平台性很差
      • 直接操作计算机底层硬件

【3】高级语言

(1)什么是高级语言

  • 高级语言就是从人类的角度出发,用人的思维将人的语言转换为计算机可以识别的语言
    • 可以通过人类的指令实现操作计算机等硬件
  • 我们不需要考虑底层硬件而是直接操作系统
  • 更贴近与人类

(2)高级语言的分类

  • 按照编译方式分为两类
    • 编译型语言
    • 解释型语言

(3)编译型语言

[1]什么是编译型语言

  • 编译型语言就是将源代码一次性翻译成目标代码,然后生成一个可执行文件

    • 下次执行代码只需要执行 翻译过后的文件即可
  • 如果我觉得代码中某些代码需要修改和完善,修改完代码以后就需要再重新编译

  • 比兔说我们拿到一篇英文文献

    • 一次性将整篇文献翻译成汉语,直接使用
      • 下次如果不改动,直接使用翻译稿即可
    • 一旦发生改动。整篇文章重新翻译

[2]优缺点

  • 优点:
    • 一次编译处处执行,只需要编译一次,下一次可以直接拿过来用,效率很高
  • 缺点
    • 但是修改过后需要重新编译
    • 跨平台性很差
      • Window系统上编译出来的可执行文件

[3]编译型语言的代表

  • C、C++、C#、Java

(4)解释型语言

[1]什么是解释型语言

  • 解释性语言就是在执行代码的过程中,不是一次性变异而是用到哪里就编译到哪里

  • 一点一点的进行编译后执行

  • 比兔说我们拿到一篇英文文献

    • 翻译一段就用一段,用到哪就翻译到哪
    • 效率就变低了

[2]解释型语言的优缺点

  • 优点
    • 不需要改动后再编译,开发效率提高了
    • 跨平台性很强
  • 缺点
    • 执行效率变慢了

[3]编译语言代表

  • Go、Python

【4】开发语言对比

(1)执行效率

  • 机器语言
  • 汇编语言
  • 高级语言
    • 编译型
    • 解释型

(2)开发效率

  • 高级语言
    • 解释型
    • 编译型
  • 汇编语言
  • 机器语言

(3)跨平台性

  • 高级语言
    • 解释型
    • 编译型
  • 汇编语言
  • 机器语言

【五】Python语言

【1】Python语言的应用领域

【2】Python的解释器的种类

(1)Cpython解释器

  • 基于C语言开发的解释器版本

  • 我们学习使用的解释器就是基于C语言开发出来的CPython解释器

  • 底层源码都是C语言,如果从Python代码开源码,看不到C代码

  • 从Python解释器的官网 GitHub

(2)jpython

  • 基于Java写的Python解释器,没人用

(3)ipython

  • 可以进行交互的解释器版本呢

标签:计算机,Python,硬件,编译,机器语言,原理,语言
From: https://www.cnblogs.com/song1002/p/18097122

相关文章

  • 交换原理
    交换原理数据在计算机网络中从源到目的地,中间要经过链路以及交换节点交换节点有链路层交换机(Switch)以及路由器(Router)数据具体是如何进行交换的?计算机和因特网开端可以追溯到电话网,一种采用电路交换的通信网络,然后由于计算机和因特网的发展,其用户产生的流量具有突发性,即活动的......
  • Python——代码书写风格
    Python之禅TimPeters的“Python之禅”汇集了Python语言涉及和Python编程20条准则。它是个复活节彩蛋,或者说是隐藏的笑话。当运行importthis时就会出现。importthisTheZenofPython,byTimPetersBeautifulisbetterthanugly.Explicitisbetterthanimplicit.......
  • 人工智能时代都要来了,为什么还要学习Python?
    前言Python是当今非常流行的编程语言,在互联网上经常可以看到他的身影。它应用非常广泛,例如编程、Web开发、机器学习和数据科学Q等。TIOBE官网近日公布了2023年8月的编程语言排行榜。Python依然排行第一,占比13.33%、C语言排行第二,占比11.41%、C++排行榜单第......
  • 4D毫米波雷达原理和系统方案
    4D毫米波雷达原理和系统方案附赠自动驾驶学习资料和量产经验:链接4D毫米波雷达的性能比一般的“3D”雷达要高,体现在距离远,精度高,角分辨率高等方面。那么4D成像毫米波雷达是如何做到的呢?本篇文章从雷达指标方程上进行简要的解释,以及介绍一下主流的4D毫米波雷达系统方案。1.......
  • 4D毫米波雷达原理和系统方案
    4D毫米波雷达原理和系统方案附赠自动驾驶学习资料和量产经验:链接4D毫米波雷达的性能比一般的“3D”雷达要高,体现在距离远,精度高,角分辨率高等方面。那么4D成像毫米波雷达是如何做到的呢?本篇文章从雷达指标方程上进行简要的解释,以及介绍一下主流的4D毫米波雷达系统方案......
  • 哈尔滨理工大学 计算机调剂仪器仪表工程 经验分享
    教育背景:本科二本,专业是计算机科学与技术,23考研总分341分,报考专业代码是085400,调剂哈尔滨理工大学仪器仪表工程。拒绝拟录取,最终调剂到安徽大学。调剂流程分享:去年在得知自己没有通过一志愿复试以后,那段时间一直在找调剂,有幸得到哈尔滨的某位学姐的指导,在这里感谢一下这位......
  • 【IT老齐072】全文检索执行原理
    【IT老齐072】全文检索执行原理全文检索引擎就是对非结构化文本进行解析、搜索的技术非结构化文本的处理关键在于分词与倒排索引分词分词是指将一段文本中有用的词汇提取出来常见的中文分词算法Ngram穷举n=2语法分析+字典:按中文动名词分析推测外加分词字典维护爬......
  • python新手怎么兼职-用Python在家兼职赚钱的4个方法
    随着人工智能技术的发展,各行各业都在发生着变化,每天AI(人工智能)新技术都在冲击着各行各业,比如WPS的智能设计、阿里的鲁班等等,总有一种干死干活不如早点掌握新技能的感觉,避免心中的小慌张。其实最近大火的AI,学习起来也不是想象中那么复杂的,只要掌握一个技能就能入门了,那就是:P......
  • python入门教程(非常详细),从零基础入门到精通,看完这一篇就够了
    本文罗列了了python零基础入门到精通的详细教程,内容均以知识目录的形式展开。01.python由来与发展介绍02.项目开发流程第一章markdown编辑器01.markdown基本语法02.Typora简介与安装03.Windows上gitee+Typora设置图床04.macOS上gitee+Typora设置图床第二章计算机......
  • 如何才能Python快速入门?
    无论是哪种编程语言,最开始往往是最难的,那么今天,我就来谈谈如何才能快速入门python编程。设定目标如果你学python是想找工作的话,可以先看看对于python程序员的相关招聘要求,比如这是我在某网找到的一个有关初级Python程序员的招聘要求,可以看看:熟悉Python及常用的Web开发框......