软件设计师教程(六)计算机系统知识-操作系统知识
软件设计师教程
软件设计师教程(一)计算机系统知识-计算机系统基础知识
软件设计师教程(二)计算机系统知识-计算机体系结构
软件设计师教程(三)计算机系统知识-计算机体系结构
软件设计师教程(四)程序设计语言基础知识
软件设计师教程(五)计算机系统知识-数据结构
操作系统知识
- 软件设计师教程
- 操作系统概述
- 操作系统的基本概念
- 操作系统定义及作用
- 操作系统特征与功能
- 操作系统分类及特点
- 批处理操作系统
- 分时操作系统
- 实时操作系统
- 网络操作系统
- 分布式操作系统
- 微型计算机操作系统
- 嵌入式操作系统
- 操作系统的发展
- 进程管理
- 基本概念
- 程序与进程
- 进程的组成
- 进程的状态机器状态间的切换
- 进程的控制
- 进程间的通信
- 同步与互斥
- 信号量机制
- 高级通信原语
- 管程
- 进程调度
- 死锁
- 线程
操作系统概述
计算机软件分系统软件和应用软件两大类。别的软件是建立在操作系统的基础上的,并在操作系统的统一管理和支持下运行的,是用户与计算机之间的结构。
操作系统的基本概念
操作系统定义及作用
传统计算机系统资源分为硬件资源和软件资源。硬件资源包括中央处理及、存储器和输入输出设备等物理设备;软件资源是以文件形式保存在存储器上的程序和数据等信息。
操作系统特征与功能
4个特征是并发性、共享性、虚拟性和不确定性。
传统资源管理的观点看,可分为处理机管理、文件管理、存储管理、设备管理和作业管理。
- 进程管理。实质上是对处理机的执行“时间”进行管理,采用多道程序等技术将CPU的时间合理地分配到每个任务,主要包括进程控制、进程同步、进程通信和进程调度。
- 文件管理。主要是文件的读写管理
- 存储管理。对主存储空间管理。
- 设备管理。对硬件设备的管理。
- 作业管理。任务、界面、交互等等。
操作系统分类及特点
操作系统可分为 批处理、分时、实时、网络、分布式、微型计算机和嵌入式操作系统等
批处理操作系统
单道批处理 一个接一个
多道批处理 多道、宏观上并行运行、微观上串行运行
分时操作系统
将CPU的工作时间分为许多很短的时间片,轮流为各个终端的用户服务。
多路性、独立性、交互性和及时性。
实时操作系统
可靠性要有保障。分为实时控制系统和实时信息处理系统。
实时又分为。实时控制系统用于生产过程的自动控制。实时信息处理系统用于实时信息处理。
- 设计目标不同。分时多用户通用系统、交互能力强;实时大多时专用系统。
- 交互性的强弱不同。分时强,实时弱
- 响应时间敏感度不同。分时弱,实时强
网络操作系统
共享网络资源,为网络用户提供各种服务的软件和有关协议的集合。
计算机网络系统除了硬件外,还需要有系统软件,二者结合构成计算机网络的基础平台。
硬件独立性、多用户支持等。
网络操作系统分三类。
- 集中模式。
- 客户端/服务器模式。
- 对等模式 模式。
分布式操作系统
分布式计算机系统是由多个分散的计算机经连接而成的计算机系统,系统中的计算机无主、次之分,任意两台计算机可以通过通信交换信息。
微型计算机操作系统
windows
mac
linux
嵌入式操作系统
- 微型化
- 可定制
- 实时性
- 可靠性
- 易移植性
操作系统的发展
硬件的发展、新的服务需求、自身的修补
进程管理
进程之间的并发特性,以及进程之间相互合作与资源竞争产生的问题。
基本概念
程序与进程
程序顺序执行,顺序性、封闭性和可在现性。就是程序是按照顺序执行的,永远知道下一步是哪一步
程序并发执行
在CPU忙的时候,输入输出设备可以完成别的作业。

