首页 > 其他分享 >计算机基础

计算机基础

时间:2024-03-26 15:59:50浏览次数:28  
标签:计算机 Python 基础 汇编语言 硬件 编译 语言

[一]编程和编程语言是什么

【1】什么是编程

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

【2】什么是编程语言

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

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

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

【4】为什么要做编程?

  • 编程就是为了让计算机能够理解人类所下达的指令,然后让计算机实现自动完成任务的功能

[二]计算机组成原理

【1】什么是计算机

  • 计算机就是通电的智能机器
  • 能够批量处理人类的指令和数据

【2】为什么要发明计算机

  • 节省劳动成本、增加效益

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

(1)控制器

  • 相当于人类的大脑,可以相互协调、工作。

(2)运算器

  • 相当于我们大脑进行的逻辑运算和数字运算的功能
    • 逻辑运算包括与或非、如果、但是、其他
    • 数据运算:加减乘除

(3)存储器

  • 人类的记忆存在与大脑中,如海马体
    • 人类的记忆也分为:长期记忆、短期记忆
(1)短期记忆:内存
  • 临时存储数据,断电重启数据消失。
(2)长期记忆:外存
  • 硬盘
    • 机械硬盘
      • 可以存储大量的数据,但是读取速度比较慢,价格低
    • 固态硬盘
      • 可以存储大量的数据,读取速度快,但是价格高
  • 可以持久性的存储数据,并且断电不会消失

(4)输入设备

  • 就是我们使用的向电脑输入内容的设备
  • 鼠标键盘、麦克风...

(5)输出设备

  • 计算机向我们展示信息的平台和设备
  • 投影仪、显示器....

[4]计算机的三大核心硬件

(1)CPU

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

(2)内存

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

(3)硬盘

  • 持久化存储数据的地方
  • 断电数据不消失、数据安全性高,读取速度慢

[5]程序的执行过程

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

[三]操作系统的概念

【1】操作系统的由来

  • 出现的目的就是为了简化操作
  • 为了简化一系列的操作指令,只能是找到这些指令的替代品

【2】操作系统

  • 操作系统其实就是再一堆硬件的基础上实现功能和接口的封装,通过这些接口和程序进行硬件的调度。

【3】开发一套操作系统

  • 开发一款视频软件
    • 核心业务:播放视频、输出音频
      • 将视频文件数据从硬盘中读取出来到内存中,经过播放器进行转码
      • 进行音视频输出

【4】常见的操作系统

(1)Windows平台

(2)Mac平台

(3)Linux平台

(4)Andoraid

(5)IOS

(6)鸿蒙

【5】系统软件和操作软件的区别

(1)什么是系统软件

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

(2)什么是操作系统

【1】系统软件
  • 系统自带的服务,网卡服务,文件管理器
【2】应用软件
  • 基于Windows系统之上安装的其他软件

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

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

【7】平台

  • 平台就是操作系统+硬件
  • Linux平台
    • 用在服务器上
    • CPU+显卡+内存+硬盘
  • Windows平台
    • Windows系统+CPU+...
  • MacOS平台
    • macOS+Mac相关硬件

【四】为什么要学Python

【五】编程语言

【1】编程语言的分类

  • 编程语言的发展史,在开始的编程语言(人与计算机进行交流)

【2】机器语言

(1)什么是机器语言

  • 机器语言就是计算机可以理解的语言。操作计算机的系统硬件
  • 由于计算机基于电工作,电分为高低电频,0/1
  • 我们可以控制高低电频的变化组成一系列的指定去操作系统硬件
  • 机器语言因为可以直接操作计算机硬件,所以是最低级的语言。

(2)机器指令

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

(3)如何写机器指令

  • 记住计算机的全部指令及核心代码的含义
  • 在编写机器指令程序的时候需要自己处理每一条数据,以及数据随时可能会发生意外情况

(4)机器语言的示例

  • 机器语言及其繁琐且难以记忆

