【软件设计师笔记】深入探究操作系统

【软件设计师笔记】计算机系统基础知识考点(传送门)  💖

【软件设计师笔记】程序语言设计考点(传送门) 💖

🐓 操作系统的作用

1.通过资源管理提高计算机系统的效率

2.改善人机界面向用户提供友好的工作环境

 🐓 操作系统的特征

并发性

操作系统能够同时处理多个任务或事件,即并发执行。这是通过分时系统或进程来实现的,使多个程序可以同时运行

共享性

操作系统中的资源,如内存、CPU和外部设备,可以被多个进程共享。资源共享分为互斥共享和同时访问两种方式,前者是多个进程不能同时访问同一资源,后者是多个进程可以同时访问同一资源。

虚拟性

操作系统使用虚拟技术来提供一个逻辑的实体而不是物理实体。例如,通过虚拟处理器技术,一个物理CPU可以被虚拟为多个逻辑CPU,使得每个用户都感觉有一个专用的CPU为其服务。同样,虚拟存储器和虚拟设备技术可以提供虚拟内存和虚拟外部设备。

异步性

在多道程序环境下,允许多个程序并发执行。由于资源的有限性,进程的执行走走停停,以不可预知的速度向前推进,这就是进程的异步性。异步性使得操作系统运行在一种随机的环境下,可能导致进程产生与时间有关的错误。

 🐓 操作系统的功能

处理机管理

对处理机的执行时间进行管理,采用多道程序等技术将CPU的时间合理分配给每个任务,主要包括进程控制,进程同步,进程通信和进程调度

文件管理

包括文件存储空间管理,目录管理,文件的读/写管理和存取控制

存储管理

存储管理时对主存储器空间进行管理,包括存储分配与回收,存储保护,地址映射(变换)和主存扩充

设备管理

对硬件设备的管理,包括对输入输出设备的分配,启动,完成和回收

作业管理

包括任务,界面管理,人机交互,图形界面,语音控制和虚拟现实等

 🐓 操作系统的类型

批处理操作系统(单道,多道)

分时操作系统(UNIX,多路性,独立性,交互性,及时性)

实时操作系统(快速的响应时间,有限的交互能力,高可靠性)

网络操作系统(集中模式,客户端/服务器模式,对等模式)

分布式操作系统(透明性,可靠性,高性能)

微机操作系统(Windows)

嵌入式操作系统(微型化,可定制,实时性,可靠性,易移植性)

 🐓 程序并发执行的特点

1.失去了程序的封闭性

2.程序和机器的执行程序的活动不再一一对应

3.并发程序间的互相制约性

 🐓 进程的组成

程序

描述了进程需要完成的功能

数据

程序执行时所需的数据及工作区

进程控制块(PCB)

 🐓 进程的状态

新建、就绪、运行、阻塞、终止

 🐓 原语

执行时不能被分割,要不做要么就不做

内核中所包含的原语主要又进程控制原语,进程通信原语,资源管理原语以及其他方面的原语

进程控制原语有进程创建原语,进程撤销原语,进程挂起原语,进程激活源于,进程阻塞原语,以及进程唤醒原语等

 🐓 进程之间的同步

进程间完成一项任务时直接发生相互作用的关系

 🐓 进程之间的互斥

系统中各个进程互斥使用临界资源(进程可以共享各类资源,但有些资源一次只能共一个进程使用)

 🐓 信号量的意义

信号量时一个整型变量。根据控制对象的不同赋予不同的值

公用信号量:实现进程间的互斥,初值为1或资源的数目

私用信号量:实现进程间的同步,处置为0或某个正整数

若S>=0表示某资源的可用数,若S<0,则其绝对值表示阻塞队列中等待该资源的进程数

问题

编程难度大,效率低

 🐓 高级通讯方式

共享存储模式

互相通信的进程共享某些数据结构实现进程之间的通信

消息传递模式

进程间的数据交换以消息为单位,直接利用系统提供的通信命令(原语)来实现通信。比如send(A),receive(A)

管道通信

使用管道连接一个读进程一个写进程,以实现他们之间通信的共享文件、相关到(共享文件)提供输入的发送进程,以字符流的形式将大量的数据送入管道,而接收进程可以从管道中接收大量的数据。

 🐓 管程

由一些共享数据,一组能为并发进程所执行的作用在共享数据上的操作的集合,初始代码以及存取全组成的一种同步机制

管程的结构

 🐓 进程调度

在某些操作系统中,一个座椅从提交到完成需要经历高,中,低三级调度

高级调度

