操作系统 复习笔记
操作系统的目标和作用
操作系统的目标
1.方便性
2.有效性
3.可扩展性
4.开放性
操作系统的作用
1.OS作为用户与计算机硬件系统之间的接口
2.OS作为计算机系统资源的管理者
3.OS实现了对计算机系统资源的抽象
推动操作系统发展的主要动力
1.不断提高计算机系统资源的利用率
2.方便用户
3.器件不断更新换代
4.计算机体系结构不断发展
5.不断提出新的应用需求
未配置操作系统的计算机系统
1.人工操作方式
缺点:
1.用户独占全机
2.CPU等待人工操作
2.脱机I/O方式
为了解决人机矛盾以及CPU和I/O设备之间速度不匹配的的矛盾,20世纪50年代出现了脱机I/O技术
优点:
1.减少了CPU空闲时间
2.提高了I/O速度
单道批处理系统
处理过程
为了实现对作业的连续处理,需要先把一批作业以脱机I/O方式输入到磁带上,并在系统中中配上监督程序。在它的控制下,这批作业能一个接一个地被连续处理。
处理过程:
首先由监督程序将磁带上的第一个作业装入内存,并把控制权交给该作业,该作业处理完成时,又把运行控制权交给监督程序,再由监督程序把磁带上的第二个作业调入内存。
缺点
系统中的资源得不到充分利用。这是因为在内存中仅有一道程序,每逢该程序在运行中发出I/O请求后,CPU就会处于等待状态,并且需要在该程序I/O完成后才能继续进行。I/O设备的低速性能使得CPU的利用率显著降低
为了能在系统中运行较大的作业,通常在计算机中都配置了较大容量的内存,但实际情况是有80%以上作业都属于中小型作业,会造成内存的浪费
多道批处理系统
基本概念
为了进一步提高资源的利用率和系统吞吐量,在20世纪60年代中期引入了多道程序设计技术,由此形成了多道批处理系统。
在该系统中,用户提交的作业会被优先放在外存上,并排成一个“队列”,称为“后备队列”,然后由作业调度程序按一定的算法从后备队列中选择若干个作业调入内存,使他们共享CPU和系统中的各种资源。因为装有若干道程序,这样便可以在运行程序A时,利用其因I/O操作而暂停执行时的CPU空档时间,在调度另一道程序B运行。可以保持CPU处于忙碌状态。
优缺点
优点:
1.资源利用率高
2.系统吞吐量大
3.平均周转时间长
4.无交互能力
多道批处理系统需要解决的问题
1.争用处理机的问题
2.内存分配和保护问题
3.I/O设备分配问题
4.文件的组织与管理问题
5.作业管理问题
6.用户与系统的接口问题
OS的定义:
OS是一组能有效地组织和管理计算机硬件和软件资源,合理地对各类作业进行调度,以及方便用户使用的程序的集合
分时系统
推动分时系统形成和发展的主要动力,是为了满足用户对人机交互的需求
用户的需求具体表现在以下几个方面:
1.人机交互
2.共享主机
特征
多路性
独立性
交互性
及时性
实时系统
系统的正确性不仅由计算的逻辑结果来确定,而且还取决于产生结果的时间
主要特征是将时间作为关键参数
必须对所接受的信号做出实时或者及时的反应
类型
1.工业控制系统
2.信息查询系统
3.多媒体系统
4.嵌入式设备
任务的类型
1.周期性实时任务和非周期性实时任务
周期性实时任务是指这样一类任务:外部设备周期性地发出激励信号给计算机,要求其周期性的循环执行,以便周期性地控制某外部设备。
非周期性实时任务并无明显的周期性,但都必须联系着一个截止时间。两种:
开始截止时间,完成截止时间
2.硬实时任务和软实时任务
硬实时任务是指系统必须满足任务对截止时间的要求,否则可能出现难以预测的结果
软实时任务也联系着一个截止时间,但并不严格,若偶尔错过了任务的截止时间,则其对系统产生的影响也不会太大
微机操作系统
1.单用户单任务OS
2.单用户多任务OS
3.多用户多任务OS
嵌入式操作系统
与通用计算机不同,嵌入式计算机是为了实现某个特定的功能而设计的系统。
特点
1.系统内核小
2.系统精简
3.实时性高
4.具有可配置性
网络操作系统
网络OS是用于在计算机网络环境下对网络资源进行管理和控制,实现数据通信及对网络资源的共享,为用户提供网络资源接口的一组软件和规程的集合。
特征
硬件独立性
接口一致性
资源透明性
系统可靠性
执行并行性
操作系统的基本特征
并发
共享
虚拟
异步
相关文章:
操作系统 复习笔记
操作系统的目标和作用 操作系统的目标 1.方便性 2.有效性 3.可扩展性 4.开放性 操作系统的作用 1.OS作为用户与计算机硬件系统之间的接口 2.OS作为计算机系统资源的管理者 3.OS实现了对计算机系统资源的抽象 推动操作系统发展的主要动力 1.不断提高计算机系统资源的…...
Java中实现单例模式的方式
1. 使用静态内部类实现单例模式 在Java中,使用静态内部类实现单例模式是一种常见而又有效的方式。这种方式被称为“静态内部类单例模式”或者“Holder模式”。这种实现方式有以下优点: 懒加载(Lazy Initialization):静…...

