• 计算机硬件基础知识普及,操作系统,编程语言分类


    一、计算机硬件基础知识普及(***)

    1.存储器:
    ROM ==》内存:只读内存,出厂数据,不可更改,存放BIOS(管理基本输入输出运行)操作系统
    CMOS==》‘硬盘’:易失性存储器,断电数据丢失,但耗电量极低
    用来运行BIOS程序:
    (1)CPU
    (2)ROM
    (3)CMOS


    RAM主存:易失性存储器,断电数据消失
    EEPROM(电可擦除可编程ROM)和 闪存(flash memory) 非易失性存储器,可以擦除和重写

    ps:为何将内存称之为主存:

    CPU是从内存中取程序来翻译成CPU内部自己的指令集去运行。输入输出单元,外部存储装置,都要通过内存来获取,内存是所有存取行为的中转站,主要的存储设备,称之为主存。

    2.硬盘:
    机械磁盘:盘面(通常有2张),磁头,机械手臂,**磁道**,**柱面**,**扇区**(后三重点了解)
    每个磁头可以读取一段换新区域,称为磁道
    把一个戈丁手臂位置上所以的磁道合起来,组成一个柱面
    每个磁道划成若干扇区,扇区典型的值是512字节

    数据都存放于一段一段的扇区,即磁道这个圆圈的一小段圆圈,从磁盘读取一段数据需要经历寻道时间和延迟时间

    重点:为何机械硬盘读取速度慢? 慢在找数据的过程
    7200转/min
    转一圈花费:8ms
    平均寻道时间:5ms

    平均延迟时间:4ms
    固态硬盘:规避了机械硬盘的寻找数据的时间

    平均寻道时间(5ms):机械手臂从一个柱面随机移动到相邻的柱面的时间成为寻到时间,找到了磁道就以为着招到了数据所在的那个圈圈,但是还不知道数据具体这个圆圈的具体位置
    平均延迟时间(4ms):机械臂到达正确的磁道之后还必须等待旋转到数据所在的扇区下,这段时间成为延迟时间

    IO延迟时间=平均寻到时间(5s)+平均延迟时间(4s)

    3.虚拟内存(swap分区)
    内存满了的时候,用虚拟内存,因为内存满了后,会影响程序
    当内存耗尽时,电脑就会自动调用硬盘来充当内存,以缓解内存的紧张
    windows即使物理内存没有用完也会去用到虚拟内存,而Linux不一样 Linux只有当物理内存用完的时候才会去动用虚拟内存(即swap分区)

    4.IO设备分为2部分:设备控制器、设备本身

    5.总线
    北桥即PCI桥:连接高速设备

    南桥即ISA桥:连接慢速设备

    6.计算机启动流程

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

    二、操作系统(*****)
        1.平台=计算机硬件+操作系统
         跨平台性:程序能否在不同平台运行
        2.什么是操作系统:
        操作系统是一个协调、管理、控制计算机硬件资源与应用软件资源的一个控制程序。
        3.计算机体系的三层结构:(******)
        应用程序/用户
        操作系统(windows、mac、linux(是个系列代号,稳定性高) 文件 可打开65535个
        计算机硬件(cpu、内存、硬盘)  硬盘

    三、编程语言分类(***)
          1.机器语言:直接用二进制指令编写程序
            优点:运行效率高
            缺点:开发效率低;二进制指令太难记忆;实现一个简单的功能都需要很多步才能完成

        2.汇编语言:用英文标签取代二进制指令去编写程序
            优点:运行效率高,但肯定低于机器语言;解决了机器语言二进制指令难记的问题
            缺点:开发效率仍然比较低

        3.高级语言:用人类能理解的表达方式去编写程序,计算机无法直接理解,需要翻译
            按照翻译方式的不同,高级语言又分为:
            编译型:翻译一次得到可执行结果,下次直接拿着现成的结果运行就好了,不需要再用编译器翻译了
            代表:C GO
            翻译工具:编译器
            解释型:每次执行程序都离不开解释型的翻译
            代表:py shell
            翻译工具:解释器
        ————————————————————————————————————————————————    
        执行效率:机器语言>汇编语言>高级语言(编译型>解释型)
        开发效率:机器语言<汇编语言<高级语言
        ————————————————————————————————————————————————

  • 相关阅读:
    git问题记录
    @Slf4j注解
    idea修改maven项目名
    spring的定时任务schedule
    @RequestParam详解
    统一全局异常处理将出错的栈信息打印到日志中
    python交互环境中导入文件中自定义的函数报错
    关于服务器的小技巧
    Python学习
    前后端分离时,获取不到session
  • 原文地址:https://www.cnblogs.com/guojieying/p/13230982.html
Copyright © 2020-2023  润新知