计算机基础知识

第一:什么是操作系统?

精简的说:操作系统就是一个协调、管理和控制计算机硬件资源和软件资源的控制程序。

操作系统的作用:
1.为应用程序提供如何使用硬件资源的抽象
2.管理硬件资源

第二:什么是硬件驱动?

是一种可以让计算机和设备通信的特殊程序,可以理解为硬件的接口,操作系统只能通过这个接口,才能控制硬件设备的工作,如果某个设备的驱动程序未能正确的安装,便不能正常的工作。

第三:计算机存储:

计算机存储是指计算机中由存放程序和数据的各种存储设备。

寄存器即L1缓存:用与cpu相同材质制造,访问无时延,容量<1KB

高速缓存即L2缓存:主要由硬件控制高速缓存的存取,内存中有高速缓存行按照0~64字节为行0,64~127为行1。。。内存中的缓存行内容放在寄存器或者高速缓存中,当一个程序需要一个缓存字时,高速缓存硬件检测是否命中。。。高速缓存命中通常需要两个时钟周期。

内存:计算机中所有程序的运行都是在内存中进行的,因此内存的性能对计算机的影响非常大。内存(Memory)也被称为内存储器

存储设备:磁盘,硬盘等等,在这详细说下现在少用的磁盘:在价钱相同的情况下比硬盘拥有更高的存储容量,虽然速度低于磁盘,但是因其大容量,在地震水灾火灾时可移动性强等特性,常被用来做备份

第四:多路复用与并发介绍:

多路复用:处理来自多个程序发起的多个(多路)共享(复用)资源的请求,简称多路复用

多路复用分为时间多路复用和空间多路复用
时间上的复用:当一个资源在时间上复用时,不同的程序或用户轮流使用他。第一个程序用完这个资源,第二个才能用,第三个,以此类推。。。(至于下一个是谁,下个个用多长时间,这些都是操作系统说的算)
空间上的复用:每个客户都获取了一个大的资源中的一小部分资源,从而减少了排队等待资源的时间。
注:这两种方式合起来就是多道技术

并发:

在操作系统中,是指一个时间段中有几个程序都处于已启动运行到运行完毕之间,且这几个程序都是在同一个处理机上运行,但任一个时刻点上只有一个程序在处理机上运行。

第五:处理器与寄存器:

处理器:即cpu,计算机的大脑就是cpu,cpu是一个硬件,不同的cpu内部嵌入不同的指令集,不同的指令集执行不同的程序。cpu的工作机制:cpu从内存中取出指令-->解码 以确定该指令的类型和操作数-->执行

寄存器:是存在cpu内部的存储部件
注解:cpu访问内存太慢,于是有了用cpu材料制作的存储:寄存器。与cpu材质相同意味着访问无延迟

寄存器的工作机制:cpu指令中需要提供一些专门的指令用来将一个字从内存调入寄存器,以及将一个字从寄存器存入内存。其他的指令用来把来自寄存器和内存的操作数组合,或者俩者产生一个结果,诸如将两个字相加并把结果存在寄存器或内存中。

寄存器分类

通用寄存器:保存关键变量和临时结果.

程序计数器:对程序员可见的寄存器,保存了将要取出的下一条指令的内存地址。在指令取出之后,程序计数器就被更新以便执行后继的指令

堆栈指针:它指向内存中当前栈的顶端。该栈含有已经进入但是还没有推出的每个过程的一个框架。在一个过程的堆栈框架中保存了相关的输入参数,局部变量以及那些没有保存在寄存器中的临时变量

程序状态字psw:保存了条码位,cpu优先级,模式(内核态或用户态),以及各种其他的控制位。用户程序通常读入整个psw,但是只对其中的少量字段写入。在系统调用和io中,psw的作用很重要

操作系统和寄存器

操作系统必须知晓所有的寄存器。在时间多路复用的cpu中,操作系统经常会中止正在运行的某个程序并启动(或再启动)另一个程序。每次停止一个运行着的程序时,操作系统必须保存所有的寄存器,这样在稍后该程序被再次运行时,可以把这些寄存器重新装入

第六:内核态与用户态:

多数操作系统都有两种运行模式:内核态(也称为管态、核心态)和用户态。具体的,操作系统的执行即cpu的执行,每个cpu都有特定的指令集,我们所有的软件要想运行,最终都需要转换成cpu的指令去运行,而cpu在运行时分为两种工作状态:内核态和用户态 

区分内核态与用户态:

操作系统通过控制cpu的psw寄存器中的一个2进制位来区分内核态和用户态

内核态:二进制位为1代表cpu此刻的运行状态为内核态,运行于内核态的程序如操作系统内核,可以执行任何的cpu指令,这意味着对硬件资源有完全的操作权限。如:操作系统内核

用户态:二进制位为0代表cpu此刻的运行状态为用户态,运行于用户态的程序如应用程序暴风影音,可以执行的是所有cpu指令集的一个子集(一部分指令),这个子集并不包含那些会影响机器的控制或可进行I/O的操作命令,这意味着在用户态的程序对硬件资源的操作是禁止的。例子说明:开发的应用程序,qq,微信,暴风影音等

内核态与用户态的相互转换:针对用户态的用户应用程序对硬件的操作,操作系统提供了系统调用的接口,这些接口程序同样是运行在用户态的软件,它们被用户应用程序调用,它们的功能是对系统内核发起请求让运行陷入内核态,修改了二进制位为1,进而可以执行操作硬件资源的指令

原文地址:https://www.cnblogs.com/ylqh/p/6417705.html