并发,就没有程序的封闭性、程序和机器不能一一对应、并发程序间的相互制约性。
进程的组成
进程是用PCB、程序、数据组成的
PCB。是进程存在的唯一标志
程序。程序部分描述了进程需要完成的功能。
数据。数据部分包含程序执行时所需的数据以及工作区。
进程的状态机器状态间的切换
三态模型 ⇒ 运行+就绪+阻塞
五态模型

具有挂起状态的进程状态及其转换

进程的控制
进程控制就是对系统中的所有进程从创建到消亡的全过程实施有效的控制。
进程间的通信
进程间存在资源共享和相互合作。
同步与互斥
同步就是系统中一些需要相互合作,协同工作的进程,这样相互联系称为进程的同步
互斥就是,多个进程因争用临届资源而互斥执行。有些资源一次只能一个进程使用就叫临界资源。
临界区管理原则
- 有空即进
- 无空则等
- 有限等待
- 让权等待
信号量机制
信号量机制是一种有效的进程同步与互斥工具。
高级通信原语
进程通信方式分为高级和低级两种,PV操作属于低级通信方式,高级的微共享存储模式、消息传递模式和管道通信。
管程
采用资源集中管理的方法,将系统中的资源用某种数据结构抽象的表示出来。

进程调度
进程调度方式是指当有更高优先级的进程到来时如何分配CPU,分为刻薄多和不可剥夺两种。
死锁
两个以上进程互相要求对方已经占有的资源导致无法继续运行下去
线程
线程作为调度和分配的基本单位,进程作为独立分配资源的单位。
相关文章:
软件设计师教程(六)计算机系统知识-操作系统知识
软件设计师教程 软件设计师教程(一)计算机系统知识-计算机系统基础知识 软件设计师教程(二)计算机系统知识-计算机体系结构 软件设计师教程(三)计算机系统知识-计算机体系结构 软件设计师教程(…...
Zookeeper下载安装与集群搭建
Zookeeper下载安装与集群搭建1.下载安装1.1 下载安装1.2 配置启动2.集群搭建2.1 搭建要求2.2 准备工作2.3 配置集群2.4 启动集群2.5 模拟集群异常1.下载安装 1.1 下载安装 1、环境准备 ZooKeeper服务器是用Java创建的,它运行在JVM之上。需要安装JDK 7或更高版本。…...
Filter防火墙(8)
实验目的 1、了解个人防火墙的基本工作原理; 2、掌握Filter防火墙的配置。 预备知识防火墙 防火墙(Firewall)是一项协助确保信息安全的设备,会依照特定的规则,允许或是限制传输的数据通过。防火墙可以是一台专属的硬…...
Spring事务的传播级别——包你一文通
文章目录一、简单说明二、具体案例描述2.1.PROPAGATION_REQUIRED2.2.PROPAGATION_REQUIRED_NEW2.3.PROPAGATION_SUPPORTS2.4.PROPAGATION_NOT_SUPPORTED2.5.PROPAGATION_MANDATORY2.6.PROPAGATION_NEVER2.7.PROPAGATION_NESTED三、总结3.1、PROPAGATION_REQUIRED3.2、PROPAGATI…...
C语言(C预编译指令)
目录 1.undef 2.条件编译#ifdef,#else和#endif 3.#ifndef 4.#if和#elif 5.预定义宏 6.#line和#error 7.#pragma 1.undef #undef指令用于取消已定义的#define指令 #define LIMIT 400 #undef LIMIT 如果想使用一个名称但又不确定之前是否已经用过,为了安全起…...
JMeter 接口测试/并发测试/性能测试
Jmter工具设计之初是用于做性能测试的,它在实现对各种接口的调用方面已经做的比较成熟,因此,本次直接使用Jmeter工具来完成对Http接口的测试。因为再做接口测试时可以设置线程组,所以也可做接口性能测试。本篇使用JMeter完成了一个…...
大家心心念念的RocketMQ5.x入门手册来喽
1、前言 为了更好的拥抱云原生,RocketMQ5.x架构进行了大的重构,提出了存储与计算分离的设计架构,架构设计图如下所示: RocketMQ5.x提供了一套非常建议的消息发送、消费API,并统一放在Apache顶级开源项目rocketmq-clie…...
(考研湖科大教书匠计算机网络)第四章网络层-第三节1:IPv4地址概述
获取pdf:密码7281专栏目录首页:【专栏必读】考研湖科大教书匠计算机网络笔记导航 文章目录一:IPv4地址概述二:IPv4地址表示方法(1)概述(2)8位无符号二进制数转十进制正整数ÿ…...
B站Python与OpenCV人脸识别项目超详细记录(对图片、视频、摄像头人脸的检测)
课程来源:一天搞定人脸识别项目!学不会up直接下跪!(pythonopencv)_哔哩哔哩_bilibili 图片来源:感谢王鹤棣先生友情出镜~ 环境配置详见: 在conda虚拟环境中安装OpenCv并在pycharm中使用_cond…...
【Node.js实战】一文带你开发博客项目之Koa2重构(实现session、开发路由、联调、日志)
个人简介 👀个人主页: 前端杂货铺 🙋♂️学习方向: 主攻前端方向,也会涉及到服务端 📃个人状态: 在校大学生一枚,已拿多个前端 offer(秋招) 🚀未…...
第一部分:简单句——第二章:简单句的补充
简单句的核心构成:一主一谓 主语/宾语/表语 可以变成名词/代词/doing/to do 谓语动词有四种核心变化:三态 一否 时态语态情态否定 简单句的核心:将简单句给写对 简单句的补充:将简单句给写的更好、更充分 简单句的补充 1、限定…...
Spring Security简介
前面我们已经完成了传智健康后台管理系统的部分功能,例如检查项管理、检查组管理、套餐管理、预 约设置等。接下来我们需要思考2个问题: 问题1:在生产环境下我们如果不登录后台系统就可以完成这些功能操作吗? 答案显然是否定的&am…...
Hadoop安装 --- 简易安装Hadoop
目录 1、使用xftp工具 在opt目录下创建install和soft文件 2、使用xftp工具 将压缩包上传到install文件 3、编写shell脚本 3.1、创建目录来放shell脚本 3.2、创建autoinsatll.sh文件并修改权限 3.3、编写autoinsatll.sh 文件 刷新资源 运行文件 格式化 启动所有进程 Ha…...
俞军产品方法论,消化吸收,要点整理
一、总体概括二、产品经理、价值、用户模型、交易模型三、价值、产品和企业的价值生存游戏的常见要点:企业做产品的4方面产出:四、决策五、俞军产品方法论,认知迭代史1)俞军12条产品军规2)产品经理职级的背后影响因素:…...
spring注解的开端(@Component替代bean标签的使用)
目录 一、介绍 1.什么是注解开发? 2.Spring注解的版本 3.基于spring注解的应用 4. Component的细分注解 5.相关注解 二、简单例子讲解 1.类打注解 2.扫描注解放入工厂 3.总工厂取注解调用 4.运行结果 总结: 一、介绍 1.什么是注解开发&…...
Matlab傅里叶谱方法求解一维波动方程
傅里叶谱方法求解基本偏微分方程—一维波动方程 一维波动方程 对于一根两端固定、没有受到任何外力的弦, 若只研究其中的一段, 在不太长的时间 里, 固定端来不及对这段弦产生影响, 则可以认为固定端是不存在的, 弦的长度为无限大。 这种无界 (−∞<x<∞)(-\infty<x&…...
py3中 collections.Counter()函数典型例题
文章目录py3中 collections 的常用STL**Counter()** 函数**defaultdict()** 函数**deque()** 函数**orderedDict()** 函数(缺例题)小结py3中 collections 的常用STL 对于这个工具包非常好用,尤其是其中的 Counter() 函数 使用次数颇为频繁&a…...
Linux部署达梦数据库超详细教程
陈老老老板🦸👨💻本文专栏:国产数据库-达梦数据库👨💻本文简述:本文讲一下达梦数据库的下载与安装教程(Linux版),超级详细。👨💻…...
ctfshow 每周大挑战 极限命令执行
《简单的命令执行题目》 这里感叹一下,g4佬是真好厉害,这次题目十分的难,嗯,对我这种菜鸡来说是这样的,想了一天,最后结束了,也还是没有想明白第五题的解法,我真是fw,到最…...
使用vue3,vite,less,flask,python从零开始学习硅谷外卖(16-40集)
严正声明! 重要的事情说一遍,本文章仅供分享,文章和代码都是开源的,严禁以此牟利,严禁侵犯尚硅谷原作视频的任何权益,我知道学习编程的人各种各样的心思都有,但这不是你对开源社区侵权的理由&am…...
谷歌浏览器插件
项目中有时候会用到插件 sync-cookie-extension1.0.0:开发环境同步测试 cookie 至 localhost,便于本地请求服务携带 cookie 参考地址:https://juejin.cn/post/7139354571712757767 里面有源码下载下来,加在到扩展即可使用FeHelp…...
idea大量爆红问题解决
问题描述 在学习和工作中,idea是程序员不可缺少的一个工具,但是突然在有些时候就会出现大量爆红的问题,发现无法跳转,无论是关机重启或者是替换root都无法解决 就是如上所展示的问题,但是程序依然可以启动。 问题解决…...
JavaScript 中的 ES|QL:利用 Apache Arrow 工具
作者:来自 Elastic Jeffrey Rengifo 学习如何将 ES|QL 与 JavaScript 的 Apache Arrow 客户端工具一起使用。 想获得 Elastic 认证吗?了解下一期 Elasticsearch Engineer 培训的时间吧! Elasticsearch 拥有众多新功能,助你为自己…...
通过Wrangler CLI在worker中创建数据库和表
官方使用文档:Getting started Cloudflare D1 docs 创建数据库 在命令行中执行完成之后,会在本地和远程创建数据库: npx wranglerlatest d1 create prod-d1-tutorial 在cf中就可以看到数据库: 现在,您的Cloudfla…...
MVC 数据库
MVC 数据库 引言 在软件开发领域,Model-View-Controller(MVC)是一种流行的软件架构模式,它将应用程序分为三个核心组件:模型(Model)、视图(View)和控制器(Controller)。这种模式有助于提高代码的可维护性和可扩展性。本文将深入探讨MVC架构与数据库之间的关系,以…...
postgresql|数据库|只读用户的创建和删除(备忘)
CREATE USER read_only WITH PASSWORD 密码 -- 连接到xxx数据库 \c xxx -- 授予对xxx数据库的只读权限 GRANT CONNECT ON DATABASE xxx TO read_only; GRANT USAGE ON SCHEMA public TO read_only; GRANT SELECT ON ALL TABLES IN SCHEMA public TO read_only; GRANT EXECUTE O…...
C++.OpenGL (10/64)基础光照(Basic Lighting)
基础光照(Basic Lighting) 冯氏光照模型(Phong Lighting Model) #mermaid-svg-GLdskXwWINxNGHso {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-GLdskXwWINxNGHso .error-icon{fill:#552222;}#mermaid-svg-GLd…...
WEB3全栈开发——面试专业技能点P2智能合约开发(Solidity)
一、Solidity合约开发 下面是 Solidity 合约开发 的概念、代码示例及讲解,适合用作学习或写简历项目背景说明。 🧠 一、概念简介:Solidity 合约开发 Solidity 是一种专门为 以太坊(Ethereum)平台编写智能合约的高级编…...
是否存在路径(FIFOBB算法)
题目描述 一个具有 n 个顶点e条边的无向图,该图顶点的编号依次为0到n-1且不存在顶点与自身相连的边。请使用FIFOBB算法编写程序,确定是否存在从顶点 source到顶点 destination的路径。 输入 第一行两个整数,分别表示n 和 e 的值(1…...
Typeerror: cannot read properties of undefined (reading ‘XXX‘)
最近需要在离线机器上运行软件,所以得把软件用docker打包起来,大部分功能都没问题,出了一个奇怪的事情。同样的代码,在本机上用vscode可以运行起来,但是打包之后在docker里出现了问题。使用的是dialog组件,…...
