软考软件设计师 操作系统笔记

news/2024/4/20 16:34:45/文章来源:https://blog.csdn.net/nie2459010516/article/details/130319151

操作系统地位

  • 在这里插入图片描述

程序顺序执行(进程管理)

在这里插入图片描述
程序顺序执行的特征,顺序性封闭性可再现性

前趋图

P1结束后 V操作 S=S+1 P2操作前先执行S =S -1 此时S=0

一个箭头对应一个信号量
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

程序并发执行和前驱图

在这里插入图片描述
找到输入i计算c输出p,如果找不到就找i1 i2 这样

程序并发执行相关问题

并发会造成多个线程抢cpu资源,提高cpu利用率,但会产生随机性
在这里插入图片描述
了解看看

进程的三态模型

在这里插入图片描述

就绪被调度-运行,运行时间片到就绪,运行等待某时间阻塞,阻塞等待的事件发生-就绪
当一个进程在处理机上运行时,则该进程处于运行状态,单处理机系统

阻塞态一开始在运行状态,但是他所需要的资源不够了,不能让他一直占用着cpu资源等,因为cpu很宝贵所以先转移到阻塞

在就绪态可能被调度,调度后就获得cpu。就绪态有一个就绪队列
运行态时间片到了就会跑到就绪态队列对位
在这里插入图片描述

阻塞态获取cpu后就会转移到就绪态
在这里插入图片描述
在这里插入图片描述

进程间的通信(同步与互斥)

资源共享count那个例子
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

信号量机制和pv操作

在这里插入图片描述

大于0表示资源可用数。小于零那个数的绝对值表示阻塞队列中等待该资源的进程数
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

pv操作实现进程的互斥

在这里插入图片描述

p1在访问的话p2就不行这个就叫互斥,可以用在count那个例子(临界区 )


得看临界资源给多少,比如只有一台打印机s就是一,两台s就是2
本题互斥初始值s的信号量为1,p(mutex相当于mutex减去1)

pv操作实现进程同步

s1为1表示生产者可以放入产品到缓冲区,s2表示缓冲区有几个产品

在这里插入图片描述
消费者告诉你又可以放产品了

嗯 就是说取走产品之后通过v(s1)操作把单缓冲区的s1回置成1,也就是缓冲区又空了的意思

在这里插入图片描述

2

在这里插入图片描述

S1是表示能把多少个资源送入缓冲区,S2是表示能从缓冲区取出多少个产品
在这里插入图片描述

s2相当于你可以取走了半成品,最开是箱内没有半成品s2肯定是0呀

死锁

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
上图情况并不会引起死锁
在这里插入图片描述
这种也不会因为p1运行完后会把资源换回来供其他使用

在这里插入图片描述


在这里插入图片描述

在这里插入图片描述

进程资源图

在这里插入图片描述

先申请资源,再分配资源

p2不能运行,因为p2需要申请两个
在这里插入图片描述

非阻塞可以化简,因为他已经完成了所以把他还回去
在这里插入图片描述


在这里插入图片描述

没有分配到新的资源的是后不会释放的,所以上图是死锁

在这里插入图片描述

并不是申请了就拿走了

死锁避免

鸵鸟策略就是没有策略

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


在这里插入图片描述

满足仍需
在这里插入图片描述
运行完他会把已分配资源数还回去
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
有剩余的资金,并且满足最大资金需求才是安全的。选d

线程

在这里插入图片描述

在这里插入图片描述

多进程、多线程、协程(纤程)
一个进程有许多线程,线程不可共享线程之间的

局部性原理

在这里插入图片描述
页号淘汰是淘汰在内存中的页,确定页在内存后我们是先淘汰未被访问过的页号在这里插入图片描述
以上两种情况都没有的话我们是先淘汰未被修改过的

在这里插入图片描述
看第三位满足第一个条件但也要继续看后面,发现为被修改过在淘汰,因为最后的代价最小

分页存储管理

在这里插入图片描述

确实很简单,十六进制数的第一个数的物理块号+后三个数=物理地址
逻辑地址等于页号加逻辑地址


单缓冲区

缓冲区是非空的话不能往里面输入作业的,缓冲器非满也不能给用户传送在这里插入图片描述

双缓冲区

在这里插入图片描述
在这里插入图片描述

磁盘调度算法(移臂)

在这里插入图片描述

谁先请求先去找谁
在这里插入图片描述

谁近先访问谁

在这里插入图片描述

它的方向是朝0方向移动,先往最左边再往最右边
在这里插入图片描述

改变方向但从最里开始访问

旋转调度算法

