1、冯诺依曼体系结构:
我们常见的计算机(笔记本),不常见的计算机(服务器)大部分都遵循冯诺依曼体系:
- 输入设备:接收某个动作,转变成执行指令(从某设备传输数据到内存),如 鼠标、键盘
- 输出设备:数据输出到某个设备,如 显示器
- 存储器: 这里的存储器指的是 内存(所有设备都只能和内存打交道)
- CPU:执行指令的设备(只能是内存的指令),可以执行 运算操作、数据操作、逻辑操作
(1)控制器:(相当于老板)
(2)运算器:(相当于员工)
数据的读写效率:
2、操作系统(Operator System):
(1)定位: 一款纯正的 “搞管理” 的软件
管理 计算机硬件 和 软件资源 的 计算机程序
(2)目的:
- 与硬件交互,管理所有的软硬件资源(对内且对下)
- 为用户程序(应用程序)提供一个良好的执行环境(对外且对上)
(3)进程:
① 程序和进程的区别:
- 程序:在硬盘上静态的可执行文件。(可执行的程序代码)
- 进程:程序跑起来后,表现为进程(进程是系统分配资源的最小单位)
进程是担当分配系统资源的实体,是具有动态特性的
② Java 程序怎么运行的?
③ 进程的时间片轮转调度算法:
对于 CPU 来说,执行时间非常快,人肉眼感知是进程同时执行的
运行态:正处于时间片调度到的进程,正在执行代码片段
就绪态:没有处于时间片范围的进程,暂停执行,等待就绪
④ 并发与并行的区别?
- 并发:多个进程 在 一个CPU 下采用 时间片轮转 的方式,在一段时间之内,让多个进程都得以推进
一段时间(人的肉眼感知不到) - 假同时(一个时间,只有一个进程执行) - 并行:多个进程 在 多个CPU 下分别、同时进行运行
真同时(一个时间点,多个进程同时执行)
⑤ 内核态 和 用户态的区别?
- 内核态:直接控制硬件设备的底层软件,权限最高
设计到安全相关的指令,权限要求比较高,比较通过系统接口调用(IO操作) - 用户态:开发给用户程序可以直接让某设备执行的操作,不存在安全隐患
用户态和内核态的相互转换:比较耗时,需要向系统申请
⑥ 进程上下文:(环境)
时间片轮转调度时,进程切换出去要保存信息到寄存器,以便再次执行该进程时,能够恢复切换时的状态