操作系统(存储管理进程管理设备管理)

news2025/1/18 20:24:31

文章目录

  • 存储管理
    • 页式存储管理
      • 概念
      • 优点
      • 缺点
      • 页面置换算法
      • 快表(很快速的页表)
    • 段式存储管理
      • 概念
      • 优点
      • 缺点
    • 段页式存储管理
      • 概念
      • 优点
      • 缺点
  • 进程管理
    • 概述
      • 作用
      • 特征
      • 功能
      • 分类
      • 计算机启动基本流程
    • 进程管理
      • 进程的组成
      • 进程的基础状态
      • 前趋图
      • 进程资源图
      • 同步和互斥
      • 信号量操作
      • 死锁
      • 进程
      • 线程
  • 设备管理
    • 分类方式
    • I/O软件层次结构
    • 输入输出技术
    • 虚设备和spooling技术
    • 磁盘结构
    • 寻道调度算法

存储管理

页式存储管理

概念

  • 将进程空间分为一个个页(逻辑地址)
  • 将系统的物理空间也分为一个个物理块(页帧号)(物理地址)
  • 每次将需要运行的逻辑页装入物理块中,运行完再装入其他需要运行的页
  • 逻辑地址与物理地址的转换
  • 页地址计算
    • 页号(高位)
    • 页内地址(低位)

优点

  • 利用率高
  • 碎片小(只在最后页一个页中有)
  • 分配及管理简单

缺点

  • 增加了系统开销
  • 可能产生抖动现象

页面置换算法

  • 最优算法(OPT)
    • 理论算法,无法实现
    • 是进程执行完后进行的最佳效率计算,用来与其他算法比较差距
    • 原理是选择未来最长时间内不被访问的页面置换,可以保证未来执行的都是马上要访问的
  • 先进先出算法(FIFO)
    • 先调入内存的页先被置换淘汰
    • 会产生抖动现象,分配的页数越多,缺页率可能越多(效率越低)
  • 最近最少使用(LRU)
    • 在最近的过去,进程执行过程中,过去最少使用的页面被置换淘汰
    • 根据局部性原理,这种方式效率高,且不会产生抖动现象

快表(很快速的页表)

  • 小容量的相联存储器,由快速存储器组成
  • 按内容访问,速度快,可以从硬件上保证按内容并行查找
  • 用来存放当前访问最频繁的少数活动页面的页号
  • 快表是将页表存于Cache中,慢表将页表存在于内存上
  • 慢表需要访问两次内存才能取出页,而快表是访问一次Cache和一次内存,因此更快

段式存储管理

概念

  • 进程空间分成一个个段
  • 每段有段号和段内地址
  • 与页式存储不同的是,每段物理大小不同,分段是根据逻辑整体分段的

优点

  • 程序逻辑完整
  • 修改互不影响

缺点

  • 内存利用率低
  • 内存碎片浪费大

段页式存储管理

概念

  • 对进程空间先分段,然后分页

优点

  • 空间浪费小,存储共享容易,能动态连接

缺点

  • 由于管理软件的增加,复杂性和开销也增加,执行速度下降

进程管理

概述

作用

  • 通过资源管理提高计算机系统的效率
  • 改善人机界面向用户提供友好的工作环境

特征

  • 并发性
  • 共享性
  • 虚拟性
  • 不确定性

功能

  • 进程管理
  • 存储管理
  • 文件管理
  • 设备管理

分类

  • 批处理操作系统
  • 分时操作系统(轮流使用CPU工作片)
  • 实时操作系统(快速响应)
  • 网络操作系统
  • 分布式操作系统(物理分散的计算机互联系统)
  • 微机操作系统(Windows)
  • 嵌入式操作系统

计算机启动基本流程

  • BIOS->主引导记录->操作系统

进程管理

进程的组成

  • 进程控制块PCB(唯一标志)
  • 程序:描述进程要做什么
  • 数据:存放进程执行时所需数据

