系统架构设计师 - 操作系统(1)

操作系统

  • 操作系统(5-6分)
    • 操作系统概述
    • 进程管理
      • 进程和线程的基本概念
      • 进程的状态 ★
      • 前趋图 ★★★★
      • 信号量与 PV 操作 ★★★★
      • 死锁及银行家算法 ★


大家好呀!我是小笙,本章我主要分享系统架构设计师 - 操作系统(1)知识,希望内容对你有所帮助!!

操作系统(5-6分)

操作系统概述

  • 管理系统的硬件、软件、数据资源
  • 控制程序运行
  • 人机之间的接口
  • 应用软件与硬件之间的接口
image-20240528195706620

例题

计算机系统中硬件层之上的软件通常按照三层来划分,如下图所示,图中①②③分别表示 操作系统、其他系统软件和应用软件

image-20240528195837829
  • 操作系统、应用软件和其他系统软件
  • 操作系统、其他系统软件和应用软件
  • 其他系统软件、操作系统和应用软件
  • 应用软件、其他系统软件和操作系统

进程管理

进程和线程的基本概念

进程是程序在一个数据集合上运行的过程,它是系统进行资源分配和调度的一个独立单位。它由程序块、进程控制块(PCB)和数据块三部分组成

进程控制块(PCB):PCB是进程存在的唯一标志。内容包含进程标识符、状态、位置信息、控制信息、队列指针(链接同一状态的进程)、优先级、现场保护区等

进程的2个基本属性:可拥有资源的独立单位;可独立调度和分配资源的基本单位

程序:是一个静态的概念,而进程是一个动态的概念,它由创建而产生,完成任务后因撤销而消亡;进程是系统进行资源分配和调度的独立单位,而程序不是

例题

在支持多线程的操作系统中,假设进程P创建了若干个线程,那么 该进程中某线程的栈指针进程 是不能被这些线程共享的

image-20240530225236993

  • 该进程中打开的文件
  • 该进程的代码段
  • 该进程中某线程的栈指针进程
  • 该进程的全局变量线程1

进程的状态 ★

三态模型

image-20240530230302897

五态模型

image-20240530230429746

例题

某计算机系统中的进程管理采用三态模型,那么下图所示的PCB(进程控制块)的组织方式采用 索引方式 ,图中 有2个运行进程,3个就绪进程,4个阻塞进程

image-20240530230613190

  • A 顺序方式 B 链接方式 C 索引方式 D Hash
  • A 有1个运行进程,2个就绪进程,4个阻塞进程
  • B 有2个运行进程,3个就绪进程,3个阻塞进程
  • C 有2个运行进程,3个就绪进程,4个阻塞进程
  • D 有3个运行进程,2个就绪进程,4个阻塞进程

前趋图 ★★★★

A,B,C 是 D 的前趋,E 是 D 的后继,五个进程只需要4个信号量

  • 间接制约:相同设备之间的制约
  • 直接制约:不同设备之间的制约

例题

进程P1、P2、P3和P4的前趋图如下所示:
image-20240601143028125 image-20240601143112988

若用PV操作控制进程P1~P4并发执行的过程,则需要设置5个信号量S1、S2、S3、S4和S5,且信号量S1-S5的初值都等于0。下图中a、b和c处应分别填写 V(S1)V(S2)、P(S1)P(S3)和V(S4) ;d、e和f处应分别填写 P(S2)、V(S3)V(S5)和P(S4)P(S5)

  • A V(S1)V(S2)、P(S1)V(S3)和V(S4)
  • B P(S1)V(S2、P(S1)P(S2)和V(S1)
  • C V(S1)V(S2)、P(S1)P(S3)和V(S4)
  • D P(S1)P(S2)、V(S1)P(S3)和V(S2)
  • A P(S2)、V(S3)V(S5)和P(S4)P(S5)
  • B V(S2)、P(S3)V(S5)和V(S4)P(S5)
  • C P(S2)、V(S3)P(S5)和P(S4)V(S5)
  • D VS2)、V(S3)P(S5)和P(S4)V(S5)

image-20240601143425273

信号量与 PV 操作 ★★★★

进程的同步和互斥

  • 互斥:如千军万马过独木桥(间接制约)
  • 同步:速度有差异,在一定情况下停下等待(直接制约)

临界资源:诸进程间需要互斥方式对其进行共享的资源,如打印机、磁带机等

临界区:每个进程中访问临界资源的那段代码称为临界区

信号量:是一种特殊的变量

image-20240531124145829

