计算机基础

计算机完整的体系结构

  应用程序

  操作系统

  计算机硬件

 

计算机硬件(三大核心部件):

  CPU:大脑  #CPU只能读取内存

  内存:短期记忆

  硬盘:永久保存(本子)  

       CPU工作流程:

    通过暴风影音打开一个视频:

      1.硬盘运转将数据读到内存

         2.CPU去内存里面拿数据

      3.将打开视频的命令翻译成自己能对应上的操作步骤

      4.硬件执行

注:CPU一直在运行,使用率指CPU多少在执行任务。剩下的其实也在工作,只是在执行特殊命令空转

 

计算机的五大组成部分

  1.运算器:计算机的运算系统  负责数学运算与逻辑运算

  2.控制器:计算机的控制系统  是计算机的指挥系统,用来控制计算机所有其他硬件的运行

    —逻辑运算

      判断事务的对错

    —数字运算

      1+1

  运算器+控制器=中央处理器(CPU)

  3.存储器(又名I/O设备):

    —内存    存取的都是电信号,断电数据丢失

      基于电工作的

      优点:读取速度快

      缺电:断电数据丢失

    —外存    磁盘存取的都是磁信号,断电数据不会丢失

      优点:可以永久存储数据

      缺点:读取速度慢

  4.输入设备

    键盘、鼠标、触摸屏、摄像头、麦克风

  5.输出设备

    显示器、音响、打印机

 

详细介绍参考:https://www.cnblogs.com/linhaifeng/p/6523843.html


三大核心硬件:
  cpu
  内存
  硬盘

 

存储器:

  寄存器:将CPU即将要用到的数据存储于寄存器 (容量小) <4kb  #CPU自带

  Cache(高速缓存):将经常要用的数据中容量比较小的数据存储在高速 缓存

  内存:临时存储数据的地方

    linux下:

      cache读缓存 当linux系统认为平时内存未满,偷偷拿一部分内存读常用数据作为缓存
      buffer写缓冲 偷偷拿一部分内存,往硬盘写数据并不会立马写入,会攒一大波放入缓存,一次性写入硬盘中(可以强行刷新写入硬盘)

  硬盘:

    机械硬盘:硬盘的机械手臂在磁道上旋转读取数据,取对应扇区,查数据

      (IO时间为平均寻道时间[寻找数据所在那个圈圈磁道]+平均延迟时间[旋转到数据所在的扇区])  例如7200转的机械硬盘,可求平均延迟时间(转半圈时间)

    固态硬盘:基于电容存储,数学算法

 

操作系统:

  操作系统就是将计算机硬件的一系列丑陋的接口封装起来,转化为优雅,便捷的接口,给到应用程序

    操作系统就是组织、协调、控制你的计算机硬件 与 应用软件资源的一种控制程序

       BIOS (Baise input output system) #计算机自带的一个小系统

 

以下国产系统与之关联系统

通信 UOS V20 ------------- centos -------------- rocky --------------- rhel

麒麟 openKylin ------------- ubuntu

 

POSIX

  • portable Operating System Interface可移植的操作系统接口
  • IEEE在操作系统上定义的一系列API标准
  • POSIX兼容的程序可在其他POSIX操作系统编译执行
源码 ----> 编译 ----> 得到可执行程序 exe
                    在 windows 可执行
                    在 linux 中无法执行

一份源码
    两个平台编译

    如果不能跨平台编译
        就意味着,一个程序,要写两份代码

    源码层面可以跨平台
        实际上,并不是百分百,在不同的凭条,还是要分别做适配,但是大多数函数,库,都是可以跨平台的

在很久之前,编译后的二进制,不能跨平台,源码也不能跨平台,那时候,只能写两份程序
后来,为了结束这种情况,就出了一个概念叫 posix,就是把常用的函数,接口,在不同的操作系统和平台上统一了

 

CPU

x86-64 CPU
x86架构  有更多复杂指令集的内核 x86是针对cpu的型号或者说架构的一种统称,详细地讲,最早的那颗Intel发明出来的CPU代号称为8086,后来在8086的基础上又开发出了80285、80386....,因此这种架构的CPU就被统称为x86架构了。 由于AMD、Intel、VIA所开发出来的x86架构CPU被大量使用于个人计算机上面,因此,个人计算机常被称为x86架构的计算机! 程序员开发出的软件最终都要翻译成cpu的指令集才能运行,因此软件的版本必须与cpu的架构契合,举个例子,我们在MySQL官网下载软件MySQL时名字为: Windows(x86,32-bit),ZIP Archive (mysql-5.7.20-win32.zip) 我们发现名字中有x86,这其实就是告诉我们:该软件应该运行在x86架构的计算机上。

 

CPU分为32位和64位:

  cpu的位数指的是cpu一次性能从内存中取出多少位二进制指令,64bit指的是一次性能从内存中取出64位二进制指令。
    在2003年以前由Intel所开发的x86架构CPU由8位升级到16、32位,后来AMD依此架构修改新一代的CPU为64位,到现在,个人计算机CPU通常都是x86_64的架构。
    cpu具有向下兼容性,指的是64位的cpu既可以运行64位的软件,也可以运行32位的软件,而32位的cpu只能运行32位的软件。这其实很好理解,如果把cpu的位数当成是车道的宽,而内存中软件的指令当做是待通行的车辆,宽64的车道每次肯定既可以通行64辆车,也可以通信32辆车,而宽32的车道每次却只能通行32辆车

    计算机是基于电运行的。
    通过高低电平:1,0        例:1010101010101010
     x86:32位
    cpu一次性可以处理32位个二进制字符
    可以兼容32位应用程序
    x64:64位
    cpu一次性可以处理64位个二进制字符
    可以兼容32位应用程序和64位的应用程序

  注:64为系统是amd设计的,windows跟进兼容,所有又名amd64

 

什么是文件?

  操作系统用于存储数据的接口,本质上就是控制硬盘IO操作

 

计算机完整体系结构
  应用程序
  系统接口层    在指令集基础上,系统进行封装接口
  内核         出厂就有的内核指令集
  计算机硬件

posted @ 2019-10-31 17:24  战斗小人  阅读(172)  评论(0编辑  收藏  举报