操作系统面试总结

操作系统
1.操作系统
2.操作系统的功能
3.微内核
4.系统调用
5.原子操作
6.进程和作业
7.进程和程序
8.进程和线程
9.进程状态
10.进程调度算法
11.进程通信
12.进程同步和互斥
13.进程同步的四个准则
14.管程
15.死锁
16.饥饿
17.饥饿和死锁的区别
18.产生死锁的原因
19.死锁的四个必要条件
20.预防死锁
21.避免死锁
22.死锁的检测和解除
23.程序链接与装入
24.存储器管理的功能
25.碎片
26.内存连续分区分配
27.动态分区分配算法
28.内存非连续分区分配
29.分段和分页的区别
30.页面置换算法
31.页面分配策略
32.虚拟存储器
33.覆盖与交换技术
34.存储保护
35.文件目录
36.文件逻辑结构
37.文件物理结构
38.文件存储管理
39.Spooling
40.RAID磁盘阵列
41.磁盘调度算法

1.操作系统

操作系统是运行裸机上的系统软件,用于管理计算机硬件和软件资源
操作系统的特征是共享、并发、虚拟、异步
单道批处理系统 内存中只有单道程序运行,资源利用率低
多道批处理系统 多道程序并发执行,系统的吞吐量变大
分时操作系统 采用分时技术,即时间片轮转技术,能够提供人机交互,不能优先处理紧急任务
实时操作系统 在某个时间段的限制内及时完成紧急任务

2.操作系统的功能

处理机管理
存储器管理
文件管理
设备管理

3.微内核与宏内核

微内核
只把进程管理、进程通信、中断处理等核心功能放入内核,使得内核足够的小
采用机制与策略分离,提高了系统的可靠性和可拓展性

宏内核
将所有的系统功能都集成在内核中,内核各功能可以互相直接调用
某个功能模块的出错将导致整个系统崩溃

4.系统调用

系统调用提供了用户程序与操作系统之间的接口
用户程序传入参数
操作系统陷入内核态
执行系统调用
执行完成后,返回用户态

5.原子操作

指不会被线程调度机制打断的操作,整个过程要一次性执行完成

6.进程和作业

作业是用户向计算机提交任务的任务实体,一个作业可以由至少一个进程组成

7.进程和程序

进程是动态的,程序是静态的。进程是程序的执行,程序是有序代码的集合
进程包括程序段、数据段和进程控制块PCB
PCB包括进程标识符、进程状态、优先级、程序、数据段的指针、处理机相关信息

8.进程和线程

线程是CPU独立调度的单位,进程是资源分配的单位
进程有自己的独立地址空间,线程共享进程的地址空间
同一进程,线程切换不会引起进程切换,不同进程进行线程切换,会引起进程切换
引入线程的操作系统,不仅进程间可以并发执行,同一进程的线程也可以并发执行,提高了系统的并发性和吞吐量
切换线程的开销比切换进程的开销更小

9.进程状态

创建态
就绪态
运行态
阻塞态
终止态

就绪态可以到运行态,被CPU调度
运行态可以到就绪态,被抢占、时间片到
运行态到阻塞态,申请的资源不足

10.进程调度算法

先来先服务
短作业优先
时间片轮转
高响应比优先 (等待时间+运行时间)/运行时间
优先级
多级反馈队列

11.进程通信

低级通信方式 PV操作
高级通信方式 共享存储、消息传递、管道通信

12.进程同步和互斥

信号量可以分为整形信号量、记录型信号量(包括资源个数、等待队列)
信号量的值可以通过PV操作改变
信号量可以实现进程的同步和互斥

临界资源 一次仅允许一个进程使用的资源
临界区 进程访问共享资源的那段程序
同步 多个进程因为合作而使得进程的执行有一定的先后顺序
互斥 多个进程在同一时刻只有一个进程能进入临界区

13.进程同步的四个准则

空闲让进 临界区空闲,进程可以进入
忙则等待 临界区已有进程访问,其他进程等待
有限等待 应保证进程等待进入临界区的时间是有限的
让权等待 当进程不能进入临界区时,应释放处理机

14.管程

由一组数据和用来访问数据的过程组成
为了管理大量分散同步操作的进程同步互斥工具
每次仅允许一个进程在管程内执行某个过程

15.死锁

死锁是指两个或两个以上的进程执行过程中,因争夺资源而造成的一种互相等待的现象,从而无法继续推进下去。

16.饥饿

进程长时间得不到处理机调度的现象叫做饥饿

17.饥饿和死锁的区别

饥饿进程可以只有一个,死锁必须有两个
饥饿进程可以是一个就绪进程,而死锁进程必定是阻塞进程

18.产生死锁的原因

系统资源不足
进程推进顺序不当

19.死锁的四个必要条件

互斥条件
不剥夺条件
请求和保持条件
循环等待条件

20.预防死锁

破坏死锁产生的四个必要条件

21.避免死锁

避免系统进入不安全状态,使用安全性算法判断是否存在安全序列,银行家算法=试探分配资源+安全性算法

22.死锁的检测和解除

检测死锁:
资源分配图

解除死锁:
资源剥夺法
撤销进程法
进程回退法

23.程序链接与装入

程序的链接方式:
静态链接 在程序运行之前,先把各个目标模块及所需库链接为一个完整的可执行程序
装入时动态链接 将应用程序编译后所得到的一组目标模块在装入内存时采用边装入边链接
运行时动态链接 程序运行过程中需要一些模块时,才对这些模块进行链接。

