软件设计师-操作系统

存储管理方案

  • 连续分区把所有用户区都分配给唯一的用户作业,当作业被调度时,进程全部装入内存,一旦完成,所有主存恢复空闲,因此他不支持多道程序设计。
  • 固定分区管理,它是支持多道程序设计的最简单的存储管理方法,他把主存划分成若干个固定的和大小不同的分区,每个分区能够装入一个作业,分区的大小是固定的,算法简单,但是容易生成较多的存储器碎片
  • 可重定位分区管理,可以克服固定分区内存碎片问题的一种存储分配方法,能够把相邻的空闲存储空间合并成一个完整的空闲,还能够整理存储器内各个作业的存储位置,以达到消除存储碎片和紧缩存储空间的目的。紧缩工作需要花费大量的事件和系统资源,它的方法移动所有已分配好的分区,使之成为连续区域
  • 可变分区,可变分区是一种动态分区方法,存储空间的大小实在作业装入时进行的,故分区的个数是可变的,分区的大小正好等于作业的大小,可变分区需要记录已分配的和未分配的两种表格。分配方法有,最佳适应算法,遍历所有找到大小最接近的空白区,会产生很小的外碎片;最差适应算法,找最大的空白区,一分为二,剩下的空白区较大,不容易产生外碎片;首次适应算法,从地址低到高找到第一个满足条件的空白区,循环首次适应算法,从上一次分配的位置往后找首次满足大小的空白区。
  • 非请求分页式存储管理,将存储空间和作业的地址空间分成若干个等分不分的分页式,要求把进程所需要的页面全部调入主存后作业能运行,当内存可用空间小于作业所需的地址空间时,作业无法调入,克服了分区存储管理碎片多喝紧缩处理时间长的缺点,支持多道程序设计,但不支持虚拟存储。
  • 请求分页式存储,把存储空间和作业的地址空间分成若干个等分部分的分也是,当进程需要用到某个页面时调入内存,把那些暂时无关的页面留在主存外。它支持虚拟内存,克服了分区存储中碎片多喝紧缩处理时间长的缺点,支持多道程序设计,但是他不能实现对最自然的以段为单位的共享与存储保护(因为程序通常的以段为单位划分的,所以以段位单位最自然)
  • 分段存储器,作业的地址被划分成若干个段,每个段是一组完整的逻辑信息,各段长度不同,逻辑地址由段号和段内地址组成,为每个段分配连续的内存,而进程中的各段可以离散的分配到主存的不同分区中,可以实现共享
  • 段页式存储,作业按逻辑结构分段,段内分页,内存分块,作业只需部分页装入即可运行,所以支持虚拟存储,可实现动态链接和装配,先把主程序载入,其他程序按需加载到内存然后和主程序链接
  • 虚拟内存,基于程序局部性原理,应用程序运行之前并不需要全部装入内存,只需要把当前运行到的那部分程序和数据装入内存便可以启动程序,其余程序可以放在外存,当需要那部分时,通过操作系统通过请求调用把他们调入内存,使程序可以继续运行,如果内存已满,还可以使用置换功能,把暂时不用的程序或数据调至外存。这样可以让大的用户程序能够在小的内存上运行,也可以在内存中同事装入更多的进程使他们并发执行。这种具有请求调入和置换功能,并能从逻辑上对内存容量加以扩充的存储器系统称为虚拟内存。
  • 分配给作业的主存块数越多,则缺页中断越低,反之,中断率就高
  • 页面越大,缺页中断越低,否则越高
  • 页面调度算法
  • 作业本身的程序编制方法