高级调度又称作业调度,它决定处于输入池中哪一个后备作业可以调入主系统做好运行的准备,成为一个或一组就绪进程。

中级调度

中级调度它决定于交换区中的哪个就绪进程可以调入内存,以便直接参与CPU的京城,在内存资源紧张时。为了将进程调入内存,必须将内存中处于阻塞状态的进程调出至交换区,以便为调入进程腾出空间。

低级调度

低级调度又称进程调度,它决定处于内存中的哪个就绪进程可以占用CPU。

进程调度算法

先来先服务算法(FCFS)

按照作业提交或进程成为就绪状态的先后顺序分配CPU

特点:有利于长作业,而不利于多作业,可能会出现饿死的状况,有利于CPU繁忙的作业,而不利于I/O繁忙的作业,主要用于宏观调度

时间片轮转算法

时间片轮换主要用于微观调度,为了提高资源利用率,通过时间片转换提高进程并发性和响应时间特性,从而提高资源利用率

固定时间片

分配每个进程相等的时间片,使所有进程都能公平执行

可变时间片

根据进程不同的要求对时间片的大小实时进行修改,可以更好的提高效率

优先级调度算法

每一个进程都有一个优先数,数值大的表示优先级高,系统在调度时总选择优先数大的占用CPU

静态优先级

进程的优先级在创建时就确定,知道进程终止都不会改变

动态优先级

在创建进程时赋予一个优先级,在进程运行过程中可以改变,以便获得更好的调度性能

多级反馈调度算法

时间片轮转算法和优化级算法的综合与发展。

优点:照顾了段进程以提高系统吞吐量,缩短了平均周转时间,更好的I/O设备利用率和响应时间,不必估计进程的执行时间。

 🐓 死锁

两个或两个以上的进程在执行过程中,由于竞争资源或者由于彼此通信而造成的一种阻塞的现象,若无外力作用,它们都将无法推进下去。此时称系统处于死锁状态或系统产生了死锁,这些永远在互相等待的进程称为死锁进程。

死锁产生的原因

1.互斥条件:一个资源每次只能被一个进程使用。

2.占有且等待:一个进程因请求资源而阻塞时,对已获得的资源保持不放。

3.不可强行占有:进程已获得的资源,在末使用完之前,不能强行被其他进程剥夺。

4.循环等待条件:若干进程之间形成一种头尾相接的循环等待资源关系。

死锁的预防

预先静态分配法:破坏了‘不可剥夺条件’,预先分配所需资源,保证不等待资源。

银行加算法:先计算,如果分配资源后系统进入不安全状态时就不予分配

检测:系统定时运行死锁检测程序

解除:资源剥夺法+撤销进程法

 🐓 安全状态

系统能过按照某种顺序来为每个进程分配其所需资源,使每个进程都能顺序完成

 🐓 存储器管理

存储器时计算机系统中的关键性资源,是存放各种信息的重要场所。

分配和回收主存空间,提高主存利用率,扩展主存,有效保护主存信息

 🐓 存储器的层次结构

1.CPU寄存器:这是存储器层次结构中的最高层,访问速度最快,但容量最小。CPU寄存器用于暂存指令、数据和地址,是CPU的一部分。

2.高速缓存(Cache):高速缓存是位于CPU和主存储器之间的存储器,其访问速度较快,容量相对较小。高速缓存用于存放经常访问的指令和数据,以减少对主存储器的访问次数。

3.主存储器(Main Memory):主存储器是计算机系统中的主要存储区域,容量较大,但访问速度相对较慢。主存储器用于存放操作系统、应用程序和数据等。

4.辅助存储器(Secondary Storage):辅助存储器是计算机系统中的外部存储设备,如硬盘、固态硬盘等。其容量比主存储器大得多,但访问速度较慢。辅助存储器用于存放大量的数据和程序等。

 🐓 地址重定位

讲逻辑地址转变成物理地址的过程,可分为静态重定位和动态重定位

静态重定位

程序装入主存时已经完成了逻辑地址到物理地址的变换,在程序执行期间不会再次发生变化

动态重定位

程序运行期间完成逻辑地址到物理地址的交换。其中实现机制需要依赖硬件地址变换机构

 🐓 虚拟存储页面置换算法

1.最近最少使用(Least Recently Used,LRU)算法:该算法选择最长时间未被使用的页面进行替换。当一个新的页面需要被加载到内存中时,LRU算法会检查内存中是否存在可用的空闲页面,如果有,则选择最长时间未被使用的页面进行替换;否则,将选择一个暂时不会被使用或者最不常用的页面进行替换。