进程的基础状态

  • 系统自动控制(三态图)
    • 等待:等待某个事件,例如:I/O输入
    • 就绪:等待事件发生,所有资源都具备,只差CPU资源
    • 运行:使用CPU资源(调度),时间片到,从运行状态->就绪状态
  • 人为操作(五态图)
    • 活跃阻塞
    • 活跃就绪
    • 运行
    • 静止阻塞
    • 静止就绪

前趋图

  • 作用:用来表示哪些任务可以并行执行,哪些任务之间有顺序关系
  • 任务间的并行
  • 任务间的先后顺序

进程资源图

  • 作用:表示进程和资源之间的分配和请求关系
    • P代表进程
    • R代表资源
    • 指向P的代表P已经拥有了该R资源,P指向的代表P还需要该R资源
  • 阻塞节点
    • 某进程所请求的资源已全部分配完毕,无法获取所需资源,该进程被阻塞了无法继续
  • 非阻塞节点
    • 某进程所请求的资源还有剩余,可以分配给该进程继续运行
  • 死锁状态
    • 当一个进程资源图中所有的进程都是阻塞节点时,即进入死锁状态

同步和互斥

  • 互斥:某资源(即临界资源),例如:打印机

    • 在同一时间内只能由一个任务单独使用
    • 使用时需要加锁
    • 使用完后解锁才能被其他任务使用
  • 同步

    • 多个任务可以并发执行
    • 只不过速度上有差异,在一定情况下停下等待
    • 不存在资源是否单独或共享的问题
    • 例如:自行车和汽车
  • 临界资源

    • 各进程间需要以互斥方式对其进行访问的资源
  • 临界区

    • 指进程中对临界资源实施操作的那段程序
    • 本质是一段程序代码
  • 互斥信号量

    • 对临界资源采用互斥访问,使用互斥信号量后其他进程无法访问,初值为1
  • 同步信号量

    • 对共享资源的访问控制,初值一般是共享资源的数量

信号量操作

  • P操作
    • 申请资源,S=S-1
    • 若S>=0,则进行P操作的进程继续执行
    • 若S<0,则置该进程为阻塞状态(因为无可用资源),并将其插入阻塞队列
  • V操作
    • 释放资源,S=S+1
    • 若S>0,则执行V操作的进程继续执行
    • 若S<=0,则从阻塞状态唤醒一个进程,并将其插入就绪队列
    • 此时因为缺少资源被P操作阻塞的进程可以继续执行,然后执行V操作的进程继续
  • 经典问题
    • 生产者和消费者
    • 三个信号量
      • 互斥信号量S0:仓库独立使用权
      • 同步信号量S1:仓库空闲个数
      • 同步信号量S2:仓库商品个数
    • 生产者流程
      • 生产一个商品S
      • P(S0)
      • P(S1)
      • 将商品放入仓库中
      • V(S2)
      • V(S0)
    • 消费者流程
      • P(S0)
      • P(S2)
      • 取出一个商品
      • V(S1)
      • V(S0)

死锁

  • 概念
    • 当一个进程在等待永远不可能发生的事件时,就会产生死锁
    • 系统中有多个进程处于死锁状态,就会造成系统死锁
  • 产生的必要条件
    • 资源互斥
    • 每个进程占有资源并等待其他资源
    • 系统不能剥夺进程资源
    • 进程资源图是一个环路
  • 解决措施(打破四大条件)
    • 死锁预防
      • 采用某种策略限制并发进程对资源的请求
      • 破坏死锁产生的四个条件之一,使系统任何时刻都不满足死锁的条件
    • 死锁避免
      • 银行家算法:提前计算出一条不会死锁的资源分配方法,才分配资源,否则不分配
    • 死锁检测
      • 允许死锁产生
      • 系统定时运行一个检测死锁的程序:检测到死锁就解除
    • 死锁解除
      • 强制剥夺资源
      • 撤销进程
    • 死锁计算问题
      • 系统内有n个进程,每个进程都需要R个资源
        • 发生死锁的最大资源数:n*(R-1)
        • 不发生死锁得的最小资源数:n*(R-1)+1