磁盘调度方法

  • 先来先服务(FCFS),按照输入输出请求达到的顺序,逐一完成访问请求
  • 最短查找优先算法(SSTF),先对最靠近当前柱面位置的请求进行服务
  • C-Scan算法,从磁盘的一端移动到另一端,并在移动中对遇到的请求服务,所不同的是达到另一端后立刻返回到开始端,而不对返回路径上的任何请求服务
  • SCAN算法,来回移动磁盘,并对遇到的请求服务
  • 逻辑地址转物理地址,根据页大小得到页内地址的位数,然后把逻辑地址转成2进制,得到逻辑页号,去页表中查询,得到物理页号,然后组合起来,得到物理地址
  • 位示图法为管理磁盘空闲存储空间而提出来的,该方法是在外村上建立一张位示图采记录文件存储器的使用方法,每一个位仅对应存储器上的一个物理块,使用01表示空闲和占用
  • 页面置换算法,最优算法,淘汰不用或者最远用的页,随机算法,随机淘汰,先进先出算法,最近最少使用算法,LRU

数据传送控制

  • 程序直接控制
  • 中断控制
  • 直接内存访问(DMA)
  • 通道控制

进程管理

  • 进程是操作系统中可以并发运行和分配系统资源的基本单位。进程是运行中的程序,是程序在某个数据集上的一次执行过程,具有并发性和动态性。从静态的角度看,进程实体由进程控制块(PCB),程序段和数据空间三部分组成,从进程的运行来看,进程可并发运行程序在其数据集合上的运行过程。
  • 进程控制是通过进程控制原语实现的,用户可以通过系统调用接口调用进程控制原语实现进程的建立与撤销,阻塞与唤醒等控制,但是进程的控制通常由操作系统自动实现,这就是用户作业管理的功能。作业管理通过三级调度(作业,均衡,进程)实现用户进程的创建与撤销等控制,时间片轮转,阻塞或唤醒只会引起进程状态的改变,而不能控制进程的产生与终止,运行的进程会随着作业运行正常或不正常的结束而撤销。
  • 就绪:调度后开始运行
  • 运行:时间片到返回就绪,超时进入挂起
  • 挂起:等待的事件发生进入就绪
  • 阻塞:类似于挂起
  • 进程具有引用局部性,可降低页面出错的概率
  • 进程是程序关于某个数据集的一次运行,一个程序可以对应多个进程

进程调度

  • 在多任务系统中,多任务在宏观上的并行的,微观上是串行的。系统必须调度,使系统资源有效合理的为任务提供服务。
  • 先来先服务,,利于长作业,不利于短作业,有利于CPU繁忙的作业,不利于I/O繁忙的作业,戴荃周转时间计算可知。
  • 时间片轮转,固定时间片,动态时间片,
  • 优先级调度,静态优先级,动态优先级
  • 多级反馈调度
  • 抢先式多任务,,CPU是可以抢先的,保证系统每时每刻总是分配给需要CPU的优先级最高的作业
  • PV操做,P占用资源,V释放资源,如果信号量初始值为2,表示由两个资源,当信号量为-3时,表示有三个进程正在等待
  • 发生死锁的现象就是占有并等待并且等待的资源不会被释放,不发生死锁的最小资源数量的计算进程属性*(进程需要的资源-1)+1
  • 进程同步主要源于进程合作,是进程共同完成一项任务时,直接发生相互作用的关系,为进程之间的直接制约关系,进程互斥主要源于资源共享,是进程之间的间接制约关系,在多道系统中,保证每次只有一个进程使用临界资源
  • 要填空PV信号可在前驱图上做
  • Spooling技术是低速输入输出设备与主机交换的一种技术,通常也称为假脱机真联机,由预输入程序,缓输出程序,井管理程序,输入和输出井做成,是一种物理设备模拟另一类物理设备的技术,是使独占使用的设备变成多台虚拟设备的一种技术,目的为了提高IO设备的利用率,以及独占设备的共享化
  • 银行家算法,如果进程分配资源后系统进入不安全状态则不分配,否则分配,计算分配后是否能继续执行进程
  • 死锁的必要条件:互斥条件,保持和等待,不剥夺条件,环路等待条件,解出死锁就是要破坏这些条件,常用的解出死锁的方法有,资源剥夺法,撤销进程法