2.先进先出(First In First Out,FIFO)算法:该算法选择最早加载到内存的页面进行替换。当一个新的页面需要被加载到内存中时,FIFO算法会检查内存中是否存在可用的空闲页面,如果有,则选择最早加载的页面进行替换;否则,将选择一个暂时不会被使用或者最不常用的页面进行替换。

3.最不经常使用(Least Frequently Used,LFU)算法:该算法选择最不经常使用的页面进行替换。当一个新的页面需要被加载到内存中时,LFU算法会检查内存中是否存在可用的空闲页面,如果有,则选择最不经常使用的页面进行替换;否则,将选择一个暂时不会被使用或者最不常用的页面进行替换。

 🐓 设备管理的目标

1.保障设备正常运行:通过科学的管理和维护,确保设备能够正常运行,满足生产或服务的需求。

2.提高设备利用率:通过合理的调度和使用,提高设备的利用率,降低闲置和浪费,从而节约成本。

3.预防性维护和维修:通过预防性的维护和维修措施,降低设备的故障率,提高设备的使用寿命。

4.优化设备配置:根据生产或服务的需要,合理配置设备资源,提高设备的使用效率。

5.降低能耗和环保:在设备的使用过程中,注重节能减排和环保,降低能耗和减少污染。

6.安全管理:确保设备的安全使用,防止设备事故的发生,保障人员和企业的安全。

 🐓 磁盘调度算法

1.先来先服务算法(FCFS):这种算法按照请求到达的顺序进行服务,优先级最高的是最先请求。

2.最短寻道时间优先算法(SSTF):这种算法选择距离当前磁头位置最近的请求进行服务,以最小化寻道时间。

3.扫描算法(SCAN):这种算法从一端向另一端移动磁头,并按照遇到的请求顺序进行服务。当磁头移动到一端时,它会改变移动方向,并继续服务请求。

4.循环扫描算法(C-SCAN):这种算法类似于SCAN算法,但是当磁头到达一端时不会改变移动方向,而是继续在一个方向上移动,直到处理完所有的请

 🐓 文件

具有符号名的,在逻辑上具有完整意义的一组相关信息项的集合

文件系统

操作系统中实现文件统一管理的一组软件和相关数据的集合,专门负责管理和存取文件信息的软件机构

文件存储管理方案

文件系统的安全

一类涉及到技术,管理。法律,道德,政治等问题,

另一类涉及操作系统的安全机制

文件系统的可靠性

1.备份和恢复:备份是保障数据安全的重要手段,可以通过定期备份和增量备份来减少数据丢失的风险。同时,恢复也是必要的操作,可以通过备份数据快速恢复文件系统。

2.错误检测和纠正:文件系统应该具备错误检测和纠正的能力,例如通过校验和等方式来检测数据的完整性,以及通过冗余等方式来纠正错误数据。

3.持久化和稳定存储:文件系统应该能够持久化存储数据,并且在系统故障或者掉电等情况下保证数据的稳定性。

4.访问控制和加密:文件系统应该提供访问控制和加密等安全措施,以保护数据的机密性和完整性。

5.一致性检查:文件系统应该定期进行一致性检查,以确保数据的正确性和一致性。

 🐓 作业

系统为完成一个用户的计算任务所作的工资总和

作业状态

1.后备状态:作业全部输入到计算机系统中,由操作系统将其存放在输入井中,等待作业调度程序调度。

2.提交状态:当作业提交给计算机中心,通过输入设备送入计算机系统的过程状态称为提交状态。

3.执行状态:一旦作业被作业调度程序选中,为其分配了必要的资源,并为其建立相应的进程后,该作业便进入了执行状态。

4.完成状态:当作业正常结束或异常终止时,作业进入完成状态。

作业调度算法

1.先来先服务(FCFS):按照作业提交或进程变为就绪状态的先后次序,分派CPU。当前作业或进程占用CPU,直到执行完或阻塞,才出让CPU(非抢占方式)。在作业或进程唤醒后(如I/O完成),并不立即恢复执行,通常等到当前作业或进程出让CPU。有利于CPU繁忙的作业,而不利于I/O繁忙的作业。

2.轮转法(Round Robin):让每个进程在就绪队列中的等待时间与享受服务的时间成正比例。将系统中所有的就绪进程按照FCFS原则,排成一个队列。每次调度时将CPU分派给队首进程,让其执行一个时间片。在一个时间片结束时,发生时钟中断。调度程序据此暂停当前进程的执行,将其送到就绪队列的末尾,并通过上下文切换执行当前的队首进程。