(5)及其语言的优缺点

  • 优点
    • 执行效率高
      • 可以直接操作计算机的底层硬件
  • 缺点
    • 开发效率低
      • 学习成本高,开发效率慢
    • 跨平台性很差
      • 更换系统硬件会导致机器指令失效
    • 理解源码、反码、补码
底层单位数据的换算
#00000001 表示1字节,有256种排列方式,从0到255。
#00000001 -----> 1bytes -----> 256种排列方式 -----> 从0开始计数就是0-255
#八个字节表示一个 bytes
单位换算公式
1024 bytes = 1 KB
1024 KB = 1 MB
1024 MB = 1 GB
1024 GB = 1 TB
1024 TB = 1 ZB

【3】汇编语言

  • 汇编语言可以直接操作底层硬件
  • 对比机器语言来说,汇编语言就是一种进步,一定程度上降低了开发成本

(1)什么是汇编语言

  • 汇编语言就是用一个英文字母或一串单词来替代

(2)汇编语言示例

hello world

; 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)汇编语言的优缺点

  • 优点

    • 执行效率高
      • 直接操作计算机底层硬件
    • 操作灵活
      • 简化了机器指令可以快速实现代码编程
    • 可执行文件很小
  • 缺点

  • 开发效率低

    • 需要记住很多指令集
  • 复杂度很高

  • 跨平台很差

    • 直接操作计算机底层硬件

【4】高级语言

(1)什么是高级语言

  • 高级语言就是从人类角度出发,用人类语言转化为计算机可以识别的语言
    • 可以通过人类的指令实现操作
  • 更贴近人类

(2)高级语言分类

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

(3)编译型语言

[1]什么是编译型语言

  • 编译型语言就是将源代码一次性翻译成目标代码
    • 下次执行代码只需要执行,翻译过后的文件即可

[2]优缺点

  • 优点:
    • 一次编译处处执行,效率高
  • 缺点:
    • 修改过后需要重新编译
    • 跨平台性很差

[3]编译型语言的代表

  • C、C++、Java

(2)解释型语言

[1]什么是解释型语言

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

[2]解释型语言优缺点

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

[3]编译语言代表

  • Go、Python

【5】语言对比

(1)执行效率

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

(2)开发效率

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

(3)跨平台性

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

【六】Python语言介绍

【1】创始人

  • 吉多·范罗苏姆(Guido van Rossum)。

【2】名字的由来

  • Pyhton的名字,是来自Guido喜欢的电视剧《Monty Python's Flying Circus》,他希望这个语言叫做Python的语言。
  • 创造一种C和shell之间,语法能够像shell一样简洁,易学易用、可拓展性强,同时兼顾C的强大功能。

【3】全球语言排行榜

1

【4】Python语言的应用领域

  • 人工智能、数据分析、爬虫、金融量化、云计算、web开发、自动化运维/测试、游戏开发、网络服务、图像处理等众多领域。

【5】国内应用

Python在国内目前几乎所有的大中型互联网企业都在使用Python

  • Quora(中国知乎)、豆瓣、BiliBili、百度、腾讯....

【6】Python解释器的发展史

  • 1989年,Guido开始写Python语言的编译器。

  • 1991年,第一个Python编译器诞生。

    • 它是用C语言实现的,并能够调用C语言的库文件。
    • 从一出生,Python已经具有了:类,函数,异常处理,包含表和词典在内的核心数据类型,以及模块为基础的拓展系统。
  • Python 2.7 - July 3, 2010

  • Python 3.6 - 2016-12-23 发布python3.6.0版

  • 本次将使用Python3.10

【7】Python的解释器种类

(1)Cpython解释器

  • 基于C语言开发的解释器版本
  • 底层源码都是C语言。

Cpython是我学习使用的解释器

(2)jpython

  • 基于Java写的Python解释器

(3)ipython

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

标签:计算机,Python,基础,汇编语言,硬件,编译,语言
From: https://www.cnblogs.com/chosen-yn/p/18096835

