定义

周转时间=等待时间+处理时间

响应时间=周转时间/处理时间=1+等待时间/处理时间

进程调度

批处理系统

先来先服务

最短作业优先

最短剩余时间优先

最高响应比优先

交互式系统

轮转调度



最高优先级调度


多级反馈队列调度


最短进程优先

保证调度

彩票调度

公平分享调度

进程互斥

软件实现

屏蔽中断

锁变量

严格轮换(单标志法)

由于需要严格轮换,所以无法满足当临界区空闲且有进程想进入时,能够及时进入临界区。

Peterson算法

interested[2]、turn


Dekker算法

硬件实现

中断屏蔽(开关中断指令)

TSL指令(TestAndSetLock指令)

把内存地址中的信息拷贝到寄存器中,并在地址中存储一个非零的值,指令结束之前,该内存地址不允许被访问

XCHG指令

交换寄存器和内存地址中的值,指令结束之前,该内存地址不允许被访问

LDREX、STREX指令

信号量

信号量只能初始化、P操作、V操作,使用原语操作,不可中断。

P、V操作

P操作:占用资源

V操作:释放资源

信号量机制实现进程互斥

信号量机制实现进程同步

使得两个进程能够按照一定的顺序执行

信号量机制实现前驱关系

进程同步的扩展

生成者-消费者问题

!!!!!实现互斥的P操作一定要在实现同步的P操作之后!!!!!

多生产者-多消费者问题

!!!!!如果缓冲区大于1,必须设置一个互斥信号量mutex来保证互斥访问缓冲区!!!!!

吸烟者问题

读者-写者问题

哲学家进餐问题

信号量vs管程

死锁

产生条件:互斥使用、 占有且等待、不可抢占、循环等待

发生死锁,一定有循环等待;但有循环等待,不一定发生死锁

死锁建模

二元组G=(V,E)

处理死锁的策略

忽略

假装不存在死锁

预防死锁

破坏产生死锁的四个条件

破坏互斥使用:把独占资源变为共享资源,SPOOLing技术。但很多情况下,并不能这样。不实用。

破坏不可抢占:当一个进程申请的资源被其他进程占用时,可以通过操作系统抢占这一资源。不实用。

破坏占有且等待:采用静态分配方法,一次性申请全部需要的资源。不实用。

破坏循环等待:采用顺序资源分配法,给资源编号,每次申请只能申请更大的资源。不实用。

避免死锁

银行家算法寻找一条资源分配顺序的路线

E表示全部资源量,P表示已分配资源量,A表示剩余资源量

检测与恢复

**一、**死锁检测 可利用死锁模型检测、或矩阵检测 很想避免死锁中的银行家算法

**二、**解除死锁 资源剥夺法、撤销进程法、进程回退法(进程优先级、已执行时间、剩余时间、已使用资源量、交互式or批处理式)

内存管理

无存储抽象

①程序中的地址就是真实的内存地址

②切换程序(进程)的时候整个程序(进程)在内存—硬盘之间切换。

③一段时间内内存中只有一个程序

保护机制:把内存划分为若干区域,每个区域设置访问权限,进程拥有自己的访问权限,只能访问权限相对应的内存。

地址空间

进程看到的是虚拟的地址,进程的地址空间相互独立且足够大,不是最终的物理地址,需要经过一个虚拟地址到物理地址的转换。

动态重定位

基址寄存器和界限寄存器

缺点:访问内存都需要进行加法和比较运算;内存空间可能是瓶颈。

交换技术

空闲内存管理(连续)

固定分区分配


优点:最简单的存储分配

缺点:利用率低,会产生内碎片

动态分配—位图


动态分配—链表

首次适配、下次适配、最佳适配、最差适配、快速适配

伙伴系统

slab机制

虚拟内存(非连续)

覆盖

缺点:程序员必须自行分割程序:费时且容易出错

分页式存储管理

基本概念

页表

页表位于内存中

硬件支持—MMU

加速分页过程TLB

多级页表


倒排页表

页面置换算法

最佳算法、先进先出、第二次机会、时钟算法、最近未使用、最近最少使用、最不经常使用、老化算法、工作集、工作集时钟

时钟算法

改进型时钟算法

最近最少使用(LRU)

最不常用算法与老化算法

工作集算法




工作集时钟页面置换算法



分段存储管理方式

段表

分页、分段对比