3.优先级调度算法(HPF):每一个作业规定一个表示该作业优先级别的整数,当需要将新的作业由输入井调入内存处理时,优先选择优先数最高的作业。

4.多级反馈队列调度算法:将时间片轮转与优先级调度相结合,把进程按优先级分成不同的队列,先按优先级调度,优先级相同的,按时间片轮转。优点是兼顾长短作业,有较好的响应时间,可行性强,适用于各种作业环境。

5.高响应比优先调度算法:根据“响应比=(进程执行时间+进程等待时间)/ 进程执行时间”这个公式得到的响应比来进行调度。高响应比优先算法在等待时间相同的情况下,作业执行的时间越短,响应比越高,满足段任务优先,同时响应比会随着等待时间增加而变大,优先级会提高,能够避免饥饿现象。优点是兼顾长短作业,缺点是计算响应比开销大,适用于批处理系统。

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

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

相关文章

nodejs 事件循环

浏览器的事件循环比较熟悉了&#xff0c;也来了解下 node 的。 参考来源&#xff1a; https://nodejs.org/en/guides/event-loop-timers-and-nexttick/ https://juejin.cn/post/6844903999506923528 事件循环分为 6 个阶段&#xff0c;图中每个框都是一个阶段&#xff0c;每个阶…

Acwing---827.双链表

双链表 1.题目2.基本思想3.代码实现 1.题目 实现一个双链表&#xff0c;链表初始为空&#xff0c;支持5种操作&#xff1a; 在最左侧插入一个数&#xff1b;在最右侧插入一个数&#xff1b;将第 k k k 个插入的数删除&#xff1b;在第 k k k个插入的数左侧插入一个数&#…

安装Canal

安装和配置Canal 下面我们就开启mysql的主从同步机制&#xff0c;让Canal来模拟salve 1.开启MySQL主从 Canal是基于MySQL的主从同步功能&#xff0c;因此必须先开启MySQL的主从功能才可以。 这里以之前用Docker运行的mysql为例&#xff1a; 1.1.开启binlog 打开mysql容器…

景联文科技受邀出席全国信标委生物特征识别分委会二届五次全会

全国信息技术标准化技术委员会生物特征识别分技术委员会&#xff08;SAC/TC28/SC37&#xff0c;以下简称“分委会”&#xff09;二届五次全会于2024年1月30日在北京顺利召开&#xff0c;会议由分委员秘书长王文峰主持。 分委会由国家标准化管理委员会批准成立&#xff0c;主要负…

社交平台内容创作未来会有哪些方向?

内容为王的时代下&#xff0c;企业如果想要通过社交平台占据用户心智&#xff0c;可以找到适合自己的内容营销策略&#xff0c;好的内容能够与消费者建立信任关系&#xff0c;今天 媒介盒子就来和大家聊聊&#xff1a;社交平台内容创作的方向。 一、 内容逐渐细分 相比于原来…

WorkPlus打造个性化移动门户,实现协作创新与工作高效

在移动办公逐渐成为企业工作方式的主流趋势下&#xff0c;构建高效的移动门户平台对于提升信息传递与团队协作效能至关重要。移动门户作为企业信息交流和协作的重要枢纽&#xff0c;WorkPlus以其领先的功能和卓越的性能&#xff0c;助力企业实现智能移动门户平台的搭建。 为何…

在WORD中设置公式居中编号右对齐设置方式

1 软件环境 Office Microsoft Office LTSC 专业增强版2021 2 最终效果 3 操作步骤 编辑公式&#xff1b;光标定位到公式的最后&#xff08;不是行的最后&#xff09;&#xff1b;输入#编号光标定位在公式最后&#xff08;不是行的最后&#xff09;&#xff0c;按Enter键回车…

R3 下动态加载的模块的保护(一)

前言 在 R3 下防护动态加载的模块不被意外卸载需要很多的策略&#xff0c;比如&#xff1a;LDR 断链、VAD 记录擦除、PE 头擦除、修改入口函数、内存注入等。文本我们将浅析模块静态化技术这一项技术。模块静态化是一个很常见的模块保护技术&#xff0c;它通过修改模块的引用计…

建筑工程答案在哪搜?九个免费好用的大学生搜题工具 #经验分享#知识分享

大学生必备&#xff0c;这条笔记大数据一定定要推给刚上大学的学弟学妹&#xff01;&#xff01; 1.七燕搜题 这是一个公众号 解题步骤详细解析&#xff0c;帮助你理解问题本质。其他考试领域也能找到答案。 下方附上一些测试的试题及答案 1、据《素问太阴阳明论》所论&…

