操作系统知识要点

一.操作系统的特性

1.并发性

在多道程序环境下,并发性是指在一段时间内,宏观上有多个程序同时运行,但实际上在单CPU的运行环境,每一个时刻只有一个程序在执行。

因此,从微观上来说,各个程序是交替、轮流执行的,如果计算机系统中有多个 CPU,则可将多个程序分配到不同 CPU 上实现并行运行。

2.共享性

共享是指操作系统中的资源(包括硬件资源和信息资源)可以被多个并发执行的进程(线程)共同使用,而不是被一个进程所独占。

3.不确定性

但由于资源有限,在多数情况下进程的执行不是一贯到底的,而是“走走停停”。例如一个进程,在 CPU上运行一段时间后,由于等待资源或某事件发生,它被暂停执行,将 CPU 转让给另一个进程执行。

系统中的进程何时执行,何时暂停,以什么样的速度向前推进,进程总共要花多少时间执行才能完成,这些都是不可预知的。

二.操作系统分类

1.批处理操作系统

分为单道批处理系统和多道批处理系统。

2.分时操作系统

在分时操作系统中,一个计算机系统与多个终端设备连接。分时操作系统是将 CPU 的工作时间划分为许多很短的时间片,轮流为各个终端的用户服务。

3.实时操作系统

实时操作系统又可以叫做实时嵌入式操作系统(拥有嵌入式操作系统的所有特点),其中实时是指计算机对于外来信息能够以足够快的速度进行处理,并在被控对象允许的时间范围内做出快速响应。

实时系统对交互能力要求不高,但要求可靠性有保障。实时系统分为实时控制系统和实时信息处理系统。

4.嵌入式操作系统

  嵌入式操作系统特点:(1) 微型化、(2) 代码质量高、(3) 专业化、(4) 实时性强、(5) 可裁减、可配置,注意通用性不是其特点。

5.网络操作系统

网络操作系统是使联网计算机能方便而有效地共享网络资源,为网络用户提供各种服务的软件和有关协议的集合。

6.分布式操作系统

分布式计算机系统是由多个分散的计算机经连接而成的计算机系统,系统中的计算机无主次之分,任意两台计算机可以通过通信交换信息。

7.微型计算机操作系统

微型计算机操作系统简称微机操作系统,常用的有 Windows、Mac OS、Linux。

8.微内核操作系统

  现代操作系统大多拥有两种工作状态,分别是核心态和用户态。一般应用程序工作在用户态,而内核模块和最基本的操作系统核心工作在核心态。

  将传统的操作系统代码放置到更高层,从操作系统中去掉尽可能多的东西,而只留下最小的核心(增强了系统的可靠性和可移植性,消息传递机制很好的提供了微内核系统对分布式系统的支持,

它系统结构清晰,有利于协作开发,拥有良好的伸缩性和扩展性,其缺点是通讯成本较高,微内核系统运行效率低于传统系统),称之为微内核。(C/S结构)

鸿蒙系统:微内核

宏内核(单体内核):unix,linux

混合内核:windows

三.进程管理

1.前趋图与PV操作

P操作:申请并占用资源,S=S-1,若S>=0,则执行P操作的进程继续执行;若S<0,则置该进程为阻塞状态 (因为无可用资源),并将其插入阻塞队列。可认为是加锁操作。

V操作:释放资源,S=S+1,若S>0,则执行V操作的进程继续执行:若S<=0,则从阻塞状态唤醒一个进程,并将其插入就绪队列(此时因为缺少资源被P操作阻塞的进程可以继续执行),然后执行V操作的进程继续。可认为解锁操作。

2.死锁

死锁资源计算:系统内有n个进程,每个进程都需要R个资源,那么其发生死锁的最大资源数为n*(R-1)。其不发生死锁的最小资源数为n*(R-1)+1。

3.进程的三态图

三态图之间的状态转换就是PV操作来控制的。

系统中资源一般分为:

CPU资源:  有 无 无 (分别对应于运行、就绪和阻塞状态)

非CPU资源:有 有 无

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

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

相关文章

