2020-12 操作系统 根据提纲

文章目录


虽然我知道没人看,但是我还是说一下,都是我乱写的。

第一章 引论

1.1 多道程序设计

在内存中存放多道程序,让这些程序可以并发执行

多道程序设计之后,程序执行就失去了封闭性和顺序性

1.2 并发/并行执行的含义

  • 并发:交替执行

    image-20201207124331937

  • 并行:一起执行

1.3 OS 主要功能

  • 用户接口以及作业管理
  • 处理器管理
  • 存储器管理
  • 文件管理
  • 设备管理

1.4 三个操作系统的特点

image-20201208201648975

批处理的主要缺点是缺乏交互性

第 2 章 操作系统接口

2.1 OS 内核

image-20201207124917577

image-20201207125041008

2.2 用户接口类型

  • 命令接口
    • 联机命令接口:又称为交互式命令接口,主要用在分时、实时系统上。用户通过键盘输入命令,向系统提出各种服务请求。系统通过命令解释器,解释并执行命令
    • 脱机命令接口:又称为批作业命令接口,适用于批作业处理系统。由一组作业控制命令组成,脱机用户并不能直接干预作业的运行。
  • 编程(程序)接口:由一组系统调用组成,用户通过在程序中使用这些系统调用来要求操作系统提供服务。(在 C 语言环境中,系统调用就是一个函数)

2.3 系统调用含义

2.3.1 含义

公共子程序。用户可以在程序中调用一些系统提供的子功能

凡是有用到系统资源的操作都需要通过系统调用,如 I/O 操作这样

2.3.2 分类

  1. 设备管理
  2. 文件管理
  3. 进程控制
  4. 进程通信
  5. 内存管理

2.3.3 库函数和系统调用的区别

系统调用是操作系统的一部分,运行在核心态

库函数应用程序的一部分,运行在用户态

image-20201208203445599

第三章 进程管理

3.1 并发执行的工作方式及特征

3.2 进程定义、进程状态及转换

3.2.1 进程的引入

控制程序并发执行,更好的实现操作系统的共享性和并发性

PCB 是进程存在的唯一标志

3.2.2 进程的特征

  1. 动态性:进程是动态的产生和消亡的。是进程最基本的特征
  2. 并发性:引入进程的目的就是为了能实现操作系统的并发性。进程的并发性允许多个进程实体同时存在于内存中,能够在一段时间内同时运行。是进程的重要特征
  3. 独立性:能独立运行
  4. 异步性:每个进程都独立运行,按各自的速度推进,会导致结果的不可再现性。所以要进行同步操作
  5. 结构性:程序段 + 数据段 + PCB

3.3.3 进程状态

  1. 运行态:单处理机模式下,每个时刻最多只能有一个进程处于运行态

  2. 就绪态:这个进程已经得到了运行的所需要的一切资源。一旦获得处理机就可以马上进入运行态开始运行。

    处在这个状态的进程可能有很多个,它们排成一个队列,我们称为就绪队列。

  3. 阻塞态:这个进程在等待一件事件做完,而在这件事情做完之前。这个进程都处于等待状态。这个件事可以是等待输入/输出结束,也可以是等待一个资源从不可用变为可用。

  4. 创建态:进程正在被创建,还没到就绪态。

  5. 结束态:进程要关闭退出时,要先设置为结束态,然后一步步由操作系统收回资源。

3.3.4 进程状态转换

不能从阻塞态直接到运行态。当某一进程由于一些原因变为阻塞态时,当事件完成或操作系统提供服务后,先变为就绪态,加入就绪队列。从运行到阻塞是主动的,但是从阻塞到就绪是被动的

image-20201208212040427

3.3 信号量机制及实现互斥和同步的方法,生产者/消费者问题并发程序设计

3.3.1 信号量

信号量分互斥量资源量

互斥量一般设置为 1 ,表示临界区只允许一个进程进入。所以当互斥量为 0 时,表示已经有一个进程进入了临界区,临界区外没有进程。当从 0 变为负数时候,负几就代表有几个进程。(就是绝对值的意思😂) 资源量同理

