计算机及其操作系统

计算机五大基本部件

CPU

CPU由运算器控制器等部件组成

  • 运算器:用来做算术运算和逻辑运算等,核心部件
  • 控制器:比如控制总线的使用权限,核心部件
  • 寄存器:存储数据,加速部件
  • 缓存:存储数据,分为一级缓存、二级缓存、三级缓存等,加速部件

存储器

即所谓的内存,也被称为RAM(Random Access Memory)
CPU存储器组成了计算机最核心的部件

计算器如何从存储器中取得数据?

  • 程序是由指令+数据/ 算法+数据结构构成,不同的算法对应于不同的数据结构,

  • CPU用来跑指令(CPU内置自己支持的指令)

  • CPU的指令集分为普通指令(如 加减乘除,对其他人没有影响)和特权指令(如 清空内存,可能会危及其他人)

  • 存储器存储数据,在存储器内部划分为很多存储单元,一个存储单元称之为一个cell,其大小是固定的,一个cell的大小是8位,8bits,即8位二进制(0,1之间的任何一种变化形式),一个cell提供的存储单位为1个字节,即一个Byte
    计算机存储按“位”来,即“bits”,小b指”位“,大B指”Byte“,1 Byte=8 bits
    对于内存而言,其最小存储单位就是字节,即哪怕一个数据也至少占据一个字节,另外七位是空的
    内存当中的每一个cell都是有地址的
    内存的编制方式是在一个平面范围下进行编制的,而非立体编制,其编制方式必须要容纳所有的内存空间

  • CPU 32 位、64位的概念

    32位CPU指的是数据存储能力一次是32位二进制(可以想象成有32根线,每根线有两种状态),所以一共表示2的32次方种变化,即CPU最多只能引用2的32次方种不同的位置
    2的32次=1024✖1024✖1024✖4 ,而一个最小存储单元是1Byte,1kb=1024 Bytes,所以2的32次=1024✖1024✖4 KB=1024✖4 MB=4 GB,即32位的CPU最多只能使用4G内存
    我们平时所说的”手机内存32GB“指的其实是外存,运行内存指的是RAM,CPU只能与内存打交道

  • 二进制与十进制
    2的10次=1024 二进制的K是以1024为单位进行换算的

  • 计算机如何运行,什么叫:指令+数据?
    对于计算机来讲,为了能够运行指令+数据,程序员写好的程序放在外部设备中,很可能放在硬盘上,因此程序要想能运行要装到内存中,因为CPU只能与内存打交道,即所有数据要装入内存,硬盘其实是IO设备
    一个程序要想运行,首先程序稳健必须要从磁盘装载到内存上,而程序由指令+数据组成,这就意味着指令+数据全都在内存中存放

  • 过程式编程语言
    顺序执行:依次运行
    循环执行:将整个循环体执行n次
    选择执行:仅仅其中的一个分支

  • CPU要比内存块很多,所以CPU有很多缓存,CPU缓存越大,内部命中率越高,性能越好

  • 记住一种思维逻辑:任何两个层次之间在速度上也罢在逻辑上也罢只要不衔接就加中间层,比如CPU快,内存慢,加缓存层;如人说的机器听不懂通过加编译器来实现

Input Output 输入输出设备(IO设备)

能让计算机按需完成数据加工的部件

  • Input:下指令,提供数据等
  • Output:输出数据加工后的结果

操作系统

Unix
Windows
Linux
GPL:General Public Licence所有软件可以获得源代码的协定
Unix其实是工作在硬件之上的监控程序,负责把底层硬件驱动起来,并把底层硬件提供的各种资源虚拟化,如把内存切割成n段分成多个程序使用,把CPU所提供的时间片切成n片供多个程序轮流使用,即把底层有限的计算资源切分成能够分配给多个应用程序的组成部分并监控这些程序是如何使用这些资源的,此外,如何启动一个程序,如何关闭一个程序等都是由监控程序来完成的,其取得了整个硬件的控制权,并把硬件的本来面目给虚拟成了一个软件的面目,把CPU提供的计算能力切割成了n片并轮流使用,基于时序完成复用,称为时序复用,而对于内存来讲,它通过将空间切成多片的方式能给分配给多个应用程序,从而也完成了内存资源的复用,所以这种复用带来的结果就是能够把一个独立的完整的资源给切分成n块,我们可以认为每一个程序都独立占用了计算机,独立占用了CPU,独立内存,对于一个程序而言,他认为自己是唯一的跑在机器上的程序,因为它理解不了其他程序存在,其对资源的使用是通过操作系统实现的,因此,监控程序为每一个程序虚拟出一个“美好家园”。我们可以理解为这每一个运行的程序就是一个基本的计算机的程序单位,这个运行中的程序称之为进程,进程是一个活动单位,而程序是一个静态单位,每一个进程称为一个task,不同task同时运行,我们称为multitasks,这个保证多任务同时运行的监控程序通常称为内核kernel
内核负责:1.驱动底层硬件2.把底层各个硬件资源抽象成为简单的资源3.管理各程序的运行,把有限资源分配给各运行中的程序,让他们彼此之间相安无事
Linux、BSB、Unix指的都是kernel,仅仅是指狭义上的操作系统,而不包含运行在其上的各种应用程序
完整的操作系统由内核和应用软件组成如GNU/Linux
狭义上的OS仅指kernel

猜你喜欢

转载自blog.csdn.net/qq_44520665/article/details/111875391