单缓冲区处理时间(c)会被输入(T)、传送(M)覆盖
在这里插入图片描述
在这里插入图片描述
要读B首先得先花16ms到b,然后花2ms读b,在花4ms处理b
在这里插入图片描述

在这里插入图片描述

多级索引结构

在这里插入图片描述

地址项直接指向数据块的

多级索引结构

在这里插入图片描述

二级所以的磁盘索引块会继续指向自盘索引块,第二个磁盘索引块(他是一级
索引块),才会指向磁盘数据块

在这里插入图片描述
红圈是0到255因为i是二级索引每个都是256个256×256,蓝圈是65794减去一块的255


在这里插入图片描述
在这里插入图片描述

文件目录

在这里插入图片描述
文件目录不能损坏会影响计算机使用

目录结构

在这里插入图片描述
多级目录结构是解决一级和二级目录的问题

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

位示图

字节跟字是两种概念,一个字节是等于8位的,一个字字长是根据计算机的类型决定的

在这里插入图片描述
物理块数量决定位士图大小

在这里插入图片描述
在这里插入图片描述

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

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

相关文章

“老司机”机器视觉工程师警告,硬件,软件,固件,程序使用新版本务必谨慎

做任何事情之前,程序先保存。没保存,真的会哭的。千万别保存在系统盘。​ 机器视觉最终的目的解决是什么问题?项目验收结束。 如果公司不知道或者希望去测试新的东西,要积极主动去使用,也会学到很多新的东西&#xff…

Java版本企业电子招投标采购系统源代码——功能模块功能描述+数字化采购管理 采购招投标

​ 功能模块: 待办消息,招标公告,中标公告,信息发布 描述: 全过程数字化采购管理,打造从供应商管理到采购招投标、采购合同、采购执行的全过程数字化管理。通供应商门户具备内外协同的能力,为外…

塔望食研院丨百年益生菌,千亿市场正蓝海!

2022年12月塔望咨询开设塔望食品大健康消费研究院(简称塔望食研院)栏目,塔望食研院以“为食品行业品牌高质量发展赋能”为理念,将不定期发布食品大健康行业研究、消费研究报告。塔望食研院致力于结合外部数据、消费调研数据、企业…

Mybatis学习基础篇(一)——使用Maven快速搭建一个mybatis项目,并实现简单的增删改查

题外话: 在了解mybatis框架之前,我先说明一句,目前主流的框架技术层出不穷,每个人都有自己喜欢的技术框架,自己喜欢用就行。技术并没有高低之分,喜欢用就用,虽然目前大部分人都喜欢向新技术看齐…

C++、STL标准模板库和泛型编程 ——迭代器、 算法、仿函数(侯捷)

C、STL标准模板库和泛型编程 ——迭代器、 算法、仿函数 (侯捷) 迭代器iterator_category 算法accumulatefor_eachreplacecountfindsortbinary_search 仿函数 functors(六大部件中最简单的一种!) 使用一个东西,却不明白它的道理&a…

4月21日第壹简报,星期五,农历三月初二

4月21日第壹简报,星期五,农历三月初二坚持阅读,静待花开1. 推特拒向大模型免费开放数据!马斯克威胁起诉微软;Reddit宣布不再向大模型免费开放数据,要求科技巨头付费使用API接口。2. 浙江:鼓励杭…

2023.04.24 c++第六讲

作业&#xff1a; 1. 手动实现顺序栈&#xff0c;要求实现数据结构中&#xff0c;所有栈的相关操作 #include <iostream> #define MAXSIZE 20 //宏定义&#xff0c;栈的最大容量 using namespace std;template <typename T> class stacklink { pri…

FBEC大会 | 瑞云科技 CTO 赵志杰:元宇宙时代的基础设施——实时云渲染

​ FBEC未来商业生态链接大会于2023年2月24日在深圳福田大中华喜来登酒店盛大召开&#xff0c;本次大会由广东省游戏产业协会、深圳市互联网文化市场协会指导&#xff0c;陀螺科技主办。 大会以“勇毅前行逐光而上”为主题&#xff0c;以具有行业前瞻洞察的“探索者”为视角&a…

Three.js+TypeScript+Webpack学习记录(二)

使用环境参考 Node.js v16.19.1 正文 跟着文档画个线 看看 Three 的官方文档&#xff0c;起步 -> 画线 -> 没了&#xff1f;&#xff01;&#xff01; 不管怎么说&#xff0c;先画个线吧。 import * as THREE from threeconst scene new THREE.Scene() const camer…

PyTorch深度学习实战 | 基于深度学习的电影票房预测研究