jenkins搭建及流水线配置

1.安装docker curl https://mirrors.aliyun.com/repo/Centos-7.repo >> CentOS-Base-Aliyun.repomv CentOS-Base-Aliyun.repo /etc/yum.repos.d/yum -y install yum-utils device-mapper-persistent-data lvm2yum-config-manager --add-repo http://mirrors.aliyun.com/…

混沌接口压测利器Fortio:从TCP/UDP到gRPC,全方位覆盖云原生应用性能测试

#作者&#xff1a; 西门吹雪 文章目录 Fortio 安装docker 安装:MacOS安装&#xff1a;linux安装:对于http负载生成最重要的标志:Fortio server 功能 TCPUDPgRPC负载测试gRPC 负载测试在k8s或者容器中使用fortio进行压测fortio 直接在docker中作为sidecar使用 Fortio是一个微服…

MyBatisPlus 中 LambdaQueryWrapper使用

一、前言 MyBatis-Plus是一个强大的MyBatis扩展插件&#xff0c;它为MyBatis提供了许多实用的功能&#xff0c;其中之一就是LambdaQueryWrapper。LambdaQueryWrapper是一个条件构造器&#xff0c;用于构建SQL查询条件。通过使用LambdaQueryWrapper&#xff0c;我们可以以更简洁…

【笔记】数据结构与算法

参考链接&#xff1a;数据结构(全) 参考链接&#xff1a;数据结构与算法学习笔记 一些PPT的整理&#xff0c;思路很不错&#xff0c;主要是理解角度吧&#xff0c;自己干啃书的时候结合一下会比较不错 0.总论 1.数据 注&#xff1a;图是一种数据结构&#xff01;&#xff01;…

Chromium HTML5 新的 Input 类型range对应c++

一、Input 类型: range range 类型用于应该包含一定范围内数字值的输入域。 range 类型显示为滑动条。 <!DOCTYPE html> <html> <head> <meta charset"utf-8"> <title>test</title> </head> <body><form a…

leetcode - 684. 冗余连接

684. 冗余连接 解决思路 大致上的思路就是将元素加入到 并查集 中&#xff0c;那么在遍历到边的时候先去判断的边的两个端点的 根节点 是否相等&#xff0c;如果相等&#xff0c;那么就代表此刻把这条边加上去就形成了环【可以这么理解&#xff0c;如果形成了环&#xff0c;那…

【力扣打卡系列】二叉树·灵活运用递归

坚持按题型打卡&刷&梳理力扣算法题系列&#xff0c;语言为go&#xff0c;Day16 相同的树 题目描述 解题思路 边界条件&#xff0c;其中一个节点为空&#xff0c;return 只有p和q均为空才返回true&#xff0c;因此可以简写为pqreturn&#xff0c;先判断节点值是否一样&…

【网安案例学习】暴力破解攻击(Brute Force Attack)

### 案例与影响 暴力破解攻击在历史上曾导致多次重大安全事件&#xff0c;特别是在用户数据泄露和账户被盗的案例中。随着计算能力的提升和密码管理技术的进步&#xff0c;暴力破解的威胁虽然有所减弱&#xff0c;但仍需警惕&#xff0c;特别是在面对高价值目标时。 【故事一…

创建一个基于SSM框架的药品商超管理系统

创建一个基于SSM&#xff08;Spring Spring MVC MyBatis&#xff09;框架的药品商超管理系统是一个涉及多个步骤的过程。以下是一个详细的开发指南&#xff0c;包括项目结构、数据库设计、配置文件、Mapper接口、Service层、Controller层和前端页面的示例。 1. 需求分析 明…

二十七、Python基础语法(面向对象-上)

面向对象&#xff08;oop&#xff09;&#xff1a;是一种程序设计的方法&#xff0c;面向对象关注的是结果。 一、类和对象 类和对象&#xff1a;是面向对象编程中非常重要的两个概念。 类&#xff1a;具有相同特征或者行为的一类事物&#xff08;指多个&#xff09;的统称&…

【一分钟配置Python环境变量

