[3]-操作系统


简短

  • 直接内存访问DMA:独立于CPU,设备-内存
  • 通道:独立于CPU,有自己的指令系统,管理IO操作
  • Spooling:用软件技术模拟独享设备的工作
  • 页表:每一个作业都有关于自己的页表
  • 请页静态替换:OPT理想、LRU、LFU、FIFO

进程:资源分配的基本单位 程序+数据+PCB

  • 进程间通信
    • 信号量、信号
    • 管道、消息队列
    • 共享内存、套接字

线程:独立调度的基本单位

  • 线程同步通信
    • 信号量、信号
    • 互斥量、临界区

死锁

  • 定义:多个进程因为竞争资源,造成的互相等待的现象
  • 原因:系统资源不足、推进顺序不合理
  • 必要条件:互斥、 请求保持、非剥夺、循环等待
  • 处理策略
    • 预防:破坏必要条件
    • 避免:银行家算法
    • 检测:资源分配图检查环路
    • 恢复

死锁例子:+m1 +m2 -m1 +m1

  • 线程T1持有锁L1并且申请获得锁L2
  • 而另一个线程T2持有锁L2并且申请获得锁L1
  • 因为默认的锁申请操作都是阻塞的,所以线程T1和T2永远被阻塞了

实模式、保护模式

  • 实模式:程序通过段地址:偏移值直接访问物理内存
  • 保护模式
    • 程序通过段选择:偏移值访问虚拟内存
    • 然后操作系统通过全局描述符表将虚拟内存转为物理地址
    • 好处:进程有了严格边界,任何进程无法访问不属于自己进程的物理内存

缓冲区溢出

  • 定义:计算机向缓冲区填充数据时,超过了本身的容量,溢出的数据覆盖在合法数据上
  • 原因:程序没有仔细检查用户输入的参数
  • 危害:攻击,堆栈溢出,函数返回时,跳转到任意地址
    • 程序崩溃并拒绝服务
    • 跳转并执行恶意代码

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值