进程

  • 可拥有资源的独立单位
  • 可独立调度和分配的基本单位
  • 拥有资源的最小单位

线程

  • 线程是独立调度的最小单位
  • 线程可以共享进程的公共数据、全局变量、代码、文件等资源
  • 线程不能共享线程独有的资源,如线程的栈指针等标识数据

设备管理

分类方式

  • 按数据组织分类
    • 块设备
    • 字符设备
  • 按资源分配分类
    • 独占设备
    • 共享设备
    • 虚拟设备
  • 按数据传输速率分配
    • 低速设备
    • 中速设备
    • 高速设备

I/O软件层次结构

  • 用户进程:进行I/O调用、格式化I/O、Spooling
  • 设备无关软件:命名、保护、阻塞、缓冲、分配
  • 设备驱动程序:置设备寄存器:检查状态
  • 中断处理程序:当I/O结束时唤醒驱动程序
  • 硬件:执行I/O操作

输入输出技术

  • 程序控制(查询)方式
    • CPU主动查询外设是否完成数据传输,效率极低
  • 程序中断方式
    • 外设完成数据传输后,向CPU发送中断,等待CPU处理数据,效率相对较高
    • 适用于键盘等实时性较高的场景
  • DMA方式(直接主存存取)
    • CPU只需完成必要的初始化等操作,数据传输的整个过程都是由DMA控制器完成
    • 在主存和外设之间建立直接的数据通路,效率很高

虚设备和spooling技术

  • 现状问题
    • 一台物理设备(互斥资源),例如打印机,在同一时间只能由一个进程使用,其他进程只能等待
    • 不知道什么时候打印空闲,极大的浪费了外设的工作效率
  • spooling
    • 外设上建立两个数据缓冲区
      • 输入井
      • 输出井
    • 打印命令发出,数据会排队存储在缓冲区中
    • 打印机会自动按顺序打印,实现物理外设的共享
    • 每个进程都感觉在使用同一个打印机,这就是物理设备的虚拟化

磁盘结构

  • 结构
    • 正反两个盘面
    • 每个盘面由多个同心圆
    • 每个同心圆是一个磁道,每个同心圆又被划分为多个扇区
    • 数据存放在一个个扇区中
  • 读取数据
    • 磁头首先要寻找到对应的磁道
    • 等待磁盘进行周期旋转,旋转到指定的扇区,读取对应的数据
    • 寻道时间(耗时最长),指磁头移动到磁道所需的时间
    • 等待时间,等待读写扇区转到磁头下方所用的时间

寻道调度算法

  • 先来先去服务FCFS
    • 根据进程请求访问磁盘的先后顺序进行调度
  • 最短寻道时间优先SSTF
    • 请求访问的磁道与当前磁道最近的进程优先调度
    • 产生饥饿现象,远处进程可能永远无法访问
  • 扫描算法SCAN(电梯算法)
    • 磁头在磁盘上双向移动,会选择离磁头当前所在磁道最近的请求
    • 磁头永远都是从里向外或者从外向里一直移动完才掉头,与电梯类似
  • 单向扫描调度算法CSCAN
    • 单向移动

存储管理
进程管理
设备管理

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1224804.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【新闻稿】Solv 与 zCloak 联合开发跨境贸易场景下可编程数字凭证项目,获得新加坡、加纳两国央行支持...

关于昨天 Solv 携手 zCloak 与新加坡和加纳两个央行合作的 Project DESFT&#xff0c;很多朋友都发来恭喜和祝福&#xff0c;并希望了解详情。这个事我们秘密努力了半年多&#xff0c;终于有一个阶段性的成果。这里我转载中文版官宣新闻稿&#xff0c;欢迎大家关注。等我忙过这…