3.4 进程通信的实现方式

  1. 共享内存:有一个进程间的共享空间。对其进行读写时候要利用同步互斥操作( pv 这种)
  2. 消息传递:有直接通信和间接通信两种。邮箱机制。
  3. 管道通信:

3.5 线程的引入、类型、与进程的关系

3.5.1 线程的引入

减少程序在并发执行中付出的时空开销,提高系统的并发性能,提高资源利用率和吞吐量。

最直接的理解:线程是一个轻量化的进程

线程没有自己的进程空间,它和进程共享进程空间。

3.5.2 与进程的关系

  1. 调度

    线程是 CPU 调度的最小单位,进程是拥有资源的最小单位。在同一个进程中各个线程的切换并不会引起进程的切换,但是在不同进程中的线程切换会引起进程的切换。

  2. 资源

    拥有资源的都是进程,线程是不拥有资源的。

第 4 章 进程调度与死锁

4.1 批处理系统中作业的四个状态(批处理系统作业的四个阶段)

4.2 周转时间、平均周转时间的定义

  • 周转时间:作业完成事件 - 作业提交时间
  • 平均周转时间:周转时间求和 / 总的作业数
  • 带权周转时间:周转时间 / 实际运行的时间

4.3 作业调度基本算法、周转时间、平均周转时间的计算(例 4-1,4-2)

4.3.1 先来先服务 FCFS

image-20201209014849946

  • 属于非抢占式算法
  • 算法简单,对长作业有利,对短作业不利。
  • 有利于 CPU 繁忙型(其更接近长作业),不利于 I/O 繁忙型

4.3.2 短作业优先 SJF

image-20201209014947860

  • 抢占式算法,对长作业不利,导致长作业长期不能被调度(饥饿现象)
  • 完全没有考虑到作业的紧迫程度
  • 平均等待时间,平均周转时间最短

4.3.3 高响应比优先

响应比:作业越短,等待时间越长越好

image-20201209015419579

对短作业的优势不多说。对长作业来说,等的越久响应比越大,可以避免出现饥饿状态。

4.4 进程调度两种方式

  1. 非抢占式:一旦把 CPU 分配给某个进程,那就要把这个进程执行完才会轮到下一个。
  2. 抢占式:优先级高的进程可以打断当前的进程

4.5 进程调度基本算法[FCFS、RR(例 4-3),优先级]基本思想

4.5.1 时间片轮转 RR

用于分时处理系统。是绝对可抢占的。

定义一个时间片长度。在该时间片内,系统从就绪队列中拿出一个进程执行,分给它一个时间片,当一个时间片结束时,不管进程做没做完,都要去执行下一个进程。但是如果时间片长度很大,所有进程都能够在一个时间片内执行完时,这个算法就和 FCFS 一样了。但是如果时间片给的很小,就要频繁的切换进程。

4.5.2 优先级

一般来说,I/O 型的优先级要大于一个 CPU 计算型的

4.6 进程死锁产生原因、死锁的解决方法

4.6.1 产生原因

  1. 系统资源竞争
  2. 远程推进顺序非法

4.7 四个必要条件与死锁预防(静态分配、按序分配)

4.7.1 四个必要条件

  1. 互斥
  2. 不剥夺
  3. 请求保持
  4. 循环等待

4.8 安全状态的判断、银行家算法应用(例 4-7)

image-20201210004126852

image-20201210004200133

image-20201210004212308

4.9 死锁判断例子(例 4-9)

image-20201210004110897

第五章 存储器管理

5.1 存储管理的主要功能,重定位及其方式(静态重定位和动态重定位)

5.1.1 重定位

虚拟地址转为物理地址的过程

  • 静态重定位:虚拟地址一次性全换为物理地址
  • 动态重定位:在运行时再进行地址转换

5.2 固定分区基本思想和分区说明表的数据结构,可变分区管理的分配策略、回收处理

5.3 分页存储管理中页数计算、虚拟地址寄存器的结构,块长

5.4 静态分页基本思想及例 5-3

5.5 虚拟存储器、程序局部性原理

5.5.1 局部性原理

  • 时间局部性:就是说程序中的某条指令执行一次之后,不久之后可能再次执行
  • 空间局部性:程序访问了某个存储单元,一会可能再访问一次。

