软考中级-操作系统
1 操作系统地位
计算机系统由硬件和软件组成,未配置软件的称为裸机,但这会导致效率低下。
操作系统是为弥补用户与硬件之间的鸿沟的一种系统软件,汇编、编译、解释、数据库管理系统等系统软件和其他应用软件都在此基础。
2 进程管理
又称处理机管理。
进程是资源分配和独立运行的基本单位。
进程管理负责管理进程间并发性、资源竞争和合作。
(1)程序与进程
程序顺序执行的特征
前趋图是一个有向无环图,表示程序执行的顺序,结点为程序段操作,有向边表示前后关系,如1->2,表示先程序1执行结束后再执行程序2,1为前趋2为后继。
顺序执行特征包括顺序性(顺序执行)、封闭性(每次执行的程序独占资源)、可再现性(相同输入得到的输出相同)。
PV操作:操作系统中一经典操作,可实现同步、互斥、前趋关系。
PV使用:每两个进程之间会有一个信号量,初始为0,前趋执行结束后会对该信号量做V操作(信号量+1),当后继发现信号量为1,会执行P操作(信号量-1),依次类推。
程序并发执行的特征
采用多道程序设计技术,可使主存中的多道程序处于并发状态。
没有前趋关系的程序段可以并发执行。
并发执行特征为:失去封闭性和可再现性(引入同步和互斥问题);程序和机器执行程序的活动顺序不再一一对应;并发间的程序员有相互制约性。
(2)进程状态及状态间的切换
三态模型:运行、就绪、阻塞
运行
运行时就是运行态,单处理机只有一个运行态的进程。
就绪
除了CPU,其他资源均已被进程获得,万事俱备只欠CPU。
阻塞
又称等待或睡眠,进程正在等待某一事件发生(如等待IO完成),此时给CPU也没用。
五态模型
3 进程间的通信
由于并发的存在,进程间存在资源共享和互相合作的关系,进程通信就是指进程间的信息交换过程。
同步:合作的进程之间直接制约问题。
互斥:申请临界资源(同时只能供一个进程使用的资源,如打印机)的进程间的间接制约问题。
(1)临界区
临界区:进程中对临界资源进行操作的那段程序。
临界区四大原则
有空即进
无空则等
有限等待
等待的程序要保证能在有限时间内访问临界资源,不能让人家一直等好久,进入“饥饿”状态。
让权等待
当进程不能进入临界区,应立即释放CPU,不能占着茅坑不拉屎,进入“忙等”状态。
(2)信号量机制
有效控制进程间同步与互斥的工具,主要有整型信号量、记录型信号量,信号量集机制。
整型信号量与PV操作
此信号量是一个整型变量,有以下两种:
公共型信号量:实现互斥操作,初值为1或资源数量。
私有型信号量:实现同步操作,初值为0或某正整数。
信号量用S表示,S>=0表示可用资源数,S<0其绝对值表示阻塞队列中等待该资源的进程数。
PV操作
P申请一个资源,V释放一个资源,如:
PV操作实现互斥
PV操作实现同步
下图为单缓冲区的例子:
下图为多缓冲区的例子:
4 死锁
由同类资源分配不当引起,当系统中有m个资源被n个进程共享,每个进程需要k个资源,当,即资源小于进程所需数,就可能会发生死锁。
判断是否会发生死锁(最小个数):,满足就不会死锁。
进程资源图
先分配,再申请,箭头从进程指入为分配,指出为申请。
化简(是否可以都执行且不会死锁),上图化简为p1->p2->p3
死锁的处理
死锁避免策略
银行家算法:每次分配资源前先预演分配后是否会出现死锁,安全才分配。提高资源利用率,但增加了系统开销。安全指按照一定顺序轮流为进程分配资源,直至达到最大需求(每个进程最终都能运行),此时这个分配序列称为安全序列。若找不出这个序列,则为不安全。
5 线程
为了节省开销,进程在一个系统中不宜过多,因此引入线程将进程的两大特性(分配资源的基本单位,独立调度和分配的基本单位)中的后者分配给线程。一个线程受阻,其他线程可继续运行。
线程是进程的一部分,是系统调度和分配的基本单位,仅拥有一点必须的资源(程序计数器,一组寄存器和栈),他和所属进程下的其他所有线程共享进程的所有资源,但这些线程之间是不可见的。
6 分页/段页存储管理
分页:页号+页内地址
段页:段号+段内页号+页内地址
7 缓冲区
单缓冲区
缓冲区非空不输入,非满不传送。
并行传输n条作业时间:
双缓冲区
用时
8 磁盘调度算法
先来先服务(FCFS)
谁来谁先,不考虑访问的位置。
最短寻道时间有限(SSTF)
先服务距离当前磁道最近的,不考虑请求服务顺序。
扫描算法(SCAN)或电梯调度算法
先沿距离当前磁道最近的请求方向服务,直到该方向没有请求,再反向。
旋转调度算法
读取必须和处理同步,读取完后才开始处理,会因为处理后当前磁头所在的读取位置与本次该读取的位置不同出现时间差,导致等待时间很长。
优化的方案:修改记录所在的扇区位置,使得读取完上一记录后,磁头恰好停留在下一条要处理的记录。
阶段补充
移动臂就是磁头,上述说的距离是指柱面号。
9 文件目录
为实现按名存取,系统为每个文件设置了描述文件的数据结构——文件控制块(FCB),其中最少包含了文件的物理地址和文件名。文件控制块的有序集合称为文件目录,专门用于文件检索,此目录若被修改对系统有较大影响。
文件控制块包含三类信息
基本信息类
文件名、物理地址、文件长度、文件块数。
存取控制信息类
存取权限RWX。
使用信息类
创建时间、上次修改时间、访问时间...
目录结构
影响文件的存取速度、共享性和安全性。
一级目录结构
链式结构,所有文件一根链,速度慢。
二级目录结构
分为主目录和用户目录, 为每个用户分配了一个用户目录存储在主目录中,一个用户一根链,速度较快但共享时不方便。
多级目录结构(树形目录结构)
节点是目录,叶子节点是文件,有全文件名路径(从根节点开始)、绝对路径(从根节点开始)和相对路径(当前目录/.../)。
10 位示图
用二进制的一位来表示一个物理块的状态,下图为字长为32位的计算机中的位示图。
位示图的大小由磁盘空间中物理块总数决定,几个物理块位示图就有几位。
阶段补充
简单时间片时间片方法,用户数为n,时间片为q,每个用户响应时间为。
磁盘调度中,不同柱面需要先移臂调度到目标柱面,再旋转调度到目标磁道。
相关文章:
软考中级-操作系统
1 操作系统地位计算机系统由硬件和软件组成,未配置软件的称为裸机,但这会导致效率低下。操作系统是为弥补用户与硬件之间的鸿沟的一种系统软件,汇编、编译、解释、数据库管理系统等系统软件和其他应用软件都在此基础。2 进程管理又称处理机管…...
MYD-Y6ULL开发笔记
MYD-Y6ULL开发 文章目录MYD-Y6ULL开发一、系统移植1. 核板说明2. 文件系统操作二、应用开发1. 应用自启动2. 应用编译3.系统应用4.网络5.系统参数一、系统移植 1. 核板说明 型号 MYIR-Y6UL Y2 V2-256N 256D-50I烧了固件命令 uuu.exe myd-y6ulx-y2-256n256d-core-base.auto2. 文…...
三天吃透Java虚拟机面试八股文
本文已经收录到Github仓库,该仓库包含计算机基础、Java基础、多线程、JVM、数据库、Redis、Spring、Mybatis、SpringMVC、SpringBoot、分布式、微服务、设计模式、架构、校招社招分享等核心知识点,欢迎star~ Github地址:https://github.com/…...
Spring Cloud Alibaba全家桶(二)——微服务组件Nacos注册中心
前言 本文为微服务组件Nacos注册中心相关知识,下边将对什么是 Nacos,Nacos注册中心(包括:注册中心演变及其设计思想、核心功能),Nacos Server部署(包括:单机模式、集群模式ÿ…...
命令执行漏洞 | iwebsec
文章目录1 靶场环境2 命令执行漏洞介绍3 靶场练习01-命令执行漏洞02-命令执行漏洞空格绕过03-命令执行漏洞关键命令绕过04-命令执行漏洞通配符绕过05-命令执行漏洞base64编码绕过4 命令执行漏洞危害01-读写系统文件02-执行系统命令03-种植恶意木马04-反弹shellpython反弹shellp…...
2023.02.26 学习周报
文章目录摘要文献阅读1.题目2.摘要3.介绍4.模型4.1 SESSION-PARALLEL MINI-BATCHES4.2 SAMPLING ON THE OUTPUT4.3 RANKING LOSS5.实验5.1 数据集5.2 验证方式5.3 baselines5.4 实验结果6.结论深度学习元胞自动机1.定义2.构成3.特性4.思想5.统计特征流形学习1.降维2.空间3.距离…...
局域网实现PC、Pad、Android互联
文章目录局域网实现PC、Pad、Android互联一、网络邻居1、 Windows 配置1.1 开启共享功能1.2 设置用户1.3 共享文件夹2、 Pad 连接二、 FTP & HTTP1、 电脑配置1.1 HTTP 服务1.2 FTP 服务2、 连接3、 电脑连接 FTP三、 其他方式局域网实现PC、Pad、Android互联 在我们使用多…...
AC自动机
AC自动机 该模型应用场景是什么样的?假如有一篇很长的文章,然后有一个敏感词表单,请从这篇文章里找出包含了哪些敏感词。即便是用KMP进行快速匹配,那也只能每次遍历整篇文章才能找到一种敏感词,KMP只适用于单一子串匹配…...
git入门
目录 1. git简介 1.1 git是什么 1.2 git与svn的区别 2. github 2.1 创建仓库 2.2 删除仓库 2.3 新建文件及文件夹 3. git的基本操作 3.1 配置账户及邮箱 3.2 git文件状态与工作区域 3.3 常用命令 3.4 克隆(clone) 3.5 查看git仓库的状态 3.…...
RK3568编译Android11和目录讲解
文章目录 前言一、下载android11源码二、环境搭建1.增加交换内存三、编译瑞芯微原厂源码四、目录讲解总结前言 本文记录在Ubuntu18.04中编译Android11,只有编译了源码,后面才能进行驱动的开发,有兴趣的小伙伴可以和我一起学习吧! 提示:以下是本篇文章正文内容,下面案例可…...
java泛型学习篇(二)
java泛型学习篇(二) 1 自定义泛型类 1.1 基本语法 Class 类型 <T,R,M...>{ //成员,其中...代表<>括号里面的参数可以有多个ja }1.2 注意点 1.2.1 属性和方法都是可以使用泛型的 T t;//属性使用泛型,合法public T getT() {return t;} //方法使用泛型,合法 publi…...
Java基础
Java基础Java基础一、课前问答二、概述三、Java的历史四、Java的特点五、计算机执行机制以及Java执行机制5.1 计算机的执行机制5.2 Java的执行机制六、常用DOS命令七、第一个Java程序八、包的使用九、编码规范十、注释Java基础 一、课前问答 1、什么是程序 2、什么是语言 3、什…...
骨骼控制(一)——动画动态节点(AnimDynamics)
文章目录一、引言二、骨骼控制三、UE蓝图中提供的骨骼控制节点——AnimDynamics动画蓝图节点1、什么是AnimDynamics动画蓝图节点①使用盒体计算惯性②使用约束来限制移动2、AnimDynamics节点的几种常用例子①单骨骼模拟②骨骼链模拟 <h2 id1>③群魔乱舞(这是错…...
Linux系统下搭建maven环境
文章目录前述从官网下载安装包安装 maven修改maven配置修改环境变量测试前述 安装 maven 环境前,需要先安装 java 环境,如果没有安装 java 环境,可以参考:https://blog.csdn.net/weixin_45583303/article/details/118631855 从官…...
English Learning - L2 语音作业打卡 Day3 2023.2.23 周四
English Learning - L2 语音作业打卡 Day3 2023.2.23 周四💌 发音小贴士:💌 当日目标音发音规则/技巧:🍭 Part 1【热身练习】🍭 Part2【练习内容】🍭【练习感受】🍓元音[ ɔ: ]&…...
RK3568平台开发系列讲解(驱动基础篇)GIC v3中断控制器
🚀返回专栏总目录 文章目录 一、什么是GIC二、GIC v3中断类型三、GIC v3基本结构3.1、Distributor3.2、CPU interface简介3.3、Redistributor简介3.4、ITS(Interrupt translation service)4、中断状态和处理流程沉淀、分享、成长,让自己和他人都能有所收获!😄 📢ARM多核…...
决策树、随机森林、极端随机树(ERT)
声明:本文仅为个人学习记录所用,参考较多,如有侵权,联系删除 决策树 通俗来说,决策树分类的思想类似于找对象。现想象一个女孩的母亲要给这个女孩介绍男朋友,于是有了下面的对话: 女儿&#x…...
软件测试之因果图法
因果图法 1. 概述 因果图法是一种**利用图解法分析输入条件、输出结果的各种组合情况,**从而设计测试用例的方法. 因果图法适用于有多个输入和多个输出,而且输入和输入之间有相互的组合关系,输入和输出之间有相互的制约和依赖关系. 使用场景和判定表…...
vue中子组件间接修改父组件传递过来的值
一、前言 Vue官方文档Props单向数据流讲解 Vue中遵循单向数据流,所有的 props 都遵循着单向绑定原则,props 因父组件的更新而变化,自然地将新的状态向下流往子组件,而不会逆向传递。这避免了子组件意外修改父组件的状态的情况&a…...
Java I/O
前言 关于IO, 想必你听过很多中I/O方式, 有的是OS视角的, 有的是JDK本身支持的, 有的是纯实现视角。但是作为一个developer, 我希望你能先搞清楚上下文之后, 再去理解内容, 否则容易抬杠。这个上下文有横向和纵向两个维度。纵向维度包括JDK底层, JDK上层包装库, 开发框架(如Ne…...
pytorch学习日记之图片的简单卷积、池化
导入图片并转化为张量 import torch import torch.nn as nn import matplotlib.pyplot as plt import numpy as np from PIL import Image mymi Image.open("pic/123.png") # 读取图像转化为灰度图片转化为numpy数组 myimgray np.array(mymi.convert("L"…...
【java基础】抽象类和抽象方法
文章目录基本介绍抽象类抽象方法使用总结基本介绍 在面向对象的概念中,所有的对象都是通过类来描绘的,但是反过来,并不是所有的类都是用来描绘对象的,如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就…...
RDD的内核调度【博学谷学习记录】
RDD的依赖关系RDD的依赖: 指的一个RDD的形成可能是有一个或者多个RDD得出, 此时这个RDD和之前的RDD之间产生依赖关系在Spark中, RDD之间的依赖关系,主要有二种依赖关系:1- 窄依赖:目的: 为了实现并行计算操作, 并且提高容错的能力指的: 一个RDD上的一个分区的数据, 只能完整的交…...
二叉树——二叉搜索树的最小绝对差
二叉搜索树的最小绝对差 链接 给你一个二叉搜索树的根节点 root ,返回 树中任意两不同节点值之间的最小差值 。 差值是一个正数,其数值等于两值之差的绝对值。 示例 1: 输入:root [4,2,6,1,3] 输出:1 示例 2&…...
git的使用(终端输入指令)下
文章目录前言1、git 分支创建分支查看分支切换分支合并分支删除分支2.提交到远程仓库远程提交链接一下自己仓库总结前言 上章链接 :git的使用(终端输入指令)上 我们接着上着来说 上章把 git 的 功能实现了一部分,本章我们接着上文…...
python使用influxdb-client管理InfluxDB的bucket
bucket的概念类似数据库的“库”,同时每个库中的数据都因为存在“时间戳”,每个数据都会有一个对应的时间点 influxdb-client-python官方github页面:https://github.com/influxdata/influxdb-client-python 管理bucket的官方示例࿱…...
【c++】模板2—类模板
文章目录类模板语法类模板与函数模板区别类模板中成员函数常见时机类模板对象做函数参数类模板与继承类模板成员函数类外实现类模板分文件编写类模板与友元类模板语法 类模板作用: 建立一个通用类,类中的成员数据类型可以不具体制定,用一个虚…...
基于SpringCloud的可靠消息最终一致性03:项目骨架代码(下)
上一节把整个项目的演示内容、项目结构、POM文件和配置文件都讲完了,接下来继续。 先安装并启动Nacos,然后在其中建立一个名为xiangwang-payment-dev.yaml的配置文件,内容为: # 指定运行环境 spring:autoconfigure:exclude: com.alibaba.druid.spring.boot.autoconfigure.D…...
linux如何彻底的删除文件
一、使用rm命令删除 直接用rm 先用ls -alt看下文件信息及拥有者等 可以看到拥有者是eve用户,所以在eve用户的终端中rm命令即可, 如果是root或者其他,则优先用root或其他账号进行删除 (base) eveEve:~$ ls -alt a.txt -rw-rw-r-- 1 eve eve …...
数据仓库Hive的安装和部署
1)去apache.hive.org官网下载hive 目前hive主要有三大版本,Hive1.x、Hive2.x、Hive3.x Hive1.x已经2年没有更新了,所以这个版本后续基本不会再维护了,不过这个版本已经迭代了很多年了,也是比较稳定的 Hive2.x最近一直…...
外贸b2c网站建设/上海seo网站优化软件
论文地址 提出了一种用于深网学习的权值初始化的简单方法——层序列单位方差(LSUV)初始化。 该方法包括两个步骤。首先,使用正交矩阵预初始化每个卷积或内积层的权重。第二,从第一层到最后一层,将每层输出的方差…...
江苏网站建设开发/seo搜索引擎优化求职简历
有哪些基础的问题? 一些简单的问题在前面的文章中都体现了: 为什么要使用消息中间件?消息中间件有哪些缺点?ActiveMQ、RabbitMQ、RocketMQ和kafka都有什么优缺点?RabbitMQ如何保证高可用性?kafka如何保证…...
dede手机网站跳转/网页设计制作教程
很久很久以前我是个.net程序媛,几年前也做过一些php的项目,不过我大部分时间都是一个前端设计师(工程师)。本来我想自己写api,但是一上手,才发现,忘了。。。99%忘了,孕傻害死人。算了呢,就用小程…...
网站建设 面试问题/seo搜索引擎优化工资多少钱
sso-shiro-casspring下使用shirocas配置单点登录,多个系统之间的访问,每次只需要登录一次,项目源码系统模块说明cas: 单点登录模块,这里直接拿的是cas的项目改了点样式而已doc: 文档目录,里面有…...
酒店网站可以怎么做/江门关键词优化公司
补充资料:测试结果可接受性的检查和最终测试结果的确定测试结果可接受性的检查和最终测试结果的确定check of the acceptability of test results and determination of the final test resultC凡(3)二3.3d,时,取此3个结果的平均值作为最终侧…...
牡丹江网络推广/windows优化大师免费
定义在函数内部的变量拥有一个局部作用域,定义在函数外的拥有全局作用域。 局部变量只能在其被声明的函数内部访问,而全局变量可以在整个程序范围内访问。调用函数时,所有在函数内声明的变量名称都将被加入到作用域中。如下实例: …...