段页式管理方式

分页、分段的优缺点

基本思路

段表、页表

文件管理

文件有哪些属性?

文件名、标识符、类型、位置、大小、创建时间、上次修改时间、所有者、保护信息(权限)

文件结构

文件存放

顺序文件

顺序文件的缺点是增加或删除一个记录比较困难

索引文件

索引顺序文件


多级索引顺序文件

文件目录

单级目录结构

两级目录结构

层次目录结构

无环图目录结构

索引结点

文件的物理结构

连续分配

优点:读写速度最快

缺点:不灵活,利用率低

链接分配

隐式链接

显式链接

文件分配表FAT

索引分配与i结点

文件存储空间管理—空闲块管理

空闲表法

空闲链表法

位示图法

文件基本操作

创建文件

删除文件

打开文件

关闭文件

读文件

写文件

文件共享

系统中只有**“一份”**文件数据,某个用户修改了文件数据,其他用户也可以看到文件的变化,注意与复制的区分

基于索引结点的共享方式(硬链接)

基于符号链的共享方式(软连接) 快捷方式

对比

硬链接无需额外的开销,只需要在i结点中添加计数器,计数有多少个链接,而符号链接即软链接需要额外的开销来存储共享文件的路径名。

软链接只要简单地提供一个机器的网络地址以及文件在该机器上的驻留的路径,就可以链接全球任何地方的机器上的文件,而硬链接不能这样。

文件保护

口令保护

加密保护

例如异或加密等,系统中保存的是解密后的密文

优点:保密性强,不需要在系统中存储“密码”

缺点:加密/解密需要花费一定时间

访问控制

磁盘调度算法

一次磁盘读/写操作的时间:寻道时间延迟时间(转动时间)传输时间

先来先服务

根据进程请求访问磁盘的先后顺序进行调度

最短寻道时间优先

扫描算法/电梯算法

LOOK调度算法

循环扫描算法

C-LOOK调度算法

I/O管理

I/O控制器

I/O控制方式

程序直接控制

读操作(数据流向):IO–>CPU–>内存

写操作(数据流向):内存–>CPU–>IO

优点:实现简单

缺点:只能串行工作,CPU长期处于“忙等”状态

中断驱动方式

优点:与“程序直接控制方式”相比,在“中断驱动方式”中,I/O控制器会通过中断信号主动报告I/O已完成,CPU不再需要不停地轮询。

缺点:每个字在I/O设备与内存之间的传输,都需要经过CPU。而频繁的中断处理会消耗比较多的CPU时间

DMA方式(直接存储器存取)

CPU干预的频率进一步降低

通道控制方式

层次结构

设备独立性软件:①向上层提供统一的调用接口;②设备的保护;③差错处理;④设备的分配与回收;

​ ⑤数据缓冲区管理;⑥建立逻辑到物理的设备名的映射关系;

中断处理程序

核心子系统

假脱机技术SPOOLing

设备的分配和回收

设备的固有属性:独占设备、共享设备、虚拟设备

安全分配方式:为进程分配一个设备后就将进程阻塞,本次I/O完成后才唤醒进程 缺点:只能串行工作

不安全分配方式:与安全分配方式相反 缺点:可能发生死锁

静态分配

进程运行前为其分配全部所需资源,运行结束后归还资源

动态分配

进行运行过程中动态申请设备资源

设备分配表DCT

控制器控制表COCT