Alibaba Nacos注册中心源码剖析

Nacos&Ribbon&Feign核心微服务架构图 架构原理&#xff1a; 微服务系统在启动时将自己注册到服务注册中心&#xff0c;同时对外发布 Http 接口供其它系统调用&#xff08;一般都是基于Spring MVC&#xff09;服务消费者基于 Feign 调用服务提供者对外发布的接口&…

如何零基础自学AI人工智能

随着人工智能&#xff08;AI&#xff09;的快速发展&#xff0c;越来越多的有志之士被其强大的潜力所吸引&#xff0c;希望投身其中。然而&#xff0c;对于许多零基础的人来说&#xff0c;如何入门AI成了一个难题。本文将为你提供一份详尽的自学AI人工智能的攻略&#xff0c;帮…

彩色年终工作总结汇报PPT模板下载

这是一套彩色年终工作总结汇报PPT模板&#xff0c;共27页&#xff1b; PPT模板封面&#xff0c;使用了红黄蓝色块、网格背景。中间填写年终工作总结汇报PPT标题。界面为简约商务风格。 PowerPoint模板内容页&#xff0c;由25张彩色动态幻灯片图表&#xff0c;搭配PPT文字排版…

HTTP 到 HTTPS 再到 HSTS 的转变

近些年&#xff0c;随着域名劫持、信息泄漏等网络安全事件的频繁发生&#xff0c;网站安全也变得越来越重要&#xff0c;也促成了网络传输协议从 HTTP 到 HTTPS 再到 HSTS 的转变。 HTTP HTTP&#xff08;超文本传输协议&#xff09; 是一种用于分布式、协作式和超媒体信息系…

【入门篇】1.5 redis 客户端Jedis和Lettuce对比详解

文章目录 0. 前言1. Lettuce 与Jedis 对比2.详解2.1 线程安全2.2 阻塞/非阻塞2.3 集群支持2.4 PUB/SUB模型2.5 二进制协议 3. 参考资料 0. 前言 对于Java开发者来说&#xff0c;Jedis和Lettuce是两种非常常见的Redis客户端&#xff0c;他们可以帮助开发者更容易地在Java应用中…

重生之我是一名程序员 34

哈喽啊大家晚上好&#xff01; 今天给大家带来的知识是——库函数qsort。首先&#xff0c;给大家介绍一下qsort函数&#xff0c; qsort函数是C标准库中的一种排序函数&#xff0c;用于对数组中的元素进行快速排序。它接受四个参数&#xff1a;待排序数组的基地址&#xff0c;数…

解决:微软在登录时总是弹出需要家长或监护人同意才能使用该账户并且不断循环?

目录 问题来源&#xff1a; 解决办法&#xff1a; 问题来源&#xff1a; 我的edge浏览器账号登录&#xff0c;一直弹出来需要家长或监护人同意才能使用&#xff0c;然后按照提示操作&#xff0c;会一直循环&#xff0c;是个无穷循环。 解决办法&#xff1a; 参考&#xff1…

计算机算法分析与设计(23)---二分搜索算法(C++)

文章目录 1. 算法介绍2. 代码编写 1. 算法介绍 1. 二分搜索&#xff08;英语&#xff1a;binary search&#xff09;&#xff0c;也称折半搜索&#xff08;英语&#xff1a;half-interval search&#xff09;、对数搜索&#xff08;英语&#xff1a;logarithmic search&#xf…

MFC 常用控件

目录 一、控件的交互方式 二、CButton/CheckBox/RadioButton 三、EditControl 四、ListBox 五、ComBox 六、Progress/Timer 七、PictureController 八、ListControl 九、Tree 一、控件的交互方式 得到控件的类的对象&#xff0c;就可以通过这个对象来操作类 CWnd* G…

计算机毕业设计 基于SpringBoot的车辆网位置信息管理系统的设计与实现 Java实战项目 附源码+文档+视频讲解

