1.冯诺依曼体系结构
输入设备:接收某个动作,转变成执行指令
输出设备:数据输出到某个设备,如显示器
CPU:执行指令的设备,含有运算器和控制器
-
关于冯诺依曼:
-
这里的存储器指的是内存
-
所有的输出设备都只能和内存打交道
2.操作系统的理解
2.1操作系统的概念
任何计算机都包含一个基本的集合,称为操作系统(OS),其中包括:
- 内核(进程管理,内存管理,文件管理,驱动管理)
- 其他程序(例如函数库,shell程序等等)
操作系统的定位是:一款纯正的“搞管理”的软件
- 管理者的任务种类分为两种:硬件管理和软件管理
- 按照目标对象分两种:一种对内的管理,一种对外的管理
2.2 设计OS的目的
系统调用接口:系统开放出来,供第三方程序调用的接口(某些功能程序没有权限直接操作,而只能通过系统接口操作)如IO(网络IO,本地文件IO)
驱动程序:某个硬件要在某个系统使用,需要事先安装驱动程序,系统通过驱动程序间接的管理硬件
硬盘:比较特殊的输入输出设备
网卡:系统通过写驱动程序来管理
统计系统:每个系统都会收集统计信息
3.进程
3.1进程的初步认识
- 对操作系统来说:一个任务就是一个进程
课本概念:程序的一个执行实例,正在执行的程序等
内核观点:担当分配系统资源(CPU时间、内存)的实体
- PCB结构体来管理进程(包括了进程的各种信息,如PID,进程名称,状态,占用的资源)PID是系统标识进程的字段
- 查看端口号下的进程:
netstat -ano | findstr 8080
netstat -anp | grep 8080 程序和进程的区别?
程序:在硬盘上静态的可执行文件。(可执行的程序代码)
进程:程序运行起来后,表现为进程。进程是系统分配资源(CPU、内存等)的最小单位
3.2 时间片
操作系统的任务调度是采用时间片轮转的抢占式调度方式,也就是说一份任务执行一小段时间后强制暂停去执行下一个任务,每个任务轮流执行。
- 时间片:任务执行的一小段时间
- 运行状态:任务正在执行时的状态
- 就绪状态:没有处于时间片范围的进程,暂停执行,等待状态
3.3 并发与并行
- 并发: 多个进程在一个CPU下采用时间片轮转的方式,在一段时间内让多个进程都得以推进,称之为并发(假同时)
- 并行:多个进程在多个CPU下分别同时进行运行,称之为并行(真同时)
真实的情况是:系统调度CPU执行多个进程的代码指令,既存在并发,也存在并行
3.4内核态与用户态
- 内核态:操作系统内核作为直接控制硬件设备的底层软件,权限最高
- 用户态:用户程序权限最低
用户态和内核态的相互转换:比较耗时,需要向系统申请
了解IO:
- BIO(同步阻塞IO):执行到某行代码,程序挂起等待,系统内核再执行IO操作,如从硬盘读取某个文件:硬件=》系统 =》JVM内存
- NIO:同步非阻塞IO
- 系统调度进程:进程在运行态和就绪态之间转变
进程上下文 :时间片轮转调度时,进程切换出去要保存到寄存器
CPU中的寄存器:值、进程状态、程序计数器等等