![](https://img-blog.csdnimg.cn/20200712112936529.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
操作系统学习笔记
文章平均质量分 96
本专栏用于存放自己学习操作系统的笔记,参考视频:王道操作系统考研
来车车厘子.
用心写好每一篇博客
展开
-
18 操作系统第五章 设备管理 IO设备的基本概念和分类 IO控制器 IO控制方式 IO软件层次结构 IO核心子系统 假脱机技术 设备的分配与回收 缓冲区管理
文章目录1 IO设备的基本概念和分类1.1 什么是I/O设备1.2 I/O设备分类2 IO控制器2.1 I/O设备组成2.2 I/O控制器功能2.3 I/O控制器的组成2.4 内存映像l/O VS 寄存器独立编址2.5 IO控制器小结3 IO控制方式3.1 程序直接控制方式3.2 中断驱动方式3.3 DMA方式3.3.1 DMA控制器3.3.2 DMA方式3.4 通道控制方式3.5 IO控制方式小结4 IO软件层次结构4.1 用户层软件4.2 设备独立性软件4.3 设备驱动程序4.4 中断处理程原创 2020-06-27 15:14:40 · 2512 阅读 · 0 评论 -
17 操作系统第四章 磁盘管理 磁盘的结构 磁盘调度算法 减少磁盘延迟时间的方法
文章目录1 磁盘的结构1.1 磁盘、磁道、扇区1.2 磁盘如何读取数据1.4 盘面、柱面、磁盘的物理地址1.5 磁盘的分类1.6 磁盘的结构小结2 磁盘调度算法2.1 一次磁盘读/写操作需要的时间2.2 先来先服务算法(`FCFS`)2.3 最短寻找时间优先(`SSTF`)2.4 扫描算法(`SCAN`)2.5 `LOOK` 调度算法2.6 循环扫描算法(`C-SCAN`)2.7 `C-LOOK` 调度算法2.8 磁盘调度算法小结3 减少磁盘延迟时间的方法3.1 交替编号3.2 错位命名3.3 减少磁盘延迟原创 2020-06-20 20:00:56 · 2102 阅读 · 0 评论 -
16 操作系统第四章 文件管理 文件的基本操作 文件共享 文件保护 文件系统的层次结构
文章目录1 文件的基本操作1.1 创建文件1.2 删除文件1.3 打开文件1.4 关闭文件1.5 读文件1.6 写文件1.7 文件基本操作小结2 文件共享2.1 基于索引结点的共享方式(硬链接)2.2 基于符号链的共享方式(软链接)2.3 文件共享小结3 文件保护3.1 口令保护3.2 加密保护3.3 访问控制3.4 文件保护小结4 文件系统的层次结构1 文件的基本操作1.1 创建文件创建文件,(点击新建后,图形化交互进程在背后调用了“create系统调用”)进行Create系统调用时,需要提供原创 2020-06-20 16:13:51 · 406 阅读 · 0 评论 -
15 操作系统第四章 文件管理 文件的物理结构 文件存储空间管理
文章目录1 文件的物理结构 (文件分配方式)1.1 文件块、磁盘块1.2 文件分配方式——连续分配1.3 文件分配方式——链接分配1.3.1 链接分配——隐式链接1.3.2 链接分配——显式链接1.3.3 链接分配(总结)1.4 文件分配方式——索引分配1.4.1 链接方案1.4.2 多层索引1.4.3 混合索引1.4.4 索引分配(总结)1.5 文件分配总结1 文件的物理结构 (文件分配方式)1.1 文件块、磁盘块类似于内存分页,磁盘中的存储单元也会被分为一个个“块/磁盘块/物理块”。很多操原创 2020-06-19 19:33:35 · 2010 阅读 · 0 评论 -
14 操作系统第四章 文件管理 文件逻辑结构 文件目录结构
文章目录1 初识文件管理1.1文件属性1.2 文件内部的数据应该怎样组织起来?1.3 文件之间应该怎样组织起来?1.4 操作系统应该向上提供哪些功能?1.5 文件应如何存放在外存?1.6 文件系统总览2 文件逻辑结构3 文件目录结构1 初识文件管理文件——就是一组有意义的信息/数据集合文件系统核心问题:计算机中存放了各种各样的文件,一个文件有哪些属性? 文件内部的数据应该怎样组织起来? 文件之间又应该又应该怎么组织起来?从下往上看,OS应提供哪些功能,才能方便用户、应用程序使用文件?从上往下原创 2020-06-19 19:06:32 · 1880 阅读 · 0 评论 -
13 操作系统第三章 内存管理 虚拟内存 请求分页管理方式 页面置换算法 页面分配策略
文章目录1 虚拟内存1.1 传统存储管理方式的特征、缺点1.2 局部性原理1.3 虚拟内存主要特征1.4 如何实现虚拟内存技术1.5 虚拟内存的基本概念小结2 请求分页管理方式2.1 页表机制2.2 缺页中断机构2.3 地址变换机构2.4 请求分页管理方式小结3 页面置换算法3.1 最佳置换算法 OPT3.2 先进先出置换算法(FIFO)3.3 最近最久未使用置换算法(LRU)3.4 时钟置换算法(CLOCK)3.5 页面置换算法小结4 页面分配策略1.1 页面分配、置换策略1 虚拟内存在传统存储管理原创 2020-06-18 16:20:36 · 3866 阅读 · 0 评论 -
12 操作系统第三章 内存管理 非连续分配管理方式 基本分页存储管理 基本分段存储管理 段页式存储管理
1 基本分页存储管理连续分配:为用户进程分配的必须是一个连续的内存空间。非连续分配:为用户进程分配的可以是一些分散的内存空间。1.1 什么是分页存储将内存空间分为一个个大小相等的分区(比如:每个分区4KB),每个分区就是一个“页框”(页框=页帧=内存块=物理块=物理页面)。每个页框有一个编号,即“页框号”(页框号=页帧号=内存块号=物理块号=物理页号),页框号从 0 开始 。将进程的逻辑地址空间也分为与页框大小相等的一个个部分, 每个部分称为一个“页”或“页面” 。每个页面也有一个编号, 即“页原创 2020-06-16 17:48:05 · 2066 阅读 · 0 评论 -
11 操作系统第三章 内存管理 内存的基本知识 内存管理 内存空间扩充 连续分配管理方式
文章目录1 内存概念1.1 内存作用1.2 逻辑地址VS物理地址1.3 装入的三种方式1.4 链接的三种方式1.5 内存的基础知识小结2 内存管理2.1 内存管理的任务2.2 内存管理小结2.3 内存空间扩充2.3.1 内存空间扩充之覆盖技术2.3.2 内存空间扩充之交换技术2.3.3 覆盖与交换技术小结2.4 内存空间分配2.4.1 单一连续分配2.4.2 固定分区分配2.4.3 动态分区分配2.4.4 连续分配管理小结1 内存概念1.1 内存作用内存可存放数据。程序执行前需要先放到原创 2020-06-14 16:02:46 · 1896 阅读 · 0 评论 -
9 操作系统第二章 进程管理 管程
1 死锁1.1 死锁定义产生条件:每个人都占有一个资源,同时又在等待另一个人手里的资源。发生“死锁”在并发环境下,各进程因竞争资源而造成的一种互相等待对方手里的资源,导致各进程都阻塞,都无法向前推进的现象,这就是“死锁”。发生死锁后若无外力干涉,这些进程都将无法向前推进。1.2 死锁、饥饿、死循环的区别...原创 2020-06-12 17:31:11 · 391 阅读 · 0 评论 -
读者-写者问题
1 问题描述有读者和写者两组并发进程,共享一个文件,当两个或两个以上的读进程同时访问共享数据时不会产生副作用,但若某个写进程和其他进程(读进程或写进程)同时访问共享数据时则可能导致数据不一致的错误。因此要求:①允许多个读者可以同时对文件执行读操作;②只允许一个写者往文件中写信息;③任一写者在完成写操作之前不允许其他读者或写者工作;④写者执行写操作前,应让已有的读者和写者全部退出。2 问题分析1.关系分析。找出题目中描述的各个进程,分析它们之间的同步、互斥关系。2.整理思路。根据各原创 2020-06-12 17:19:32 · 726 阅读 · 0 评论 -
10 操作系统第二章 进程管理 死锁、死锁的处理策略 银行家算法
文章目录1 死锁1.1 死锁定义1.2 死锁、饥饿、死循环的区别1.3 死锁产生的必要条件1.4 什么时候会发生死锁1.5 死锁的处理策略1.6 死锁的概念小结2 死锁预防2.1 破坏互斥条件2.2 破坏不剥夺条件2.3 破坏请求和保持条件2.4 破坏循环等待条件2.5 预防死锁小结3 死锁避免3.1 安全序列3.2 银行家算法3.2.1 手动实现银行家算法3.2.2 代码实现银行家算法4 死锁的检测和解除4.1 死锁的检测1 死锁1.1 死锁定义产生条件:每个人都占有一个资源,同时又在等待另原创 2020-06-12 16:25:15 · 2828 阅读 · 1 评论 -
哲学家进餐问题
文章目录1 问题描述2 问题分析3 代码实现4 思想小结1 问题描述一张圆桌上坐着5名哲学家,每两个哲学家之间的桌上摆一根筷子,桌子的中间是一碗米饭。哲学家们倾注毕生的精力用于思考和进餐,哲学家在思考时,并不影响他人。只有当哲学家饥饿时, 才试图拿起左、右两根筷子(一根一根地拿起)。如果筷子已在他人手上,则需等待。饥饿的哲学家只有同时拿起两根筷子才可以开始进餐,当进餐完毕后,放下筷子继续思考。2 问题分析关系分析。系统中有5个哲学家进程,5位哲学家与左右邻居对其中间筷子的访问是互斥关系。整原创 2020-06-11 18:14:01 · 834 阅读 · 0 评论 -
吸烟者问题
1 问题描述假设一个系统有三个抽烟者进程和一个供应者进程。每个抽烟者不停地卷烟并抽掉它,但是要卷起并抽掉一支烟,抽烟者需要有三种材料:烟草、纸和胶水。三个抽烟者中,第一个拥有烟草、第二个拥有纸、第三个拥有胶水。供应者进程无限地提供三种材料,供应者每次将两种材料放桌子上,拥有剩下那种材料的抽烟者卷一根烟并抽掉它,并给供应者进程一个信号告诉完成了,供应者就会放另外两种材料再桌上,这个过程一直重复(让三个抽烟者轮流地抽烟)2 问题分析本质上这题也属于“生产者一消费者”问题,更详细的说应该是“可生产多种原创 2020-06-10 18:21:20 · 1639 阅读 · 0 评论 -
多生产者-多消费者问题
1 问题描述桌子上有一只盘子,每次只能向其中放入一个水果。爸爸专向盘子中放苹果,妈妈专向盘子中放橘子,儿子专等着吃盘子中的橘子,女儿专等着吃盘子中的苹果。只有盘子空时,爸爸或妈妈才可向盘子中放一个水果。仅当盘子中有自己需要的水果时,儿子或女儿可以从盘子中取出水果。2 问题分析关系分析。找出题目中描述的各个进程,分析它们之间的同步、互斥关系。多生产者-多消费者问题关系分析如下:互斥关系: 对缓冲区(盘子)的访问要互斥地进行同步关系(一前一后):父亲将苹果放入盘子后,女儿才能取苹果原创 2020-06-10 17:38:50 · 6117 阅读 · 0 评论 -
生产者-消费者问题
1 问题描述系统中有一组生产者进程和一组消费者进程,生产者进程每次生产一个产品放入缓冲区,消费者进程每次从缓冲区中取出一个产品并使用。(注:这里的“产品”理解为某种数据)2 问题分析生产者、消费者共享一个初始为空、大小为n的缓冲区。只有缓冲区没满时,生产者才能把产品放入缓冲区,否则必须等待。缓冲区没满→生产者生产 ---------同步关系只有缓冲区不空时,消费者才能从中取出产品,否则必须等待。 缓冲区没空→消费者消费 ---------同步关系缓冲区是临界资源,原创 2020-06-10 16:05:36 · 888 阅读 · 0 评论 -
8 操作系统第二章 进程管理 信号量 PV操作 用信号量机制实现 进程互斥、同 步、前驱关系
文章目录1 信号量机制1.1 整形信号量1.2 记录形信号量1.3 信号量机制小结2 用信号量机制实现进程互斥、同 步、前驱关系2.1 信号量机制实现进程互斥2.2 信号量机制实现进程同步2.3 信号量机制实现前驱关系2.4 信号量机制实现进程互斥、同 步、前驱关系小结1 信号量机制用户进程可以通过使用操作系统提供的一对原语来对信号量进行操作,从而很方便的实现了进程互斥、进程同步。信号量其实就是一个变量 ,可以用一个信号量来表示系统中某种资源的数量,比如:系统中只有一台打印机,就可以设置一个初值为原创 2020-06-09 18:20:53 · 3550 阅读 · 2 评论 -
7 操作系统第二章 进程管理 进程同步与互斥
1 进程同步与互斥1.1 进程同步主要是为了解决进程异步问题管理多个进程的运行,为了使多个进程能够有条不紊地运行。进程同步机制主要任务:对多个相关进程在执行次序上进行协调,使并发执行的诸进程之间能按一定规则(或时序)共享系统资源,并能很好地相互合作,从而使程序的执行具有可再现性。1.2 进程互斥进程互斥:当前一个进程访问某源时,另外一个要访问该临界资源的进程必须要等待。临界资源:一段时间内只允许一个进程访问的资源,比如物理设备(摄像头、打印机)和某些变量、数据、内存缓冲区都是临界资源原创 2020-06-09 16:12:00 · 646 阅读 · 0 评论 -
6 操作系统第二章 进程管理 处理机调度
文章目录1 处理机调度1.1 处理机调度概念1.2 处理机调度三大层次1.3 处理机三层调度的联系、对比1.4 处理机调度小结2 进程调度2.1 进程调度、进程切换时机2.2 进程调度方式2.3 进程的切换与过程2.4 进程切换与调度小结3 典型的调度算法3.1 先来先服务 FCFS3.2 短作业优先 SJF3.2 FCFS 和 SJF说明3.3 高响应比优先算法3.3 FCFS 、SJF和高响应比优先算法比较1 处理机调度1.1 处理机调度概念在多道程序系统中,进程的数量往往是多于处理机的个数的,原创 2020-06-07 19:56:36 · 836 阅读 · 0 评论 -
5 操作系统第二章 进程管理 线程介绍
线程与进程的比较:进程是资源分配单位,线程是CPU调度单位进程拥有一个完整的资源平台,而线程只独享必不可少的资源,如寄存器和栈线程同样具有就绪、阻塞和执行三种基本状态,同样具有状态之间的转换关系线程能减少并发执行的时间和空间开销线程创建时间比进程短线程终止时间比进程短同一进程内线程切换时间比进程短由于同一进程的各线程之间共享内存和文件资源,可直接进行不通过内核的通信...原创 2020-06-07 15:44:38 · 572 阅读 · 0 评论 -
4 操作系统第二章 进程管理 进程控制、通信
文章目录1 进程控制1.1 进程控制1.2 进程控制实现1.3 进程创建1.4 进程终止1.5 进程阻塞与唤醒1.6 进程切换1.7 进程控制小结2 进程通信2.1 共享通信2.2 管道通信2.3 消息传递2.4 进程通信小结1 进程控制1.1 进程控制进程控制的主要功能是对系统中的所有进程实施有效的管理,它具有创建新进程、撤销已有进程、实现 进程状态转换等功能。简言之:进程控制就是要实现进程状态转换1.2 进程控制实现通过原语实现进程控制NOTE:原语的执行具有“原子性”,必须一原创 2020-06-06 17:19:13 · 537 阅读 · 0 评论 -
3 操作系统第二章 进程管理 进程定义、特征、组织、状态与转换
文章目录1 进程的定义和特征2 进程的组织3 进程的状态与转换3.1 进程的状态3.2 进程状态转换1 进程的定义和特征引入进程的原因为了使程序能够并发执行,并且可以对并发执行的程序加以描述和控制进程定义进程是进程实体的运行过程,是系统进行资源分配和调度的一个独立单位进程控制块与进程实体进程控制块PCB:操作系统需要对各个并发运行的进程进行管理,但凡管理时所需要的信息,都会被放在PCB中,系统利用PCB来描述进程的基本情况和活动结构,进而控制和管理进程。PCB是进程原创 2020-06-06 16:16:15 · 621 阅读 · 0 评论 -
2 操作系统第一章 操作系统体系结构、中断和异常、系统调用
1.1 指令概念及其分类:指令就是CPU能识别并且执行的最基本的命令注意:一条高级语言的代码翻译过来可能会对应多条指令CPU如何判断当前是否可以执行特权指令?答:通过处理器的状态由此可以将计算机程序分为两类:1.2 操作系统体系结构:1.2.1操作系统内核概念内核就是计算机上配置的底层软件,是操作系统最基本、最核心的部分,实现操作系统内核功能的那些程序就是内核程序。1.3 中断和异常1.3.1 中断的诞生为了解决早期的计算机各程序只能串行执行,系统资源利用率低的问题原创 2020-06-05 19:13:33 · 623 阅读 · 0 评论 -
1 操作系统第一章 操作系统概念、功能、四大特征、操作系统发展与分类
1.1 操作系统概念、功能1.1 操作系统概念操作系统(Operating System,OS)是指控制和管理整个计算机系统的硬件和软件资源,并合理地组织调度计算机的工作和资源的分配;以提供给用户和其他软件方便的接口和环境;它是计算机系统中最基本的、最接近系统硬件的系统软件。换言之,操作系统可以理解为:操作系统是系统资源的管理者;向上层提供方便易用的服务;是最接近硬件的一层软件直观的例子:打开 Windows 操作系统的“任务管理器”(快捷键:Ctrl+Alt+Del)1.2 操作原创 2020-06-05 17:33:38 · 21377 阅读 · 0 评论