操作系统

  • 处理机有两个状态,一个是管态(系统态,处理系统的程序),一个是非管态(目态或用户态,处理一般用户程序),当处于非管态的时候,表示用户正在执行一个用户进程。
  • 操作系统的主要作用为用户提供计算机的接口,管理计算机的资源
  • 处理机管理
  • 存储管理
  • 设备管理
  • 文件管理
  • 网络和通信管理
  • 用户接口
  • 分时操作系统将CPU的时间划分成若干个片,每个用户轮流使用一个时间片,具有多路性,交互性,独占性,及时性等特征。响应时间指用户提交到调度运行所需时间,用户越多,响应时间越长。
  • 多道程序技术特征,多道,宏观上并行,微观上串行
  • 一段时间只能有由一个程序占用的资源叫做临界资源或者独占资源

文件系统

  • 设置当前目录是为了加快文件查找速度

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

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

相关文章

sealos部署K8s,安装docker时master节点突然NotReady

1、集群正常运行中,在集群master-1上安装了dockerharbor,却发现master-1节点NotReady,使用的网络插件为 Cilium #安装docker和harbor(docker运行正常) rootmaster-1:/etc/apt# apt install docker-ce5:19.03.15~3-0~u…

redis集群主备模式的快速搭建

一,下载redis 此处下载的是redis-5.0.14.tar.gz 二,编译安装redis mkdir -p /home/redis_cluster cp /opt/redis-5.0.14.tar.gz /home/redis_cluster tar -zxvf /home/redis__cluster/redis-5.0.14.tar.gz cd /home/redis_cluster/redis-5.0.14 make m…

