操作系统
整理了操作系统的常考知识点
什么是死锁?死锁产生的条件?
什么是死锁:
两个或多个进程无限期的阻塞、相互等待的一种状态。
死锁产生的四个必要条件:
(有一个条件不成立,则不会产生死锁)
1、互斥条件:一个资源一次只能被一个进程使用
2、请求与保持条件:一个进程因请求资源而阻塞时,对已获得资源保持不放
3、不剥夺条件:进程获得的资源,在未完全使用完之前,不能强行剥夺
4、循环等待条件:若干进程之间形成一种头尾相接的环形等待资源关系
解决死锁的方法有:
预防死锁、避免死锁、检测死锁、解除死锁
解决死锁的策略有:
鸵鸟策略、预防策略、避免策略、检测与解除死锁
分页和分段有什么区别?
1、段是信息的逻辑单位,它是根据用户的需要划分的,因此段对用户是可见的 ;页是信息的物理单位,是为了管理主存的方便而划分的,对用户是透明的。
2、段的大小不固定,有它所完成的功能决定;页大大小固定,由系统决定
3、段向用户提供二维地址空间;页向用户提供的是一维地址空间
4、段是信息的逻辑单位,便于存储保护和信息的共享,页的保护和共享受到限制。
什么是缓冲区溢出?有什么危害?
缓冲区溢出是指当计算机向缓冲区填充数据时超出了缓冲区本身的容量,溢出的数据覆盖在合法数据上。
危害有以下两点:
(1)程序崩溃,导致拒绝服务
(2)跳转并且执行一段恶意代码
造成缓冲区溢出的主要原因是程序中没有仔细检查用户输入。