配置Python环境变量可以帮助系统找到Python解释器和相关工具。下面是如何在不同操作系统上配置Python环境变量的步骤&#xff1a; Windows 1.安装Python&#xff1a; 在官方网站下载并安装Python&#xff0c;安装过程中选择“Add Python to PATH”选项。 手动配置环境变量&a…

(蓝桥杯C/C++)——STL(上)

目录 一、vector 1.vector的定义和特性 2.vector的常用函数 3.vector排序去重 二、map 1.map 2.multimap 3.unordered_map 三、stack 1.stack的定义和结构 四、pair 1.pair的定义和结构 2.pair的嵌套 3.pair自带的排序规则 一、vector 1.vector的定义和特性 C中&…

UML图之对象图详解

~犬&#x1f4f0;余~ “我欲贱而贵&#xff0c;愚而智&#xff0c;贫而富&#xff0c;可乎&#xff1f; 曰&#xff1a;其唯学乎” 零、什么是对象图 对象图&#xff08;Object Diagram&#xff09;是UML中一种重要的静态结构图&#xff0c;它用于表示在特定时间点上系统中的对…

同三维T80004EHH-4K30W 4K超清HDMI编解码器

1路HDMI输入1路3.5音频输入&#xff0c;1路HDMI输出1路3.5音频输出&#xff0c;1个USB1个TF卡槽&#xff0c;带RS485 支持4K30&#xff0c;支持2路解码2路转码&#xff0c;可选配WEBRTC/NDI协议&#xff0c;可选配硬件WEBRTC解码&#xff0c;编码、解码、转码、导播、录制多功…

设计一个灵活的RPC架构

RPC架构 RPC本质上就是一个远程调用&#xff0c;需要通过网络来传输数据。传输协议可以有多种选择&#xff0c;但考虑到可靠性&#xff0c;一般默认采用TCP协议。为了屏蔽网络传输的复杂性&#xff0c;需要封装一个单独的数据传输模块用来收发二进制数据&#xff0c;这个单独模…

网络安全入门学习路线 怎样科学的进行网络安全学习

01 什么是网络安全 网络安全可以基于攻击和防御视角来分类&#xff0c;我们经常听到的 “红队”、“渗透测试” 等就是研究攻击技术&#xff0c;而“蓝队”、“安全运营”、“安全运维”则研究防御技术。 无论网络、Web、移动、桌面、云等哪个领域&#xff0c;都有攻与防两面…

“中信同业+”焕新升级 锚定数字金融新主线,做实金融“五篇大文章”

9月20日&#xff0c;“中信同业”升级发布会及生物多样性债券指数发布在京顺利举办&#xff0c;此次活动以“做强数字金融 服务实体经济”为主题&#xff0c;由中信金控指导&#xff0c;中信银行主办&#xff0c;中信各金融子公司联合承办。来自银行、证券、保险、基金等行业百…

‌Linux tac命令‌

‌Linux tac命令‌是一个用于逆序显示文件内容的工具&#xff0c;其名称来源于“cat”的反向拼写。tac命令的基本功能是将文件的内容从最后一行开始输出&#xff0c;直到第一行结束&#xff0c;这与cat命令的功能相反&#xff0c;cat命令是从第一行开始输出直到最后一行。 tac…

vite乾坤 vite-plugin-qiankun 报错 ReferenceError: ReadableStream is not defined

今天新接入一个子应用&#xff0c;发现其他子项目都可以运行&#xff0c;改造代码都差不多。我新的项目却报错 ReferenceError: ReadableStream is not defined断点发现是有个库版本不对&#xff0c;上github搜到了问题。 https://github.com/tengmaoqing/vite-plugin-qiankun…

ELK之路第四步——整合!打通任督二脉

ELK之路第四步——整合&#xff01;打通任督二脉 前言1.架构2.下载资源3.整合开始1.分别启动三个es2.启动kibana3.新建filebeat_logstash.yml配置文件4.修改logstash的启动配置文件5.启动logstash6.启动filebeat7.Kibana查看 4.结语 前言 在开始本篇之前&#xff0c;你需要用到…