latex快速入门(附计算机学报latex模板链接

对于一些概念的解释,最后附计算机学报模板 LaTeX入门 什么是latex(不标准的理解,但可以快速入门)最开始的工作流LaTeX的扩展版本PdfLaTeXXeLaTeX LaTeX编辑器 计算机学报模板 什么是latex(不标准的理解,但…

【stablediffusion】ComfyUI | 恐怖如斯的放大模型DifFBIR,超分辨率放大、人脸修复、图像去噪 | 效果炸裂 | 强烈推荐

今天,我们将向您介绍一款令人兴奋的更新——Stable Diffusion的ComfyUI放大模型DifFBIR。这是一款基于Stable Diffusion技术的AI绘画工具,旨在为您提供一键式图像放大的便捷体验。无论您是AI绘画的新手还是专业人士,这个工具都能为您带来极大…

向量数据库PGVECTOR安装

文章目录 前提向量数据库介绍PGVECTOR安装1、pgvector下载2、编译安装3、创建vector扩展 前提 已经安装好了pg14版本。 其他版本也可以。 pg安装教程:https://blog.csdn.net/yushaoyyds/article/details/138855306?spm1001.2014.3001.5502 向量数据库介绍 向量数…

【系统架构设计师】真题论文: 论基于 REST 服务的 Web 应用系统设计(包括解题思路和素材)

更多内容请见: 备考系统架构设计师-专栏介绍和目录 文章目录 真题题目(2009年 试题3)解题思路论文素材参考REST 基本概念REST 关键原则基于 REST 服务的 Web 应用系统设计优势基于 REST 服务的 Web 应用系统设计流程真题题目(2009年 试题3) REST(REpresentational State …

Elasticsearch集群和Kibana部署流程

搭建Elasticsearch集群 1. 进入Elasticsearch官网下载页面,下载Elasticsearch 在如下页面选择Elasticsearch版本,点击download按钮,进入下载页面 右键选择自己操作系统对应的版本,复制下载链接 然后通过wget命令下载Elastics…

Vue3 之 provide 和 inject:组件间通信的神奇利器

provide和inject 1.概述 在 Vue 3 中,provide和inject是用于组件之间进行深层次数据传递的一对组合。它们可以跨越多个组件层级来共享数据,而不需要通过层层传递props的方式。 2.provide 的使用 基本语法:在组件的setup函数或者Compositi…

CatBoost中的预测偏移和排序提升

在 CatBoost 中,预测偏移(Prediction Shift) 和 排序提升(Ordered Boosting) 是其关键概念和创新点。CatBoost 通过引入 排序提升 解决了梯度提升决策树(GBDT)算法中常见的 预测偏移问题&#x…

阿里云aliyun gradle安装包下载地址

阿里云 查找你要下载的安装包 macports-distfiles-gradle安装包下载_开源镜像站-阿里云 https://mirrors.aliyun.com/macports/distfiles/gradle/gradle-8.9-bin.zip 腾讯 https://mirrors.cloud.tencent.com/gradle/ https://mirrors.cloud.tencent.com/gradle/ https…

《揭秘观察者模式:作用与使用场景全解析》

在软件开发的世界中,设计模式就像是建筑师手中的蓝图,指导着软件系统的构建。其中,观察者模式是一种极为重要且广泛应用的设计模式。今天,我们就来深入探讨一下观察者模式的作用和使用场景。 一、观察者模式是什么? …

SpringBoot(九)使用Jsoup解析html字符串

目前在做博客相关的功能,在显示文章详情的时候,我看到那些大的博客社区,文章中的图片都是可以点击放大的,我感觉这个功能非常好,我也想做,在PHP版本的博客中已经实现了。 实现原理其实很简单,使用PHP的simple_html_dom库解析HTML字符串,找到其中的img标签,在img标签上…

Spring——容器:IoC

容器:IoC IoC 是 Inversion of Control 的简写,译为“控制反转”,它不是一门技术,而是一种设计思想,是一个重要的面向对象编程法则,能够指导我们如何设计出松耦合、更优良的程序。 Spring 通过 IoC 容器来…

uniapp—android原生插件开发(4uniapp引用aar插件)

本篇文章从实战角度出发,将UniApp集成新大陆PDA设备RFID的全过程分为四部曲,涵盖环境搭建、插件开发、AAR打包、项目引入和功能调试。通过这份教程,轻松应对安卓原生插件开发与打包需求! 一、将android程序打包成aar插件包 直接使…

RedisTemplate序列化设置

前言 在使用 Redis 作为缓存数据库时,我们通常会使用 RedisTemplate 来简化与 Redis 进行交互的操作。而其中一个重要的配置项就是序列化设置,它决定了数据在存储到 Redis 中时的格式。本文将介绍如何进行 RedisTemplate 的序列化设置,以及一…

如何优化Elasticsearch的查询性能?

优化Elasticsearch查询性能可以从以下几个方面进行: 合理设计索引和分片: 确保设置合理的分片和副本数,考虑数据量、节点数和集群大小。根据数据量和节点数量调整分片数量,避免使用过多分片,因为每个分片都需要额外的…

使用R语言survminer获取生存分析高风险和低风险的最佳截断值cut-off

使用R语言进行Cox比例风险模型分析和最佳截断值寻找 引言 在生存分析中,Cox比例风险模型是一种常用的统计方法,用于评估多个变量对生存时间的影响。在临床研究中,我们经常需要根据某些连续变量的预测值来对患者进行分组,以便更好…

ORU——ORAN 无线电单元参考架构

ORU ORU-开放无线电单元ORU 类型O-RU“A类”O-RU“B类” 参考相关文章 ORU-开放无线电单元 ORU(开放无线电单元)的目的是将天线发送和接收的无线电信号转换为数字信号,该数字信号可通过前传传输到分布式单元(DU)。考虑…

FFMPEG录屏(22)--- Linux 下基于X11枚举所有显示屏,并获取大小和截图等信息

众人拾柴火焰高,github给个star行不行? open-traa/traa traa is a versatile project aimed at recording anything, anywhere. The primary focus is to provide robust solutions for various recording scenarios, making it a highly adaptable tool…

卷积核里面的数字表示什么意思?

卷积核里面的数字表示的是一种权重,这些权重在与输入数据进行卷积操作时起着至关重要的作用。简单来说,卷积核是一个小型矩阵,它里面的每个数字都对应着输入数据中某个位置的数值在特征提取过程中的一个系数。 当卷积核在输入数据上滑动时&am…