程序的装入方式:
绝对装入 在编译时就产生物理地址的目标代码
可重定位装入 在程序装入内存时将逻辑地址转为物理地址
动态运行装入 在程序运行时将逻辑地址转为物理地址,需要重定位寄存器

程序到进程的过程:
编译 由编译程序将用户源代码编译成若干目标模块
链接 由链接程序将编译后形成的一组目标模块及所需的库函数链接程装入模块
装入 由装入程序将装入模块装入内存中运行。

24.存储器管理的功能

内存分配和回收
地址变换
扩充内存
存储保护

25.碎片

内部碎片 已经被分配出去却不能被利用的内存空间
外部碎片 未被分配出去且因太小而无法利用的内存空间
拼接技术(紧凑技术) 将分散的外部碎片连成一个大的空闲区,解决碎片问题

26.内存连续分区分配

单一连续分配 只支持单道程序,无外部碎片,有内部碎片
固定分区分配 支持多道程序,设置分区表,每个分区装入一道程序,无外部碎片,有内部碎片
动态分区分配 支持多道程序,根据进程大小动态建立分区,无内部碎片,有外部碎片

27.动态分区分配算法

首次适应
邻近首次适应
最佳适应
最差适应

28.内存非连续分区分配

非连续分区分配可以在内存中离散地分配程序,更好的内存利用和管理
分页
分段
段页式

29.分段和分页的区别

分页以页为基本单位进行内存管理,每个页的大小通常是固定的,每个页都映射到物理内存中的一个物理页框
而分段以段为基本单位进行内存管理,每个段的大小可以不同,每个段映射到内存中的一段连续的物理内存。
分页的地址空间是一维的,页表项由页号和块号组成,分段的地址空间是二维的,段表项由由段号、段首址、段长组成
分页存在内部碎片问题,分段存在外部碎片问题。

30.页面置换算法

最佳置换算法OPT 置换未来最远使用的页面
先进先出算法 置换最先进入内存的页面
最近未使用算法NRU
最近最少使用算法LRU 置换最近最少使用的页面。
CLOCK算法 扫描一遍,置换访问位为0的,若访问位为1改为0
改进的CLOCK算法 设置修改位和访问位,依次置换00,01,10,11的页面

31.页面分配策略

固定分配局部置换
可变分配局部置换
可变分配全局置换

固定分配:将一定数量的内存分配给每个进程,
可变分配:动态地分配物理内存
工作集:进程正在使用的页面集合

32.虚拟存储器

虚拟存储器是一种计算机内存扩充技术,它将磁盘空间作为内存的扩展,允许程序访问大于实际物理内存容量的地址空间。同时,它基于局部性原理,仅将要当前所需要的少数页面装入内存,将暂时未使用的页面保存在磁盘上,当程序运行时访问缺页,在利用请求调页功能将页面从磁盘中调入内存
若此时内存已满,则采用页面置换算法,将内存中暂不使用的页面调入到磁盘的对换区中
故从用户角度出发,该系统的内存容量似乎比实际内存容量大得多

33.覆盖与交换技术

覆盖 将程序运行时不要求同时装入内存的组成一组,成为覆盖段
交换技术 将外存分为对换区和文件区,内存紧张时,将某些进程换出到外存的对换区
覆盖技术需要开发人员给定覆盖结构,交换技术是在在不同进程情况下,覆盖技术在同一进程情况下

34.存储保护

设置上下限寄存器
设置重定位寄存器、界地址寄存器,分别代表最小物理地址,逻辑地址的最大值

35.文件目录

一个文件目录项就是一个FCB
FCB包括文件名、文件大小、文件打开数、文件读写指针、文件磁盘位置、文件访问权限

36.文件逻辑结构

流式文件
顺序文件
索引文件
索引顺序文件

37.文件物理结构

顺序分配 为文件分配一组连续的磁盘块
隐式链式分配,每个磁盘块都有指向下一个磁盘块的指针
显式链式分配,建立一张文件分配表FAT,根据FAT还有文件的起始块号,我们可以快速的查找到文件的数据
索引分配 为数据块建立索引表

38.文件空闲存储管理

空闲表法 记录每个连续空闲区起始块号和盘块数
空闲盘块链 以块为单位组成一条链
空闲盘区链 以盘区为单位组成一条链
位示图法 用二进制一位表示一个磁盘块的使用情况,0表示空闲,1表示已使用

39.Spooling

将独占设备虚拟化为共享设备,采用软件的方式模拟脱机技术,通过预输入、缓输出的方法,(在内存开辟输入、输出缓冲区在磁盘开辟输入输出井,)缓解了磁盘与CPU速度的矛盾

40.RAID磁盘阵列

是一种数据存储技术,将多个独立的物理磁盘组合成一个整体的逻辑盘,数据分散存储多个磁盘上,提高了数据存储性能和可靠性

41.磁盘调度算法

先来先服务 按照磁盘请求的顺序进行处理
最短寻道时间优先算法 选择距离当前磁头位置最近的请求进行处理
扫描算法 磁头按照一个方向移动,直到到达磁盘的边界,然后改变方向
循环扫描算法 和扫描算法类似,但是磁头到达磁盘的边界后直接返回起始位置

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值