基于深度学习的映前票房预测模型(Cross&Dense网络结构模型)&#xff0c;该模型通过影片基本信息如&#xff1a;电影类型、影片制式、档期和电影的主创阵容和IP特征等信息对上映影片的票房进行预测。 本篇采用451部电影作为训练模型&#xff0c;最后再在194部影片上进行测试…

【计网 从头自己构建协议】一、libpcap 介绍 手撕以太网帧

上一篇&#xff1a;IndexError: list index out of range 下一篇&#xff1a;[【计网 从头自己构建协议】二、收发 ARP 请求帧与响应帧] 介绍 理论的学习总是枯燥的&#xff0c;想要加深对理论的理解&#xff0c;最好的方法就是自己实践一遍。 想要亲手实现各种协议&#xf…

【音视频第17天】RTSP、RTMP协议初识

被叫去搞直播了&#xff0c;悲喜交加。先学习一下基本的技术栈&#xff0c;RTSP RTMP HTTP 先简单随便看看吧。 目录 什么是流媒体协议RTMPRTMP 工作原理 RTSPRTSP 工作原理 RTMP 与 RTSP 区别详细看看RTSP简介RTSP交互流程OPTIONSDESCRIBESETUPPLAYPAUSESET_PARAMETERGET_PAR…

春招,进阿里了....

个人背景是东北某 985 科班本硕&#xff0c;做的 测试开发&#xff0c;有两个自己写的小项目。下面是一些印象比较深刻的面试题 阿里一面 什么是软件测试&#xff1f; 软件测试过程中会面向哪些群体&#xff1f; 开发一个软件都要经过哪些阶段&#xff1f; 什么是黑盒测试&…

八年软件测试生涯,是时候做出改变了

五年前&#xff0c;我在南方的大城市&#xff1a;广州&#xff0c;做着一个快乐的游戏测试&#xff0c;工作不太忙&#xff0c;对一切技术充满了好奇心。测试工作不专业&#xff0c;也不受重视。但我有自己的快乐。工作不忙的时候&#xff0c;我今天学学Python&#xff0c;明天…

什么是客户服务平台?

在社交媒体和智能手机出现之前&#xff0c;品牌主要通过单向广告渠道与客户互动。社交媒体打破了这种自上而下的动态&#xff0c;以前所未有的方式打开了对话&#xff0c;将客户包括在内。 品牌不再控制客户对人们分享公司内容的行为。人们可以点击离开&#xff0c;向左滑动&a…

Python-pyppeteer解决微软Microsoft的登录机器人验证(8)

前言 本文是该专栏的第8篇,结合优质项目案例,让你精通使用Pyppeteer,后面会持续分享Pyppeteer的干货知识,记得关注。 在注册微软Microsoft账号或者注册outlook邮箱账号的时候,会遇到如下机器人验证: 是的,你可能第一眼看到这个验证页面,首先会想到是定位它的页面元素N…

非常详细的阻抗测试基础知识

编者注&#xff1a;为什么要测量阻抗呢&#xff1f;阻抗能代表什么&#xff1f;阻抗测量的注意事项... ...很多人可能会带着一系列的问题来阅读本文。不管是数字电路工程师还是射频工程师&#xff0c;都在关注各类器件的阻抗&#xff0c;本文非常值得一读。全文13000多字&#…

Vue CLI 服务

使用命令 在一个 Vue CLI 项目中&#xff0c;vue/cli-service 安装了一个名为 vue-cli-service 的命令。你可以在 npm scripts 中以 vue-cli-service、或者从终端中以 ./node_modules/.bin/vue-cli-service 访问这个命令。 这是你使用默认 preset 的项目的 package.json&…

电脑突然变成绿屏错误代码无法使用怎么办?

电脑突然变成绿屏错误代码无法使用怎么办&#xff1f;有用户使用电脑的时候&#xff0c;电脑桌面变成了绿屏的显示&#xff0c;所有的操作无法继续进行。遇到这个问题要怎么去进行解决呢&#xff1f;来看看详细的解决方法教学吧。 准备工作&#xff1a; 1、U盘一个&#xff08;…

(原创)Flutter基础入门:手把手教你搭建Flutter混合项目

前言 Flutter是Google开源的构建用户界面&#xff08;UI&#xff09;工具包 支持在不同平台构建一致的ui效果 但在实际业务中&#xff0c;一般不会整个APP都用纯Flutter开发 尤其一些老的项目&#xff0c;会采用接入Flutter的方式来混合开发 那么今天就主要讲一下如何搭建一个…