博主介绍&#xff1a;✌从事软件开发10年之余&#xff0c;专注于Java技术领域、Python人工智能及数据挖掘、小程序项目开发和Android项目开发等。CSDN、掘金、华为云、InfoQ、阿里云等平台优质作者✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精…

【入门篇】1.4 redis 客户端 之 Lettuce 详解

文章目录 1. 简介1. 什么是Lettuce2. Lettuce与其他Redis客户端的比较3. Lettuce的特性和优势 2. 安装和配置3. 连接池配置1. 什么是连接池2. Lettuce的连接池使用与配置3. 连接池配置项 4. 基本操作1. 如何创建Lettuce连接2. Lettuce的基本操作如增删改查3. Lettuce的事务操作…

Halcon (2):Halcon基础知识

文章目录 文章专栏视频资源前言Halcon文档案例学习结论 文章专栏 Halcon开发 视频资源 机器视觉之C#联合Halcon 前言 本章我们主要讲解Halcon的基础语法 Halcon文档 按下F1&#xff0c;就可以看到Halcon的文档&#xff0c;不过都是纯英文的 如果不清楚参数如何使用&#x…

十三、Docker的安装

0.安装Docker Docker 分为 CE 和 EE 两大版本。CE 即社区版&#xff08;免费&#xff0c;支持周期 7 个月&#xff09;&#xff0c;EE 即企业版&#xff0c;强调安全&#xff0c;付费使用&#xff0c;支持周期 24 个月。 Docker CE 分为 stable test 和 nightly 三个更新频道…

异地工业设备集中运维、数据采集,一招搞定

为了提升运维效率&#xff0c;能够及时发现和响应设备的故障、异常和潜在问题。 越来越多的企业都在搭建“集中式”的远程智慧运维体系&#xff0c;以提高运维效率和降低成本。 异地工业设备远程运维&#xff0c;提升响应效率、降低运维成本 以国内陕西某机床公司为例&#xff…

Buildroot 添加 Qt 支持

Buildroot 添加 Qt 支持 lqonlylove 于 2022-12-03 13:37:34 发布 阅读量2.8k 收藏 12 点赞数3 分类专栏: 根文件系统制作 文章标签: qt buildroot 版权 ​编辑根文件系统制作专栏收录该内容 2 篇文章0 订阅 订阅专栏 一、制作根文件系统 Buildroot 制作根文件系统_l…

【IT杂谈】--数据中台和BI项目失败的原因分析--以M集团传统制造业为例

“我们这个BI怎么做成这副鸟样&#xff0c;他们还想要钱&#xff0c;我们的尾款是不可能付的。”这是我在G集团听到财务总监的抱怨。感觉类似于这种吐槽BI的话&#xff0c;我经常能够听到的。我正在经历第四家公司&#xff0c;有三家公司都上了BI分析平台&#xff0c;但是效果都…

plantuml最原始的主题如何设置

在startuml下一行添加 skin rose startuml skin rose:Hello world; :This is defined on several **lines**;enduml 效果如下&#xff1a; plantuml官网地址如下&#xff1a; ​​​​​​使用简单的文字描述画UML图的开源工具。轻松从简单的文字说明创建UML图。也有许多种可…

信号的机制——信号的发送与处理

对于硬件触发的&#xff0c;无论是中断&#xff0c;还是信号&#xff0c;肯定是先到内核的&#xff0c;然后内核对于中断和信号处理方式不同。一个是完全在内核里面处理完毕&#xff0c;一个是将信号放在对应的进程 task_struct 里信号相关的数据结构里面&#xff0c;然后等待进…

Leetcode—剑指Offer LCR 140.训练计划II【简单】

2023每日刷题&#xff08;三十三&#xff09; Leetcode—LCR 140.训练计划II 实现代码 /*** Definition for singly-linked list.* struct ListNode {* int val;* struct ListNode *next;* };*/ struct ListNode* trainingPlan(struct ListNode* head, int cnt) {str…