zoukankan      html  css  js  c++  java
  • 1.计算机初识

    1.计算机的五大组成部分:

    • 控制器
    • 运算器
    • 存储器
    • 输入设备input
    • 输出设备output

    2.计算机系统的三层结构

    应用程序、用户----》操作系统------》计算机硬件

    平台:操作系统+硬件

    3.cpu分类

    cpu内部含有微指令集,所有软件都要经过CPU内部的位指令集来完成,指令集的设计主要分为两种

    • 精简指令集(RISC)
      • 微指令集较为精简,每个指令的运行时间都很短,完成额动作单纯,执行效能佳,但若要做复杂的事情,就要多个指令来完成
    • 复杂指令集(CISC)
      • 每个小指令可以执行一些较地接的硬件操作,指令数目多且复杂,每条指令的长度并不相同。因此指令执行较为复杂所以每条指令花费的时间较长,但每条指令可以处理的工作较为丰富

    4.x86架构64位

    • x86架构

      x86是针对cpu的型号或者说架构的一种统称,由于AMD、Intel、VIA所开发出来的x86架构cpu被大量适用于个人计算机上面,因此个人计算机常被称为x86架构的计算机

    • 64位

      CPU的位数指的是CPU一次性能从内存中取出多少位的二进制指令,64bit指的是一次性能从内存中取出64位二进制指令。CPU具有向下兼容性,指的是64位的CPU既可以运行64位的软件,也可以运行32位的软件

    5.x86架构64位

    • x86架构

      x86是针对cpu的型号或者说架构的一种统称,由于AMD、Intel、VIA所开发出来的x86架构cpu被大量适用于个人计算机上面,因此个人计算机常被称为x86架构的计算机

    • 64位

      CPU的位数指的是CPU一次性能从内存中取出多少位的二进制指令,64bit指的是一次性能从内存中取出64位二进制指令。CPU具有向下兼容性,指的是64位的CPU既可以运行64位的软件,也可以运行32位的软件

    6.内核态与用户态

    代表CPU的两种工作状态

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

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

    内核态与用户态的转换:

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

    7.核数与线程

    2核4线程:

    • 2核心代表有2个CPU,4线程指的是每个CPU都有2个线程=》假4核

    4核8线程:

    • 4核心代表有4个CPU,8线程指的是每个CPU都有2个线程=》假8核

    8. 存储器

    RAM:内存

    ROM:“只读内存”,存放计算机厂商写死计算机上的一段核心程序=》操作系统

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

    硬盘:

    • 机械硬盘:磁盘

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

        8bit 比特位=1Bytes字节

        1024Bytes=1KB

        1024KB=1MB

        1024MB=1GB

        1024GB=1TB

        1024TB=1PB

      • 扇区:

        一个扇区通常为512Bytes

        站在硬盘角度,一次性读写数据的最小单位为扇区

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

      • 柱面

    • 固态硬盘

    IO延迟:例如7200转/min,120转/s,一圈8ms,半圈4ms

    • 平均寻道时间:机械手臂转到数据所在磁道需要花费的时间,受限于物理工艺水平,目前机械硬盘可以达到5ms

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

    IO延迟=平均寻道时间+平均延迟时间

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

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

    9.操作系统启动流程

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

    10.应用程序的启动流程

    • 双击exe快捷方式--》exe文件的绝对路径,就是在告诉操作系统说:我有一个应用程序要执行
    • 操作系统会根据文件路径找到exe程序在硬盘的位置,控制其代码从硬盘加载到内存
    • 然后控制CPU从内存中读取刚刚读入内存的应用程序代码执行,应用程序完成启动
  • 相关阅读:
    mysql 允许远程登陆
    jade报错:unexpected token
    quartz定时任务
    Java调用脚本
    CentOS安装、卸载jdk
    CentOS系统没有javac命令
    IDEA Error:java: 未结束的字符串文字
    面试连环炮系列(三):synchronized怎么用的
    面试连环炮系列(二):你们的项目Redis做了集群部署吗
    面试连环炮系列(一):如何保证Redis高可用和高并发
  • 原文地址:https://www.cnblogs.com/Psc-mmf/p/13903981.html
Copyright © 2011-2022 走看看