计算机的核心工作机制

前言

本篇不介绍代码,主要是理解计算机的一些核心工作机制。想了解更多请跳转-->【【计算机科学速成课】[40集全/精校] - Crash Course Computer Science】

冯诺依曼体系结构

由计算机之父之一冯诺依曼提出的计算机内部构造的基本组成,而现在大多数仍是如此。

 CPU:包含运算器和控制器两部分,进⾏算术运算和逻辑判断。

存储器:分为外存(硬盘、U盘等)和内存,⽤于存储数据(使⽤⼆进制⽅式存储)。

输入设备:对计算机进行输入信号的设备。

输出设备:计算机执行信号后用于输出结果的设备。

注意:(1)针对存储空间   硬盘>内存>>CPU

(2)  针对数据访问速度    CPU>>内存>硬盘。 

CPU的核心参数

右键点击任务栏,选择“任务管理器”,然后切换到“性能”标签页,在这里就可以看到CPU的参数

(1)核心数

顾名思义,就是CPU里有多少个核心,毕竟多个核心就能同时处理多条信号,效率会大大提升~

(2)频率

可以理解成CPU的运算速度,但会根据任务量进行动态变化的~

CPU工作的流程

首先给一张指令表,RAM的意思是内存 

还有一张不同地址对应的数据

程序计数器的概念:保存了接下来从哪个位置执行指令,同时伴随着执行指令成功,自身+1. 

(1)取指令

假设接收到的指令是00101110       (假设程序技术器=0,便从0号地址开始)

(2)解析指令

对半分开,前半部分(称为操作码)0010去查指令表,便知指令是LOAD_A。

而后半部分(操作数)1110就是被操作的数对应的地址。

就比如这条指令就是把1110地址对应的数据存到A寄存器里面去,1110对应的十进制是14。

(3)执行指令

把地址是14的数据读出来放入A寄存器中,同时程序计数器+1,以此类推,开始从地址是1接收指令......

操作系统

定位

其中最大的作用便是管理:

(1)管理不用的硬件设备。

(2) 给软件提供稳定的运行环境。

主流的操作系统:

1. Microsoft Windows
   由微软公司开发,Windows 是最广泛使用的个人电脑操作系统之一。它有多个版本,包括 Windows 10、Windows 11 以及针对服务器市场的 Windows Server 系列。

2. macOS
   由苹果公司开发,专为苹果的Macintosh系列电脑设计。macOS 提供了一个图形用户界面、集成应用程序和强大的性能,是苹果生态系统的重要组成部分。

3.Linux
   一个开源的操作系统内核,由林纳斯·托瓦兹(Linus Torvalds)创建。Linux 有许多不同的发行版(Distributions),如 Ubuntu、Fedora、Debian、Red Hat Enterprise Linux 等,它们针对不同的用户和用途进行了优化。Linux 在服务器、嵌入式系统和个人电脑上都有广泛的应用。

4. Android
    由谷歌公司开发的基于Linux内核的移动操作系统,主要用于智能手机和平板电脑。Android 是一个高度定制化的系统,允许设备制造商和开发者创建独特的用户体验。

5. iOS
   由苹果公司开发的移动操作系统,专为iPhone、iPad和iPod Touch设计。iOS 以其安全性、稳定性和流畅的用户体验而闻名。

6. Chrome OS
   由谷歌公司开发的基于Linux的操作系统,主要用于Chromebook笔记本电脑。Chrome OS 以Chrome浏览器为核心,强调云服务和网络应用。

等等

什么是进程?

顾名思义,进程就是正在执行的应用程序。

右键点击任务栏,选择“任务管理器”,这里就可以看到电脑上的进程信息。

 而对一个应用程序而言,无非就两种状态 

(1)没有运行时就是.exe文件,放在硬盘上的。

(2)运行的时候,.exe就会被加载到内存里,CPU执行里面包含的指令。

进程管理

对于大量的不同程序的进程,首先通过 结构体/类 将进程的属性给描述出来。

一般使用结构体,同时也把描述进程信息的结构体叫做 进程控制块 (PCB)

而将不同的PCB串到一起,可以简单认为用链表去实现基本的增删改查。

进程的调度

关键在于四个字->   “分时复用”

通俗点讲就是,CPU运行进程1,一会子后,又跑去运行进程2,又一会,跑去运行进程3,又一会,跑去继续执行进程1等等。但是CPU的运行速度很快,快到肉眼无法察觉,所以就觉得在同时运行啦~

当然了这是对于单核来讲是这样---在宏观的角度,也叫做“并发执行”,但现在都是多核了,每个核心都可以这样,于是在微观角度这叫做“并行执行”。

进程状态

就绪状态:随时都可以被调度到CPU上执行指令的状态。

阻塞状态:无法随时都可以被调度到CPU上执行指令的状态,因为其他一些工作。

其实在之前的编程语言中早就见识过了,在等待控制台输入时,进程就处于阻塞状态。比如C语言的scanf、Java里面的Scanner等等。

进程优先级

这个也好理解,就是不同的进程执行顺序的不同,就要看进程之间的优先级了。

进程的上下文

前面讲到分时复用的时候就提到,再次执行进程1的时候就不再重新执行进程1,而是沿着上次执行的结果继续往后执行。而每个进程上次执行的中间结果保存到CPU的寄存器(属于控制器的一种)中,那些中间结果就称为上下文。

通俗点就是,写作业(进程1)的时候写了一会,但突然肚子疼,在计算题的时候(写作业时的中间结果)停住了上厕所(进程2)去,回来的时候便是直接从计算题开始继续写,而不是从头开始。

进程的记账信息

首先因为进程的优先级不同,会使得不同的进程占用的资源差距会越来越大,于是操作系统为了更好地性能优化,于是对每个进程所占资源,在CPU上执行的时间等信息进行统计,这就是记账信息。

看到最后,如果觉得文章写得还不错,希望可以给我点个小小的赞,您的支持是我更新的最大动力

  • 14
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值