案例:生产者 &消费者

  • 未使用 PV 操作
    • 生产者:生产一个产品 -> 送产品到缓冲区
    • 消费者:从缓冲区取产品 -> 消费产品
  • 使用 PV 操作(S1初值为1,S2初值为0)
    • 生产者:生产一个产品 -> P(S1) -> 送产品到缓冲区 -> V(S2)
    • 消费者:P(S2) -> 从缓冲区取产品 -> V(S1) -> 消费产品

例题

某航空公司机票销售系统有个售票点,该系统为每个售票点创建一个进程Pi(i=1,2,…,n)管理机票销售。假设(Tj = 1,2,…,m)单元存放某日某航班的机票剩余票数,Temp为P进程的临时工作单元,x为某用户的订票张数。初始化时系统应将信号量S赋值为 1 。P进程的工作流程如下图所示,若用P操作和V操作实现进程间的同步与互斥,则图中空(a),空(b)和空©处应分别填入 **P(S),V(S)和V(S) **

image-20240531125054866
  • A 0 B 1 C 2 D 3
  • A P(S),V(S)和V(S)
  • B P(S),P(S)和V(S)
  • C V(S),P(S)和P(S)
  • D V(S),V(S)和P(S)

死锁及银行家算法 ★

概述:进程管理是操作系统的核心,但如果设计不当,就会出现死锁的问题。如果一个进程在等待一件不可能发生的事,则进程就死锁了。而如果一个或多个进程产生死锁,就会造成系统死锁

死锁的四大条件

  • 互斥
  • 保持和等待
  • 环路等待
  • 不剥夺

打破死锁的方式

  • 有序资源分配法
  • 银行家算法

例题

例:系统有3个进程:A、B、C。这3个进程都需要5个系统资源。如果系统至少有多少个资源,则不可能发生死锁。 【13】

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

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

相关文章

B站如何屏蔽短视频:成都鼎茂宏升文化传媒公司

B站如何屏蔽短视频:优化你的观看体验 在当今数字化时代,B站(哔哩哔哩)作为国内领先的弹幕视频网站,以其丰富的视频资源和独特的弹幕文化吸引了大量用户。然而,随着短视频的兴起,B站也引入了短视…

智能学工系统实现学生管理

人才培养是高校的榜首要务,高校在抓好学生教育作业的一起,更多的是要加强对学生的办理作业。作为在校大学生健康成长的指导者和引路人,面临很多的学生办理作业内容杂乱,事无巨细,但在传统的办理方式下,尽管…

在 LLM 架构中应用多专家模型

本文转载自:在 LLM 架构中应用多专家模型 2024年 3月 14日 By Kyle Kranen and Vinh Nguyen https://developer.nvidia.cn/zh-cn/blog/applying-mixture-of-experts-in-llm-architectures/ 文章目录 一、概述二、LLM 架构领域的专家齐聚一堂1、模型容量2、MoE 在降低…

计算机系统结构之Cache

一、全相联映像和变换 全相联映像的主存-Cache地址变换过程如图: 给出主存地址Nm访存时,将其主存块号Nmb与目录表(硬件)中所有各项的Mmb字段同时相联比较。若有相同的,就将对应行的Cache块号Ncb取出,拼接上块内地址Nmr形成Cache地…

JAVA基础|多线程

什么是线程? 线程(Thread)是一个程序内部的一条执行流程。 多线程是什么? 多线程是指从软硬件上实现的多条执行流程的技术(多条线程由CPU负责调度执行) 一. 如何在程序中创建出多条线程? Ja…

社交媒体数据恢复:Voxer

一、Voxer数据恢复教程 了解Voxer应用 Voxer是一款专门为iPhone和Android智能手机设计的免费对讲机应用,为用户提供即时的语音、文本、照片等信息发送和接收服务。该应用有点类似短信服务,但用声音代替文本。当你下载之后,如果不邀请朋友&a…

XTuner 微调个人小助手认知实战

XTuner 是一个高效、灵活、全能的轻量化大模型微调工具库。GitHub - InternLM/xtuner: An efficient, flexible and full-featured toolkit for fine-tuning LLM (InternLM2, Llama3, Phi3, Qwen, Mistral, ...)An efficient, flexible and full-featured toolkit for fine-tun…

vue中使用svg图像

一 、svg图像是什么 SVG(可缩放矢量图形)是一种图像格式,它以XML文档的形式存在,用以描述图像中的形状、线条、文本和颜色等元素。由于其基于矢量的特性,SVG图像在放大或改变尺寸时能够保持图形质量不受影响。这种格式…

【深入学习Redis丨第二篇】Redis集群部署详解

文章目录 Redis集群部署Redis4 Cluster部署 Redis集群部署 1 Redis各节点部署 使用源码安装各节点,不过与非cluster方式不同的是,配置文件中需启动cluster相关的配置。 因本次为伪分布式部署,生产环境部署时建议至少3台机器部署&#xff0…

