计算机工作原理及进程调度

文章详细介绍了计算机的工作原理,包括冯诺依曼体系结构下的CPU、存储器、输入输出设备的角色。CPU作为核心部分,遵循摩尔定律发展。进程是运行中的程序,具有唯一的PID,操作系统通过进程控制块(PCB)管理和调度进程,确保资源的合理分配。此外,文章还讨论了虚拟地址空间在进程隔离和安全性方面的重要性。
摘要由CSDN通过智能技术生成
  1. 计算机是如何工作的

1.1 冯诺依曼体系

现代的计算机大多遵守冯诺依曼体系

  • CPU中央处理器:计算机最核心的部分,进行算术运算和逻辑判断;(CPU这类芯片,从诞生到现在都是按照“指数规律”发展,遵循“摩尔定律”:每隔18个月,芯片的集成程度提高一倍,运算速度提升一倍,成本降低一半)

  • 存储器:分为外存和内存,使用二进制方式存储数据;

  • 输入设备:用户给计算机施号发令的设备;

  • 输出设备:计算机给用户汇报的过程。

1.2 CPU的基本工作过程

  • 工作过程:

  1. 主频:描述了1s有多少个时钟周期(近似于1s钟执行了多少个指令);

  1. 执行程序过程:硬盘→内存→CPU→解析指令→执行指令。

  • java程序:.java→.class→JVM读指令,解析指令,执行指令→二进制指令(由于CPU架构不同,所以转换成二进制指令为了跨平台)

  • 汇编语言就是机器指令,机器指令是二进制01,用特定的单词代替01组合就形成了汇编语言。

1.3 CPU构成(了解)

  • 门电路:与或非(基础门电路),对应真值表,CPU就是门电路的组合(这些在模电数电中会讲到);

  • 异或门:由基础门电路构成;

  • 加法器:半加器、全加器串起来;(加法器可以进行加减乘除运算)

1.4操作系统

  • 操作系统是软件,用来管理计算机资源

  • 操作系统的功能:

  1. 对上给软件提供稳定的运行环境;

  1. 对下管理各种硬件设备。

  • 计算机系统的分层视图:

  1. 进程(Process/Task)

2.1 什么是进程

  • 进程也叫任务,一个跑起来的程序叫做进程。

  • .exe是可执行文件,是存储在硬盘上的文件(静态的)。

  • 双击.exe文件,操作系统就会把这个文件中的核心数据加载内存里,同时在系统生成一个进程,可以在任务管理器中看到该进程。

  • 运行起来的程序才叫做进程。进程多会占用CPU和内存资源,会发生卡顿的情况。

2.2 管理进程

  • 描述:详细的标识清楚一个进程有哪些属性/信息,通过结构体(PCB:进程控制块)描述,结构体里面包含进程的各种信息。

  • 组织:通过一定的数据结构,把若干个用来描述的实体放到一起,并进行增删改查,系统通常会通过双向链表这样的结构把PCB组织起来。

  • 创建一个进程本质上就是创建PCB,并且加入到链表上;

  • 销毁一个进程本质就是从链表上删除对应的PCB节点;

  • 查看任务管理器本质就是遍历这个链表。

2.3 PCB具体信息(进程中的关键要素)

  • pid进行身份标识:一个主机同一时刻下的pid是唯一的,通过pid来区分一个进程。

  • 内存指针:可执行文件运行后,操作系统会把文件中的核心数据(执行的指令,指令依赖的数据)加载到文件中。需要给进程分配内存空间来存放数据。描述内存持有的内存资源。

  • 文件描述符表:每个进程都能打开一些文件,此表记录当前进程打开的文件,后续对文件进行读写操作。描述了进程持有的文件资源。进程是操作系统分配资源的基本单位。

以下四个属性和进程调度有关(调度是指合理分配CPU资源,通过并行或者并发的方式让计算机同时执行多个进行,并行:多个CPU同时独立运行多个进程;并发:一个CPU运行多个进程)

  • 进程状态:就绪状态、阻塞状态

  • 进程优先级:系统调度的时候会根据进程优先级给进程安排时间

  • 进程上下文:进程在CPU执行过程中需要切换其他进程,此时就需要保存当前运行的结果(存档),后面继续运行的时候需要恢复之前的中间结果(读档)继续执行。(上下文就是CPU中的寄存器的值,包含了中间结果,需要保存到PCB的上下文信息中(内存))

  • 进程记账信息:CPU执行的信息,辅助调度效果,根据信息安排调度,均衡调度。

2.4 虚拟地址空间

  • 为了避免进程之间出现内存越界访问的操作,需要让每个进程都有自己的内存空间,因此给每个进程划分内存空间,都叫做虚拟地址空间,通过专门的设备MMU完成虚拟地址到物理地址之间的映射。

  • 如果进程不小心访问了非法地址,MMU会针对地址校验,通知进程(杀死进程),从而避免影响其他进程的运行。

  • 使用虚拟地址空间,使进程之间存在了隔离性,一个进程不能直接访问另一个进程的内存数据,放置干扰操作,保证系统的稳定性。

  • 隔离性使得进程更加稳定,但是也存在问题,有的需求需要多个进程互相配合,进程隔离进程之间就很难交互,因此引入了新的机制,进程间通信(公共资源)。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值