首页 > 系统相关 >《操作系统》---进程管理

《操作系统》---进程管理

时间:2023-08-21 10:56:31浏览次数:31  
标签:信号量 操作系统 S0 阻塞 --- 线程 进程 资源

操作系统概述

  • 作用
  • 特征
    • 并发性
    • 共享性
    • 虚拟性
    • 不确定性
  • 功能
    • 进程管理
    • 存储管理
    • 文件管理
    • 设备管理
    • 作业管理
  • 分类
  • 计算机启动的基本流程
    • BIOS
    • 主引导记录
    • 操作系统

进程的组成和状态

  • 组成
    • PCB 程序控制块
    • 程序
      • 描述程序要做什么
    • 数据
  • 三态
    • 运行
    • 就绪
      • 只缺CPU资源
    • 等待
      • 除了CPU以外,还要等待某个事件
  • 五态图
    • 运行
    • 活跃就绪
    • 活跃阻塞
    • 静止就绪
    • 静止阻塞
      • 人为挂起
      • 人为激活
  • 前驱图
    • 哪些任务可以并行执行
    • 哪些任务之间有顺序关系
    • 确定
      • 并行关系
      • 先后关系
  • 进程资源图
    • 进程和资源之间的分配和请求关系
    • R 资源
    • P 进程
    • R指向P 说明已经分配
    • P指向R 说明请求资源
    • 阻塞节点
      • 无法获取所需资源,
        • 被阻塞了,
        • 无法继续
    • 非阻塞节点
      • 某进程请求的资源还有剩余
    • 死锁状态
      • 一个进程资源图中,所有进程都是阻塞节点
    • 考察方式
      • 哪个是阻塞节点
      • 进程资源图化简
        • 从非阻塞节点开始

同步和互斥

  • 互斥
    • 如打印机
  • 同步
  • 临界资源
  • 临界区
  • 互斥信号量
    • 加锁
    • 解锁
  • 同步信号量
  • P操作
    • 申请资源
    • S= S-1
    • 大于等于0时表示资源的个数
    • 小于0时表示等待资源的进程个数
      • 说明没有资源可以分配
      • 把进程放到阻塞队列里
  • V操作
    • 释放资源
    • S= S+1
    • 如果信号量的值小于等于0
      • 去唤醒阻塞进程
  • 生产者、消费者问题
    • 互斥信号量S0
    • 同步信号量S1
    • 同步信号量S2
    • 流程
      • 生产一个商品S
      • P(S0)申请仓库独立使用权
      • P(S1)仓库是否空闲
      • 将商品放入仓库中
      • V(S2)
      • V(S0)
      • 消费者
        • P(S0)
        • V(S2)仓库里有没有商品
        • 取出一个商品
        • V(S1)
        • V(S0)
    • 银行家算法题
  • 线程
    • 传统的进程
      • 可拥有资源的独立单位
      • 可独立调度和分配的基本单位
    • 线程
      • 独立调度的最小单位
      • 拥有资源的最小单位
    • 线程可以共享进程的公共数据、全局变量、代码、文件等资源
      • 但不能共享线程独有的资源,
        • 比如线程的栈指针等标识数据

标签:信号量,操作系统,S0,阻塞,---,线程,进程,资源
From: https://www.cnblogs.com/miong/p/17645434.html

相关文章

  • su - 和 sudo -i 的区别,使用sudo更安全灵活
    su-是切换为root账号,是完全的切换,需要输入root密码,与直接用root进行登录一样,sudo-i看似一样,实则非常不同,其使用sudo工具,可以灵活定义权限,输入的密码为当前普通用户密码,有系统记录,以便后期追责使用sudo,可以将root锁定:passwd-lroot,这样攻击者就不知道管理员......
  • 运行 'RuoYiApplication' 时出错: 模块 'ruoyi-admin' 没有 JDK
    项目运行良好,关机重新打开项目时出现“运行'RuoYiApplication'时出错:模块'ruoyi-admin'没有JDK”导致运行失败,经检查项目中已经配置SDK解决办法:重新加载Maven,或者直接点项目右侧的刷新按钮  ......
  • Java-logback.xml配置
    <?xmlversion="1.0"encoding="UTF-8"?><configurationdebug="false"><!--定义日志文件的存储地址勿在LogBack的配置中使用相对路径--><propertyname="LOG_HOME"value="\logs"/><!--控制台输出-......
  • 上周热点回顾(8.14-8.20)
    热点随笔:· 弹尽粮绝,会员救园:会员上线,命悬一线 (博客园团队)· 开源项目自荐:截图工具(小、快、功能丰富) (liulun)· 一种基于ChatGPT的高效吃瓜方式的探索和研究。 (why技术)· 【故障公告】多年的故障老朋友又来了:数据库服务器CPU100% (博客园团队)· .NETCore多线(......
  • 为操作系统配置 G2 证书
    上周将服务器的SSL证书更换后,部分客户出现了https通讯报错(c#+WPF应用程序),用浏览器访问一切正常,用c#访问就不认这个证书。后来发现阿里的证书做了调整,以前都CA证书,现在换成了G2证书:https://help.aliyun.com/zh/ssl-certificate/product-overview/update-of-digicert-r......
  • 设置 X-Frame-Options HTTP 响应头防止点击劫持攻击
    X-Frame-Options是一个HTTP响应头,设置X-Frame-OptionsHTTP响应头为DENY或SAMEORIGIN,用于控制页面是否可以被嵌入到<iframe>,<frame>,<embed>,或<object>等元素中。这有助于防止点击劫持攻击。DENY或SAMEORIGIN分别是什么意思?DENY:当设置为DENY时,页面不......
  • 8-21|Python使用管道如何执行此删除目录
    要在Python中使用管道执行此命令,你可以利用`subprocess`模块。下面是一个示例,展示如何在Python中执行这个命令:```pythonimportsubprocessdirectory="path_to_directory"#构建命令cmd=f'cd{directory}&&del/f/s/q*.*&&for/d%xin(*)dormdir/s/q"%x&quo......
  • 无涯教程-PHP - 运算符
    什么是运算符?可以使用表达式4+5等于9给出简单答案。这里4和5称为操作数,而+称为运算符。PHP语言支持以下类型的运算符。算术运算符比较运算符逻辑运算符赋值运算符三元操作符让无涯教程一一看一下所有运算符。算术运算符PHP语言支持以下算术运算符,假设变量A=10,变量B......
  • 高速信号处理处理卡设计原理图:501-基于TMS320C6670的软件无线电核心板
    基于TMS320C6670的软件无线电核心板一、板卡概述     北京太速科技自主研发的TMS320C6670核心板,采用TI KeyStone系列的四核定点/浮点DSP TMS320C6670作主处理器。板卡引出处理器的全部信号引脚,便于客户二次开发,降低了硬件的开发难度和时间成本。板卡满足工......
  • 一份Linux备份策略-----------------linux备份数据
    一份Linux备份策略详细思路原创 六便士IT 六便士IT 2023-06-2511:00 发表于陕西收录于合集#Linux运维34个在没有任何备份策略的情况下,我建议按照以下步骤去备份数据:确定备份的数据范围:需要备份哪些数据,包括文件、数据库、系统配置等。确定备份周期和保留时间:......