解决JSON.stringify 方法在序列化 BigInt 类型时的错误

今天学nest时&#xff0c;使用apifox发送请求获取数据&#xff0c;结果还一直报错&#xff0c;而且还是我从未见过的 Do not know how to serialize a BigInt at JSON.stringify (<anonymous>) at stringify&#xff0c; 我都是跟着人家敲的&#xff0c;我就纳闷了&…

Java——异常详解

异常五个主要关键字&#xff1a;throw、try、catch、finally、throws 1. 异常的概念与体系结构 1.1 异常的概念 在Java中&#xff0c;程序执行过程中发生的不正常行为被称为异常&#xff0c;如&#xff1a; 1. 算数异常 public static void main(String[] args) {System.ou…

数据结构队列(深入链表的应用)

目录 队列的概念及结构 队列的实现 结构的选择 从Pop来看&#xff1a; 队列的结构 &#xff1a; 分析&#xff1a; 头文件(queue.h) 实现队列功能&#xff1a; 队列的初始化(与链表类似) 队列的摧毁 队列的插入(链表尾插) 队头的删除 取队头队尾的数据(简单中藏陷阱…

Vue3中的常见组件通信之props和自定义事件

Vue3中的常见组件通信 概述 ​ 在vue3中常见的组件通信有props、mitt、v-model、 r e f s 、 refs、 refs、parent、provide、inject、pinia、slot等。不同的组件关系用不同的传递方式。常见的撘配形式如下表所示。 组件关系传递方式父传子1. props2. v-model3. $refs4. 默认…

【TB作品】MSP430F5529,单片机,打地鼠游戏

功能 针对这块开发板做了一个打地鼠游戏&#xff1a; 1 给单片机上电后&#xff0c;初始化显示界面&#xff0c;显示出分数和等级。 2 游戏是一轮一轮进行的&#xff0c;每一轮会以50%几率点亮板子上的五个小灯&#xff0c;表示地鼠露头需要打了。 3 一轮游戏开始后&#xff…

STM32作业设计

目录 STM32作业设计 STM32作业实现(一)串口通信 STM32作业实现(二)串口控制led STM32作业实现(三)串口控制有源蜂鸣器 STM32作业实现(四)光敏传感器 STM32作业实现(五)温湿度传感器dht11 STM32作业实现(六)闪存保存数据 STM32作业实现(七)OLED显示数据 STM32作业实现(八)触摸按…

PKG系统安装包及IPSW固件下载(MacOS 11-14)11.7.10/12.7.1/13.6.

MacOS 14 Sonoma&#xff0c;为提高生产力和创造力带来了全新的功能&#xff0c;有了更多使用小部件和令人惊叹的新屏幕保护程序进行个性化设置的方法&#xff0c;对Safari浏览器和视频会议进行了重大更新&#xff0c;以及优化的游戏体验——Mac体验比以往任何时候都更好。 下载…

关于linux程序的查看、前台运行、后台运行、杀死的管理操作。

前言 在Linux中&#xff0c; 程序&#xff08;program&#xff09;是放在磁盘上的程序&#xff0c;是不会执行的。 进程&#xff08;process&#xff09;是程序被触发&#xff0c;从而加载到内存中的&#xff0c;会被CPU随机执行。 Linux中&#xff0c;有非常多的进程在实时运…

绿联 安装memcached容器 - 一个开源的高性能分布式内存对象缓存系统

绿联 安装memcached容器 - 一个开源的高性能分布式内存对象缓存系统 1、镜像 memcached:latest 2、安装 2.1、基础设置 重启策略&#xff1a;容器退出时总是重启容器。 2.2、网络 网络选择桥接(bridge)。 2.3、端口设置 容器端口11211固定不变&#xff0c;本地端口若未被…

STAT315 Week 8 广义线性混合模型(GLMMs)

正如我们使用 LMM 对具有相关观测值的正态数据进行建模一样&#xff0c;我们可以使用 GLMM 对非正态分布且具有相关观测值的数据进行建模。 响应变量通常是离散的或明显非正态的。 GLMM 允许响应数据来自指数族的任何其他分布&#xff0c;包括最常见的二项分布和泊松分布。因此…

第五维度【百度之星】/二分

第五维度 二分 思路&#xff1a;看到题目是尽可能晚的情况下最早就应该想到贪心。 #include<bits/stdc.h> using namespace std; typedef long long ll; ll a[100005],b[100005]; ll n,m; bool check(ll t) {ll res0,big0;for(ll i0;i<n;i) {if(a[i]>t) continue…