相关文章

  • Java程序基础
    第1章命名问题类名 : 首字母大写,其余小写,符合驼峰命名变量 : 首字母小写方法 : 首字母小写包名 : 小写第二章运算符2.1赋值运算符2.1.1Java的赋值运算符包括以下几种:赋值运算符(=):将右边表达式的值赋给左边的操作数。加法赋值运算符(+=):相当于a=a+b。减法......
  • Javascript基础知识
    Javascript简介:什么是Javascript       JavaScript一种直译式脚本语言,是一种动态类型、弱类型、基于原型的高级语言。脚本语言:在程序的运行过程中逐行进行解释执行,不需要预编译。动态类型:在声明了一个变量之后,我们能够随时改变它的数据类型。弱类型:变量在使用前......
  • Python基础知识汇总
    1.Anaconda的安装百度Anaconda的官网,下载左边的Python3.X版本然后是设置路径,最后给出Jupyternotebook。具体参考:猴子:初学python者自学anaconda的正确姿势是什么??不过平时练习的时候我个人习惯用EnthoughtCanopy,但比起Anaconda有些中文字符的编写不兼容。下载链接如下:C......
  • 探索计算机视觉的前沿:研究方向与应用前景
    引言计算机视觉作为人工智能领域的一个重要分支,近年来取得了显著的进展。它旨在使计算机能够从图像或多维数据中理解和解释视觉信息。随着深度学习技术的突破,计算机视觉的应用范围不断扩大,从自动驾驶到医疗诊断,其影响力日益增强。本文将探讨计算机视觉的几个主要研究方向及其......
  • 0基础成功转行网络安全工程师,年薪25W+,经验总结都在这(建议收藏)
    我曾经是一名普通的销售人员,工作了三年,每天重复着相同的工作内容,感觉自己的职业生涯停滞不前,毫无发展前景。我开始思考,如何才能让自己的职业生涯更有意义,更具有挑战性。经过一番调研,我决定转行网络安全工程师。工作了越久,越觉得当初转行网络安全的决定还是非常正确的。目......
  • Java基础内容汇总(上)
    目录一、基础二、数组三、类和对象四、面向对象特征之一:封装与隐藏4.1、构造器(构造方法)4.2、this的使用4.3、关键字—import五、继承5.1、方法的重写(override/overwrite)5.2、关键字:super六、多态6.1、==操作符与equals方法6.2、toString的使用6.3、包装类(Wrapper......
  • 零基础如何自学编程?用这6种方法就够了!
    前言自学编程的过程中,一部分程序员遇到冰冷的英语字母,枯燥的编程教程,果断选择了放弃。但其实自学编程不是那么难,只要是理工科生、逻辑思维还行的小伙伴,编程入门完全可以。对于初学者来说,可以采用视频+书籍的方式进行学习。这两种方式形成互补关系。编程教学视频可以让......
  • SpringBoot基础24_SpringBoot简介1
    一、原有Spring优缺点分析1、Spring的优点分析Spring是Java企业版(JavaEnterpriseEdition,JEE,也称J2EE)的轻量级代替品。无需开发重量级的EnterpriseJavaBean(EJB),Spring为企业级Java开发提供了一种相对简单的方法,通过依赖注入和面向切面编程,用简单的Java对象(PlainOldJava......
  • java计算机毕业设计(附源码)新知书店(ssm+mysql+maven+LW文档)
    本系统(程序+源码)带文档lw万字以上  文末可领取本课题的JAVA源码参考系统程序文件列表系统的选题背景和意义选题背景:新知书店,作为一家专注于传播知识和文化的零售场所,承载着促进社会文化发展和满足人们精神需求的重要使命。在数字化时代背景下,实体书店面临着前所未有的挑......
  • Java基础语法(三)
    1.if语句1.1格式一 if(关系表达式){  语句体;   }执行流程    ①首先计算关系表达式的值    ②如果关系表达式的值为true就执行语句体    ③如果关系表达式的值为false就不执行语句体    ④继续执行后面的语句内容......