Vue3-01-创建项目
环境准备 1.需要用到 16.0 以及更高版本的 node.js 2.使用vscode编辑器进行项目开发可以在命令行中查看node的版本号: node -v创建项目 1.准备一个目录 例如,我创建项目的时候是在该目录下进行的;D:\projectsTest\vue3project2.执行创建命令(*&#x…...

Go 语言中的反射机制
欢迎大家到我的博客浏览,更好的阅读体验请点击 反射 | YinKais Blog 反射在大多数的应用和服务中并不常见,但是很多框架都依赖 Go 语言的反射机制简化代码。<!--more-->因为 Go 语言的语法元素很少、设计简单,所以它没有特别强的表达能…...
[leetcode 前缀和]
525. 连续数组 M :::details 给定一个二进制数组 nums , 找到含有相同数量的 0 和 1 的最长连续子数组,并返回该子数组的长度。 示例 1: 输入: nums [0,1] 输出: 2 说明: [0, 1] 是具有相同数量 0 和 1 的最长连续子数组。示例 2: 输入: nums [0,1,0] 输出: …...

Python与ArcGIS系列(十五)根据距离抓取字段
目录 0 简述1 实例需求2 arcpy开发脚本0 简述 在处理gis数据的时候,会遇到这种需求:将一个图层与另一个图层中相近的要素进行字段赋值。本篇将介绍如何利用arcpy及arcgis的工具箱实现这个功能。 1 实例需求 为了介绍这个功能的实现,我们需要有一个特定的功能需求。在这里选…...
YOLOv8分割训练及分割半自动标注
YOLOv8是基于目标检测算法YOLOv5的改进版,它在YOLOv5的基础上进行了优化和改进,加入了一些新的特性和技术,如切片注意力机制、骨干网络的选择等。 本文以yolov8-seg为基准,主要整理分割训练流程及使用v8分割模型进行半自动标注的过程。 一、v8-seg训练 1.1 环境配置 github…...
jsp页面通过class或者id获取a标签上的属性的值
要通过class和id两种方式获取a标签上的某个属性的值,或者给其赋值,可以使用JavaScript。以下是两种方法的示例: <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name&q…...

题目:美丽的区间(蓝桥OJ 1372)
题目描述: 解题思路: 采用双指针的快慢指针。 图解 可以采用前缀和,但会相较麻烦。 题解: #include<bits/stdc.h> using namespace std;const int N 1e5 9; int a[N];// 因为是连续区间(连续区间࿱…...

解决:During handling of the above exception, another exception occurred
解决:During handling of the above exception, another exception occurred 文章目录 解决:During handling of the above exception, another exception occurred背景报错问题报错翻译报错位置代码报错原因解决方法参考内容:今天的分享就到…...

计算机基础知识65
cookie和session的使用 # 概念:cookie 是客户端浏览器上的键值对 # 目的:为了做会话保持 # 来源:服务端写入的,服务端再返回的响应头中写入,浏览器会自动取出来 存起来是以key value 形式,有过期时间、path…...

Python开发运维:Python垃圾回收机制
目录 一、理论 1.Python垃圾回收机制 一、理论 1.Python垃圾回收机制 (1)引⽤计数器 1)环状双向链表 refchain 在python程序中创建的任何对象都会放在refchain链表中。 name "david" age 20 hobby ["篮球",游泳…...
ros2/ros安装ros-dep||rosdep init错误
第一个错误的做法: sudo apt-get install python3-pip sudo pip3 install 6-rosdep sudo 6-rosdep 如果使用上述代码将会摧毁整个系统,不重装系统反正我是搞不定啊,因为我不知道那个写软件的人到底做了什么。因为这个我安装的版本是humble&…...

《深入理解计算机系统》学习笔记 - 第四课 - 机器级别的程序
Lecture 05 Machine Level Programming I Basics 机器级别的程序 文章目录 Lecture 05 Machine Level Programming I Basics 机器级别的程序intel 处理器的历史和体系结构芯片的构成AMD 公司(Advanced Micro Devices,先进的微型设备) C, 汇编, 机器代码定义汇编/机器…...
云原生(Cloud Native)——概念,技术,背景,优缺点,实践例子
云原生(Cloud Native)是一种构建和运行应用程序的方法,这些应用程序充分利用云计算的优势。云原生应用程序通常设计为在现代、动态的环境中运行,如公共云、私有云和混合云。这种方法强调微服务架构、容器化、自动化、易于管理和可…...
ElasticSearch之线程池
ElasticSearch节点可用的CPU核的数量,通常可以交给ElasticSearch来自行检测和判定,另外可以在elasticsearch.yml中显式指定。样例如下: node.processors: 2如下表格中的processors即CPU核的数量。 线程池的列表 线程池名称类型线程数量队列…...

StoneDB-8.0-V2.2.0 企业版正式发布!性能优化,稳定性提升,持续公测中!
11月,StoneDB 新版本如期而至,这一个月来我们的研发同学加班加点,持续迭代:在 2.2.0 版本中,我们针对用户提出的需求和做出了重量级更新,修复了一些已知和用户反馈的 Bug,同时对部分代码进行…...

【数据结构 — 排序 — 插入排序】
数据结构 — 排序 — 插入排序 一.排序1.1.排序的概念及其运用1.1.1排序的概念1.1.2排序运用1.1.3 常见的排序算法 二.插入排序2.1.直接插入排序2.1.1.算法讲解2.1.2.代码实现2.1.2.1.函数定义2.1.2.2.算法接口实现2.1.2.3.测试代码实现2.1.2.4.测试展示 2.2.希尔排序2.2.1.算法…...

物联网后端个人第十四周总结
物联网方面进度 1.登陆超时是因为后端运行的端口和前端监听的接口不一样,所以后端也没有报错,将二者修改一致即可 2.登录之后会进行平台的初始化,但是初始化的时候会卡住,此时只需要将路径的IP端口后边的内容去掉即可 3.阅读并完成了jetlinks…...
在uniapp中,可以使用那些预定义的样式类
u-flex:设置元素为弹性布局。u-flex-v:设置元素为纵向弹性布局。u-flex-h:设置元素为横向弹性布局。u-p-10:设置元素的上下左右边距为10rpx。u-p-t-10:设置元素的上边距为10rpx。u-p-b-10:设置元素的下边距…...

网络编程(Modbus进阶)
思维导图 Modbus RTU(先学一点理论) 概念 Modbus RTU 是工业自动化领域 最广泛应用的串行通信协议,由 Modicon 公司(现施耐德电气)于 1979 年推出。它以 高效率、强健性、易实现的特点成为工业控制系统的通信标准。 包…...

日语AI面试高效通关秘籍:专业解读与青柚面试智能助攻
在如今就业市场竞争日益激烈的背景下,越来越多的求职者将目光投向了日本及中日双语岗位。但是,一场日语面试往往让许多人感到步履维艰。你是否也曾因为面试官抛出的“刁钻问题”而心生畏惧?面对生疏的日语交流环境,即便提前恶补了…...
Cursor实现用excel数据填充word模版的方法
cursor主页:https://www.cursor.com/ 任务目标:把excel格式的数据里的单元格,按照某一个固定模版填充到word中 文章目录 注意事项逐步生成程序1. 确定格式2. 调试程序 注意事项 直接给一个excel文件和最终呈现的word文件的示例,…...
SkyWalking 10.2.0 SWCK 配置过程
SkyWalking 10.2.0 & SWCK 配置过程 skywalking oap-server & ui 使用Docker安装在K8S集群以外,K8S集群中的微服务使用initContainer按命名空间将skywalking-java-agent注入到业务容器中。 SWCK有整套的解决方案,全安装在K8S群集中。 具体可参…...

【Java_EE】Spring MVC
目录 Spring Web MVC 编辑注解 RestController RequestMapping RequestParam RequestParam RequestBody PathVariable RequestPart 参数传递 注意事项 编辑参数重命名 RequestParam 编辑编辑传递集合 RequestParam 传递JSON数据 编辑RequestBody …...

用docker来安装部署freeswitch记录
今天刚才测试一个callcenter的项目,所以尝试安装freeswitch 1、使用轩辕镜像 - 中国开发者首选的专业 Docker 镜像加速服务平台 编辑下面/etc/docker/daemon.json文件为 {"registry-mirrors": ["https://docker.xuanyuan.me"] }同时可以进入轩…...
Caliper 配置文件解析:config.yaml
Caliper 是一个区块链性能基准测试工具,用于评估不同区块链平台的性能。下面我将详细解释你提供的 fisco-bcos.json 文件结构,并说明它与 config.yaml 文件的关系。 fisco-bcos.json 文件解析 这个文件是针对 FISCO-BCOS 区块链网络的 Caliper 配置文件,主要包含以下几个部…...
Redis的发布订阅模式与专业的 MQ(如 Kafka, RabbitMQ)相比,优缺点是什么?适用于哪些场景?
Redis 的发布订阅(Pub/Sub)模式与专业的 MQ(Message Queue)如 Kafka、RabbitMQ 进行比较,核心的权衡点在于:简单与速度 vs. 可靠与功能。 下面我们详细展开对比。 Redis Pub/Sub 的核心特点 它是一个发后…...
【JavaSE】多线程基础学习笔记
多线程基础 -线程相关概念 程序(Program) 是为完成特定任务、用某种语言编写的一组指令的集合简单的说:就是我们写的代码 进程 进程是指运行中的程序,比如我们使用QQ,就启动了一个进程,操作系统就会为该进程分配内存…...
Python+ZeroMQ实战:智能车辆状态监控与模拟模式自动切换
目录 关键点 技术实现1 技术实现2 摘要: 本文将介绍如何利用Python和ZeroMQ消息队列构建一个智能车辆状态监控系统。系统能够根据时间策略自动切换驾驶模式(自动驾驶、人工驾驶、远程驾驶、主动安全),并通过实时消息推送更新车…...