操作系统
- 中断的分类
中断使CPU从用户态变为内核态,让操作系统内核强行收回CPU的控制权。中断分为内中断和外中断,内中断主要包括异常,比如自陷指令、地址越界、计算溢出;外中断主要是包括来自时钟以及I/O的中断; - 分时操作系统:时间片轮转,强调交互性
实时操作系统:强调可靠性,分为硬实时操作系统和软实时操作系统 - 硬件上装操作系统是为了方便更好的管理和分配硬件软件资源、合理的组织调度工作。
- 运行态、就绪态、阻塞态、创建态、终止态
- PCB:进程描述信息、进程控制和管理信息、资源分配清单、处理机相关信息
- 进程是一个独立的运行单位,是资源分配的基本单位,线程是调度的基本单位
- 作业调度(高级)、内存调度(中级)、进程调度(低级)
- 先来先服务、短作业优先、优先级调度、高相应比优先调度、时间片轮转调度、多级反馈队列调度
- 互斥、不剥夺、请求并保持、循环等待
- 并发、共享、虚拟、异步
- 死锁:多个进程因竞争资源而造成的一种互相等待
- 死锁预防、死锁避免、死锁检测(资源分配图)和解除
- 静态链接、装入时动态链接、运行时动态链接
- 绝对装入、可重定位装入、动态运行时装入
- 连续分配:单一连续分配、固定分区分配、动态分区分配(首次适应、临近适应、最佳适应、最坏适应)
- 分页、分段、段页式
- 固定分配局部置换、可变分配全局置换、可变分配局部置换:最佳置换、先进先出置换、最近最久未使用置换、CLOCK置换(最近未用、最近未用未修改)
- 抖动:频繁的页面调度
- 单级目录结构、两级目录结构、树形目录结构、无环图目录结构
- 空闲表法、空闲链表法、位示图法、成组链接法
- 缓和CPU与I/O设备间速度不匹配的矛盾、减少对CPU的中断频率,提高CPU和I/O设备之间的并行性
- 缓冲区溢出通常发生在程序使用固定大小的缓冲区来存储输入数据时。如果输入数据的长度超过了缓冲区的容量,多余的数据会溢出到相邻的内存区域,覆盖其他重要的数据或代码。缓冲区溢出可能导致以下安全问题,程序崩溃、数据损坏、执行恶意代码。攻击者可以通过精心构造的输入,将恶意代码注入到溢出的缓冲区中,从而执行恶意操作,如获取系统权限、控制程序等。
- 紧凑/拼接技术,将原先分散的小分区拼接成一个大分区
- 创建文件、读文件、写文件、删除文件、重新定位文件、截断文件
数据结构
- 逻辑:线性、非线性
- 顺序、链式、索引、散列存储
- 算法:有穷性、确定性、可行性
- 时间复杂度、空间复杂度
- 稀疏矩阵:非零元素非常少的矩阵
- 邻接矩阵法、邻接表法、十字链表(有向图)、邻接多重表(无向图)
- Prim适合边稠密的,Kruskal适合边稀疏的
- AOV网:用顶点表示活动的网(拓扑)、AOE网:用边表示活动的网(关键路径)
- 开放定址法、拉链法
- 不稳定:希尔、选择、快速、堆
- 快速排序在基本有序时会退化
- 数据元素是数据的基本单位
- 树是n个结点的有限集,是一种递归的数据结构。
- 广义表是线性表的一种推广,但是非线性。