爬取58二手房并用SVR模型拟合

目录 一、前言 二、爬虫与数据处理 三、模型 一、前言 爬取数据仅用于练习和学习。本文运用二手房规格sepc(如3室2厅1卫)和二手房面积area预测二手房价格price&#xff0c;只是练习和学习&#xff0c;不代表如何实际意义。 二、爬虫与数据处理 import requests import cha…

关于Clone

关于Clone 一般情况下&#xff0c;如果使用clone()方法&#xff0c;则需满足以下条件。 1、对任何对象o&#xff0c;都有o.clone() ! o。换言之&#xff0c;克隆对象与原型对象不是同一个对象。 2、对任何对象o&#xff0c;都有o.clone().getClass() o.getClass()。换言之&a…

背景样式de七七八八

一&#xff0c;简介 背景属性可以设置背景颜色、背景图片、背景平铺、背景图片位置、背景图像固定等。 1.1背景颜色&#xff08;background-color&#xff09; background-color&#xff1a;transparent/color&#xff1b; 默认值为transparent&#xff08;透明的&#xff…

Rust 第一个rust程序Hello Rust️

文章目录 前言一、vscode 安装rust相关插件二、Cargo New三、vscode调试rustLLDB 前言 Rust学习系列。今天就让我们掌握第一个rust程序。Hello Rust &#x1f980;️。 在上一篇文章我们在macOS成功安装了rust。 一、vscode 安装rust相关插件 以下是一些常用的 Rust 开发插件…

从传统到现代:易点易动固定资产管理系统利用RFID技术高效管理固定资产

近年来,随着RFID技术的发展与成熟,它被越来越多地应用于企业资产管理领域。易点易动推出的固定资产管理系统就将RFID技术深度整合,实现了企业固定资产管理模式的跨越式变革。 传统管理模式的不足 传统的手工登记式管理模式在企业固定资产管理中存在很多问题: 信息录入缺乏规范…

幻兽帕鲁服务器自动重启备份-python

幻兽帕鲁服务器自动重启备份-python 1. 前置知识点2. 目录结构3. 代码内容4. 原理解释5. 额外备注 基于python编写的服务器全自动管理工具&#xff0c;能够实现自动定时备份存档&#xff0c;以及在检测到服务器崩溃之后自动重新启动&#xff0c;并且整合了对于frp端口转发工具的…

c语言:贪吃蛇的实现

目录 贪吃蛇实现的技术前提&#xff1a; Win32 API介绍 控制台程序&#xff08;console&#xff09; 控制台屏幕上的坐标 GetStdHandle GetConsoleCursorInfo CONSOLE_CURSOR_INFO SetConsoleCursorInfo SetConsoleCursorPosition GetAsyncKeyState 宽字符的打印 …

进程中线程使用率偏高问题排查

1. top命令查看CPU使用率高的进程 2. top -H -p 15931(进程PID) 查看进程下的线程 3. printf "%x\n" 17503(线程PID) 线程PID 10进制转16进制 0x445f 4. jstack -l 15931(JVM进程PID) 导出java进程栈信息&#xff0c;里面包含线程nid0x445f和所在的类&#xff0…

【AG32VF407】国产MCU+FPGA Verilog双边沿检测输出方波

视频讲解 [AG32VF407]国产MCUFPGA Verilog双边沿检测输出方波 实验过程 本次使用使用AG32VF407开发板中的FPGA&#xff0c;使用双clk的双边沿进行检测&#xff0c;同步输出方波 同时可以根据输出的方波检测clk的频率&#xff0c;以及双clk的相位关系&#xff0c;如下为verilog…

生活资料 伊舍小镇

生活资料 伊舍小镇 电费交付—国家电网 咨询&#xff1a;95598 用户&#xff1a;*** 查询&#xff1a;微信“国网北京电力”公众号→我的用电→余额查询→立即购电 支付&#xff1a;微信→我→服务→生活缴费→自动缴费 燃气费交付-北京燃气 咨询&#xff1a;96777 用户&am…

考研/计算机二级数据结构刷题之顺序表

目录 第一题 顺序表的初始化&#xff0c;销毁&#xff0c;头插&#xff0c;尾插&#xff0c;头删&#xff0c;尾删&#xff0c;指定位置插入&#xff0c;指定删除以及打印 第二题 移除元素 题目链接&#xff1a; OJ链接 题目详解&#xff1a;移除元素 第三题&#xff1a;删…