[现代操作系统] 考前突击相关推荐

  1. SCAU操作系统考前抱佛腿笔记(自家用)

    本文根据ppt以及书本来编写,仅自己做笔记复习操作系统用,有错误请帮忙纠正! OS复习提纲 文章目录 OS复习提纲 第1章:计算机系统概述 1.指令执行的基本指令周期 2.中断分类与中断处理过程 3. ...

  2. 复试常考问题考前突击

    目录 计算机网络 1.OSI参考模型 2.TCP/IP模型 3.IP协议 4.TCP和UDP(这两个协议的比较,TCP三次握手) 5.tcp三次握手的过程 6.TCP四次挥手(为什么比握手多一次呢) ...

  3. [计算机网络] 【谢希仁】考前突击复习二、三、四章

    文章目录 中继系统 RIP应用层 OSPF网络层 BGP应用层 物理层 时延与利用率的关系 码元速率与信息速率 物理层:奈氏准则与香农定理 对比 物理层:编码与调制 编码 调制 物理层: 信道复用技术 ...

  4. 吉林大学算法设计与分析考前突击

    简答题(25分) 以比较为基础的检索算法的时间下界是O(logn); 以比较为基础的分类算法的时间下界是O(nlogn); 简要说明理由: NP完全问题一定是NP难问题,但NP难问题不一定是NP完全问 ...

  5. 【蓝桥杯考前突击】第十一届蓝桥杯省赛C/C++大学B组 试题A 跑步训练

    小明要做一个跑步训练.初始时,小明充满体力,体力值计为10000.如果小明跑步,每分钟损耗 600 的体力.如果小明休息,每分钟增加300 的体力.体力的损耗和增加都是 均匀变化的.小明打算跑一分钟. ...

  6. 数电/数字电子技术期末考前突击复习(小白稳过,看这一篇就够了)

    博主:命运之光 专栏:期末考试必过and不挂科and争高分

  7. 考前突击(仅供参考)

    angularJs的指令 angularJs路由是靠什么开展的 indexedbd生命周期 弹出框的使用方法 模态对话框两种创建方式 ionic路由各种指令服务创建了什么

  8. 最短时间搞定算法:字节跳动Android岗算法题考前突击宝典

    前言 一个人,一支笔,一个晚上,一个奇迹.这是学生党的常规操作. 大学里也同样有很多奇迹的创造者:每次一到期末考试的前几个晚上,各个变身"最强大脑",上知天文,下晓地理,还精通人文 ...

  9. 【蓝桥杯考前突击】第十一届蓝桥杯校赛模拟C/C++ 种草

    问题描述小明有一块空地,他将这块空地划分为 n 行 m 列的小块,每行和每列的长度都为 1.小明选了其中的一些小块空地,种上了草,其他小块仍然保持是空地.这些草长得很快,每个月,草都会向外长出一些,如 ...

最新文章

  1. 简述RHEL7新特性(一)
  2. 【C语言】简单C编程题-同位相同的N项之和/标准输入花括号成对判断/行号行输出...
  3. iphone相关总结
  4. arduino串口绘图_一起打造一款光驱迷你绘图仪
  5. idea怎么提交到dev分支_IDEA设置git提交分支
  6. mysql date time year_YEAR、DATE、TIME、DATETIME和TIMESTAMP详细介绍[MySQL数据类型]
  7. 凭运气接来的项目,怎样凭本事搞砸?
  8. 实际参数列表和形式参数列表长度不同_Dynamo参数化轴网,这些对你很有帮助
  9. android 编译,gradle
  10. 安卓飞机大战(六) 动态Gif图的添加
  11. Kubernetes CKS【21】---Runtime Security -主机与容器行为安全分析(strace、/proc、env、falco)
  12. C++ Primer 第5版--练习8.4
  13. speex 编码简介
  14. 百度地图点聚合仿链家定位点多级聚合,且滑动、刷新加载定位点
  15. 腾讯云TVP——隐于市,惠于民
  16. 2023长江大学计算机考研信息汇总
  17. js进行txt文件下载方式或oss文件访问下载跨域解决
  18. 苹果(APPLE)开发人员账号说明及注冊流程(99美元公司版/个人版及299美元企业版)...
  19. 记深信服2018秋季校园招聘--技术服务工程师
  20. 2.6java基础 数组

热门文章

  1. 08 域控 架构主机 转移_论无服务器架构的特征
  2. matlab中句点,matlab入门学习(一)
  3. 西藏最大云计算数据中心明年投入试运营
  4. android水平滚动条,Android使用HorizontalScrollView实现水平滚动
  5. c语言程序开发中连接是,C语言中等待socket连接和对socket定位的方法
  6. 成功解决ModuleNotFoundError: No module named ‘sklearn.cross_validation‘
  7. AI:2020年6月22日北京智源大会演讲分享之11:30-12:20Jorge教授《Zero-Order Optimization Methods with Applications to RL》
  8. ML之xgboost:利用xgboost算法(sklearn+3Split+调参曲线+EarlyStop)训练mushroom蘑菇数据集(22+1,6513+1611)来预测蘑菇是否毒性(二分类预测)
  9. RL之PG:基于TF利用策略梯度算法玩Cartpole游戏实现智能得高分
  10. 从零开始Vue项目实战(二)-搭建环境