本文主要是介绍操作系统重点简答题,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
文章目录(持续更新)
- 操作系统重点简答题
- 📣一、操作系统的基本功能?
- 📣二、进程与线程的区别?
- ✨1.定义
- ✨2.不同点
- ✨3.相同点
- 📣三、死锁及产生的原因?
- ✨1.定义
- ✨2.死锁产生的原因
- ✨3.产生死锁的必要条件
- ✨4.解决死锁的基本方法
- ✨5.预防死锁
- 📣四、操作系统中文件系统分为哪三个模式?
操作系统重点简答题
📣一、操作系统的基本功能?
操作系统的五大功能 | |
处理器管理 | 进程同步、进程控制、进程调度 |
存储器管理 | 内存分配、地址映射、内存保护和内存扩充 |
设备管理 | 缓冲区管理、设备分配、设备驱动和设备的无关性处理 |
文件管理 | 文件存储空间的管理、文件操作的一般管理、目录管理、文件的读写管理和存取控制 |
用户界面管理 | 操作系统的用户界面就是操作系统与用户的接口,暴恐控制接口和程序接口 |
📣二、进程与线程的区别?
✨1.定义
进程
- 进程既是可独立拥有资源的基本单位,又是一个可独立调度和分派的基本单位,实现了操作系统的并发。
线程
- 线程是作为调度和分派的基本单位,实现进程内部的并发,是操作系统可识别的最小执行和调度单位。
✨2.不同点
做个简单的比喻:进程=火车,线程=车厢
- 线程在进程下进行(单纯的车厢无法运行)
- 一个进程可以包含多个线程(一辆火车可以有多个车厢)
- 不同进程间数据很难共享(一辆火车上的乘客很难换到另外一辆火车,比如站点换乘)
- 同一进程下不同线程间的数据容易共享(A车厢换到B车厢很容易) 进程要比线程消耗更多的计算机资源(采用多列火车相比多个车厢更耗资源)
- 进程间不会相互影响,一个线程挂掉将导致真个进程挂掉(一列火车不会影响到另外一列火车,但是如果一列火车上中间的一节车厢着火了将影响到所有车厢)
- 进程可以扩展到多机,线程最多适合多核(不同火车可以开在多个轨道上,同一火车的车厢不能开在同步的轨道上)
- 进程使用的内存地址可以上锁,及一个线程使用某些共享内存是,其他线程必须等它结束,才能使用这块内存(比如火车上的洗手间)- 互斥锁
- 进程使用的内存地址可以限定使用量(比如火车上的餐厅,最多只允许多少人进入,如果满了需要在门口等,等有人出来了才能进去)- 信号量
✨3.相同点
- 进程和线程都有ID(寄存器组)、状态和优先权、信息块
- 进程和线程创建后都可更改自己的属性
- 进程和线程都可与父进程共享资源
- 进程和线程都不能直接访问其他无关进程或线程的资源
📣三、死锁及产生的原因?
✨1.定义
- 死锁是指两个或两个以上的进程在执行过程中,由于竞争资源而造成的一种阻塞的现象,一组死锁进程中的每一个进程,都在等待另一个进程释放资源,若无外力作用,它们都将无法推进下去。
✨2.死锁产生的原因
- 系统资源的竞争(系统中只有一台打印及,可供进程P1使用,假定P1已占用了打印机,若P2要继续要求打印机打印将阻塞)
- 进程间推进顺序非法(P1拥有A申请B,P2拥有B是申请A)
✨3.产生死锁的必要条件
- 互斥条件:进程要求对所分配的资源进行排他性控制,即在一段时间内某资源仅为一个进程所占用
- 请求和保持条件:当进程因请求资源而阻塞时,对以获得的资源保持不放
- 不可剥夺条件:进程已获得的资源在未使用完之前,不可剥夺,只能在使用完时由自己释放
- 循环等待条件:在发生死锁时,必然存在一个进程-资源的环形链
✨4.解决死锁的基本方法
- 预防死锁:破环产生死锁的四个必要条件之一
- 避免死锁:防止系统进入不安全状态
- 检测死锁:检测出死锁的发生
- 解除死锁:采取适当的措施,把进程从死锁中拯救出来
✨5.预防死锁
- 采用SPOOLing技术,使得独占设备改为共享设备(破坏互斥条件)
- 资源一次性分配:一次性分配所有资源,这样就不会再有请求了(破坏请求和保持条件)
- 只要有一个资源得不到分配,也不给这个进程分配其他资源(破环请求和保持条件)
- 可剥夺资源:即当某进程获得了部分资源,但得不到其它在资源,则释放已占有的资源(破坏不可剥夺条件)
- 资源有序分配法:系统给每类资源赋予一个编号,每一个进程按编号递增的顺序请求资源,释放则相反(破环循环等待条件)
📣四、操作系统中文件系统分为哪三个模式?
用一个例子来辅助记忆文件系统的层次结构:
假设某用户请求删除文件“D:/工作目录/学生信息.xlsx”的最后100条记录
- 第一层:文件系统接口
- 用户调用接口:处理用户发出的系统调用请求
(用户需要通过操作系统提供的接口发出上述请求)
- 第二层:对象操纵和管理的软件
- 文件目录系统:根据用户给出的文件路径找到相应的FCB或索引结点
(由于用户提供的是文件的存放路径,因此需要操作系统一层一层地查找目录,找到对应的目录项)
- 存取控制模块:完成文件保护相关功能
(不同的用户对文件有不同的操作权限,因此为了保证安全,需要检查用户是否有访问权限)
- 逻辑文件系统与文件信息缓冲区:将文件记录号转换未对应的逻辑地址
(验证了用户的访问权限之后,需要把用户提供的“记录号”转变为对应的逻辑地址)
- 第三层:对象及其属性
- 物理文件系统:把上一层提供的文件逻辑地址转换为实际的物理地址
(知道了目标记录对应的逻辑地址后,还需要转换成实际的物理地址)
- 设备管理模块:负责和硬件直接相关的一些管理工作
(要删除这条记录,必定要对磁盘设备发出请求)
- 辅助分配模块:负责分配和回收存储空间
(删除这些记录后,会有一些盘块空闲,因此要将这些空闲盘块回收)
这篇关于操作系统重点简答题的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!