Loading

day1、2 计算机基础

1 初识计算机

1.1 计算机硬件组成

​ 一个程序的运行与三大核心硬件(cpu、内存、硬盘)的关系

1.2 操作系统

​ 2.1 计算机体系的三层结构

​ 2.2 平台与跨平台的概念

1.3扫盲

​ cpu 相关(x86-64 代表的意义)

​ 存储器相关(IO 问题)

​ 操作系统启动流程

1.4 python 是一门编程语言

语言其实就是人与人之间沟通的介质,如英语,汉语,俄语等。

而编程语言则是人与计算机之间沟通的介质。

那么为何要有编程语言,或者说人为何要与计算机沟通呢?这是因为在编程的世界里,计算机就好比是人的奴隶,人与计算机沟通的目的就是为了奴役计算机,让计算机按照人类的思维逻辑自发地去工作从而把人力解放出来。

2 计算机基础

2.1 什么是计算机

​ 计算机俗称“电脑”,包含人对计算机的终极期望,能够真的像人脑一样去工作

2.2 为何要有计算机

​ 为了执行人类的程序,从而把人类解放出来大前提:计算机所有的组成都是模仿人的某一功能或器官

2.3 计算机的组成

  • 控制器:

    ​ 作用:是计算机的指挥系统,负责控制计算机所有其他组件如何工作的

    ​ 类比:控制器=》人类的大脑的控制功能

  • 运算器:

    ​ 作用:运算包括数学运算与逻辑运算

    ​ 类比:运算=》人类的大脑的运算功能

    ​ 控制器+运算器=》cpu===》人类的大脑

  • 存储器/IO 设备

    ​ 作用:是计算机的记忆功能,负责数据的存取

  • 分类:

    ​ 内存(基于电工作):存取数据都快,断电数据丢失,只能临时存取数据

    ​ 外存(硬盘,基于磁工作):存取速度都慢,断电数据也不丢,可以永久保存数据

    ​ 类比:

    ​ 内存===》人类的大脑的记忆功能

    ​ 外存===》人的笔记本

    ​ 输入设备 input如键盘、鼠标

    ​ 输出设备 output如显示器、打印机

2.4 一个程序的运行与三大核心硬件的关系

  • 人--------------编程语言------------->计算机

  • 总结:

    程序最先是存放于硬盘之上

    程序的运行一定事先把程序的代码加载到内存

    然后 cpu 从内存中读取指令执行

3 操作系统

3.1 引入

对于不同公司的开发者来说,应用程序的业务逻辑各不相同,但硬件的控制程序都大致相同,为了避免所有程序员做重复劳动,以及不用再耗费精力去了解所有硬件的运行细节,有公司专门跳出来承担起控制程序的开发任务,这里所说的控制程序指的就是操作系统。

3.2 操作系统概念

操作系统是一个协调、管理、控制计算机硬件资源与应用软件资源的一个控制程序

  • 作用:

    1、控制计算机硬件的基本运行

    2、把使用硬件的复杂操作封装成简单的功能,给上层的应用程序使用例如:文件就是操作系统提供给应用程序/用户操作硬盘的一种功能

    3、程序的区分。计算机硬件是死的,计算机硬件的运行都受软件控制,所以说,软件相当于计算机的灵魂,具体来说软件分为两种:

    ​ 1、应用软件:应用程序相关逻辑

    ​ 2、系统软件:控制底层硬件的

    ​ 4、计算机系统三层结构

    ​ 应用程序

    ​ 操作系统

    ​ 计算机硬件

    ​ 5、平台

    ​ 计算机硬件+操作系统=》平台

    ​ 软件的跨平台性指的是:一款软件可以任意平台上运行,是衡量软件质量高低的一个非常重要的指标

4 计算机硬件

4.1 cpu 详解

cpu 的分类与指令集

x86-64(*****)

cpu 具有向下兼容性

64 的 cpu 既能运行 32 位的程序也能运行 64 位的程序

  • 内核态与用户态(*****)

    • 代表 cpu 的两种工作状态

      1、内核态:运行的程序是操作系统,可以操作计算机硬件

      2、用户态:运行的程序是应用程序,不能操作计算机硬件

    • 内核态与用户态的转换

      应用程序的运行必然涉及到计算机硬件的操作,那就必须有用户态切换到内核态下才能实现,所以计算机工作时在频繁发生内核态与用户态的转换

  • 多线程与多核芯片

    2 核 4 线程:

    2 核代表有两个 cpu,4 线程指的是每个 cpu 都有两个线程=》假 4 核4 核 8 线程

    4 核代表有 4 个 cpu,8 线程指的是每个 cpu 都有两个线程=》假 8 核

4.2 存储器

  • RAM:内存

  • ROM:“只读内存”

  • 存放计算机厂商写死计算机上的一段核心程序=》BIOS

  • CMOS:存取速度慢,断电数据丢失,耗电量极低

  • 硬盘:

    • 机械硬盘:磁盘

    • 磁道:一圈数据,对应着一串二进制(1bit 代表一个二进制位)

      8bit 比特位=1Bytes 字节

      1024Bytes=1KB

      1024KB=1MB

      1024MB=1GB

      1024GB=1TB

      1024TB=1PB

      200G=20010001000B

    • 扇区:

      一个扇区通过为 512Bytes,站在硬盘的解读,一次性读写数据的最小单为为扇区

      操作系统一次性读写的单位是一个 block 块=》8 扇区的大小=4096Bytes

    • 柱面

    • 固态硬盘

    • IO 延迟(*****)

    平均寻道时间:机械手臂转到数据所在磁道需要花费的时间,受限于物理

    工艺水平,目前机械硬盘可以达到的是 5ms

    平均延迟时间:转半圈需要花费 4ms,受限于硬盘的转速IO 延迟=平均寻道时间+平均延迟时间

    优化程序运行效率的一个核心法则:能从内存取数据,就不要从硬盘取

  • 虚拟内存

    IO 设备=设备的控制+设备本身

4.3 总线

4.4 操作系统的启动流程

  • BIOS 介绍:

    BIOS:Basic Input Output System

    BIOS 被写入 ROM 设备

  • 裸机:

    cpu
    
    ROM:充当内存,存放 BIOS 系统
    
    CMOS:充当硬盘
    
  • 操作系统的启动流程(*****)

    1.计算机加电
    
    2.BIOS 开始运行,检测硬件:cpu、内存、硬盘等
    
    3.BIOS 读取 CMOS 存储器中的参数,选择启动设备
    
    4.从启动设备上读取第一个扇区的内容(MBR 主引导记录 512 字节,前446 为引导信息,后 64 为分区信息,最后两个为标志位)
    
    5.根据分区信息读入 bootloader 启动装载模块,启动操作系统
    
    6.然后操作系统询问 BIOS,以获得配置信息。对于每种设备,系统会检查其设备驱动程序是否存在,如果没有,系统则会要求用户按照设备驱动程序。一旦有了全部的设备驱动程序,操作系统就将它们调入内核BIOS1、存有 win10 系统的光盘、u 盘、移动硬盘:无密码
    
  • 应用程序的启动流程

    1、双击 exe 快捷方式--》exe 文件的绝对路径,就是在告诉操作系统说:我有一个应用程序要执行,应用程序的文件路径是(exe 文件的绝对路径)
    
    2、操作系统会根据文件路径找到 exe 程序在硬盘的位置,控制其代码从硬盘加载到内存
    
    3、然后控制 cpu 从内存中读取刚刚读入内存的应用程序的代码执行,应用程序完成启动
    
posted @ 2021-12-02 11:16  maju  阅读(120)  评论(0)    收藏  举报