目录
冯诺依曼体系
1.输入设备:键盘,鼠标,硬盘
2.输出设备:显示器,打印机,硬盘
3.存储器:内存
4.CPU
(1)运算器:计算 + - * / & | ! ^
(2)控制器:if,while控制语句的执行方向
(3)寄存器:cpu执行进程时,保存进程需要的数据
存储空间:硬盘>内存>>CPU
数据访问速度:CPU>>内存>硬盘
Java进程
java为什么跨平台?
参考资料
进程是由操作系统创建及管理
操作系统:是做计算机资源管理的软件的,向上是管理进程的,向下是管理硬件的
例如:windows linux iOS Android
进程管理
CPU:多核CPU,就是把多个CPU打包捆绑在一起,安装在电脑中,每个CPU核心,都可以执行进程的代码指令
系统管理进程
操作系统管理进程
系统中,运行的进程,数量远远大于CPU的核心数。为什么给我们的感觉是在同时运行?
系统对进程的调度
涉及较多的调度算法:笔试强训中会讲
时间片轮转调度算法:一个cpu以时间片轮转调度的方式,依次执行多个进程,给人的感觉是同时执行
(一个进程一个时间片,执行一段时间,就切换到下一个进程执行)
上下文:
进程的状态
并发:一个CPU以时间片轮转调度的方式,执行多个进程,给我们感觉是同时进行(实际上是一个肉眼无法感知的小范围时间)
并行:多个CPU在一个时间点,同时执行多个进程
真实的计算机中,即存在并发,也存在并行
一个进程到底是就绪态,还是运行态,是由系统调度决定的,进程是无法感知的
抢占式的调度
有优先级比较高的任务,就要以抢占式的方式优先执行
B进程:优先安排时间片(运行态)==> A进程:时间片提前结束(运行态转为就绪态)
虚拟地址空间
通过进程的虚拟地址空间,映射到物理内存
隔离多个进程的内存:更安全
虚拟地址空间:
虚拟内存:现代操作系统,都会使用一种虚拟内存的技术,用于在某些进程进入阻塞等不活跃状态,把进程需要的数据,放在硬盘中
扩展真实使用的内存:系统中所有进程使用的内存,就可以超过物理内存的限制
虚拟地址空间+(物理内容+硬盘)
进程要加载某些数据:
1.通过虚拟地址空间,查找对应的物理内容中的数据,如果找到,就直接用
2.如果找不到,就会产生一个缺页式中断,就会再次从虚拟内存保存在硬盘的部分去查找
进程通信(了解)
进程使用虚拟地址空间,内存是互相隔离开(不能通过共享变量等来通信)
但实际可能需要这样的场景:某些进程间需要一定的执行顺序