简短
- 直接内存访问DMA:独立于CPU,设备-内存
- 通道:独立于CPU,有自己的指令系统,管理IO操作
- Spooling:用软件技术模拟独享设备的工作
- 页表:每一个作业都有关于自己的页表
- 请页静态替换:OPT
理想、LRU、LFU、FIFO
进程:资源分配的基本单位 程序+数据+PCB
- 进程间通信
- 信号量、信号
- 管道、消息队列
- 共享内存、套接字
线程:独立调度的基本单位
- 线程同步通信
- 信号量、信号
- 互斥量、临界区
死锁
- 定义:多个进程因为竞争资源,造成的互相等待的现象
- 原因:系统资源不足、推进顺序不合理
- 必要条件:互斥、 请求保持、非剥夺、循环等待
- 处理策略
- 预防:破坏必要条件
- 避免:银行家算法
- 检测:资源分配图检查环路
- 恢复
死锁例子:+m1 +m2 -m1 +m1
- 线程T1持有锁L1并且申请获得锁L2
- 而另一个线程T2持有锁L2并且申请获得锁L1
- 因为默认的锁申请操作都是阻塞的,所以线程T1和T2永远被阻塞了
实模式、保护模式
- 实模式:程序通过
段地址:偏移值直接访问物理内存 - 保护模式
- 程序通过
段选择:偏移值访问虚拟内存 - 然后操作系统通过
全局描述符表将虚拟内存转为物理地址 - 好处:进程有了严格边界,任何进程无法访问不属于自己进程的物理内存
- 程序通过
缓冲区溢出
- 定义:计算机向缓冲区填充数据时,超过了本身的容量,溢出的数据覆盖在合法数据上
- 原因:程序没有仔细检查用户输入的参数
- 危害:攻击,堆栈溢出,函数返回时,跳转到任意地址
- 程序崩溃并拒绝服务
- 跳转并执行恶意代码
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/75573.html