5.5.2 虚拟存储器

就是内外存设计了。虚拟的外存。

各种分页式、段页式都是虚拟存储器的实现。

5.6 请求分页:扩充页表中 P、A、M 位的作用,重定位过程缺页中断、页面调度的关系

  • P :状态位
  • A :一段时间访问该页的次数
  • M:是否又被修改过
  • 缺页中断:就是因为这种机制,一个进程要访问的页可能不在内存中。这时候就需要把内存设置为阻塞态,然后从外存中找要的那页,找到了也不能直接就往内存里写。那多不礼貌,要看看内存中还有没有地给你这页放,就是有没有空闲的内存块。有的话就整进来,然后这个进程变为就绪态。内存中地不够咋办呢?选个倒霉蛋(某页),直接丢掉,当然不能乱丢,如果这个倒霉蛋在内存中被修改过,那就得丢回外存了。(如果没被修改过,应该就直接丢了,这里我也没理解明白)

5.7 FIFO、LRU 置换算法的思想及淘汰页面的计算及命中率(例图 5-26,图 5-27)

5.7.1 FIFO 算法

老规矩先来一套最简单的先进先出算法。

简单来说就是,最先进的最先滚,队列算法。

5.7.2 LRU 算法

也很简单,就是把最久没有使用的算法换出去。这个是基于堆栈的,每次有一个被访问了,就从丢到栈尾去。栈中不可以重复,每次就把栈顶丢掉就可以了。

5.8 二次机会置换算法的思想及淘汰页面的计算及命中率(例图 5-29)

5.9 抖动现象、BELADY 现象

5.9.1 BELADY 现象

正常来说,给你的物理块越多,你同时在内存中放的页就越多,和外存的置换次数就少。换的次数少了,是不是故障率就少了。对吧。但是 belady 发现,FIFO 算法,就是先进先滚,比较特别。你给他越多的物理块,反而故障数越多。(就是缺页次数变多)差不多知道个意思就行,具体的可以去搜搜看。

5.9.2 抖动现象

这个现象就是最糟糕的现象。刚刚被换进内存的页,又被换出来。或者刚换出来,又要进去。这个时候 CPU 大部分时间都拿来处理交换了,系统效率就低了。一般都是进程要访问的页数大于系统的物理块数时候会出现。

5.10 两种碎片的主要区别

5.11 分段和分页主要区别

5.12 段页式存储管理中进程、段表和页表的关系

第六章 文件管理

6.1 文件系统的主要功能

  1. 目录管理
  2. 存储空间管理
  3. 共享与安全性
  4. 接口管理:要设计让用户访问修改文件的接口
  5. 内容组织:包括逻辑结构以及物理结构。逻辑结构是对用户使用文件系统而言,物理结构是对系统管理文件而言。

6.2 文件逻辑结构的分类(流式文件和记录式文件)

6.2.1 流式文件

简单的将数据按顺序组织保存,是字节为单位

6.2.2 记录式文件

  1. 顺序文件
  2. 索引文件
  3. 索引顺序文件
  4. 散列文件

放一下书上的解释

image-20201210230622496

image-20201210230643395

6.3 三种文件物理结构及其主要特点

6.4 二级目录的名称及结构关系图

image-20201210231205771

就是有个主目录,不放别的,就放不同的用户。

然后每个用户对应自己的单级目录这个

单级目录就是一个文件对应一个 FCB

6.5 二级目录访问过程

先找用户名,再去对应的用户名目录下找文件

6.6 树状目录结构、根目录、路径含义

image-20201210231521052

想象一下访问我的电脑。每次点进一个文件夹,就是进去一个非叶节点

6.7 文件保护、保密的含义

6.8 基于主体权限的存取控制方法

存取控制矩阵

行:文件名

列:用户名

对应的格:该用户对该文件的访问权限

image-20201206192149615

第 7 章 设备管理

1 分类(按数据组织方式、固有属性的分类原则)

2 设备独立性含义

3 I/O 控制方式

4 I/O 缓冲的目的

5 磁盘驱动调度组成

6 移臂调度算法例子(P269-272,SSTF、SCAN、电梯)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值