操作系统:精髓与设计原理 进程描述和控制

2024-05-05 18:58

本文主要是介绍操作系统:精髓与设计原理 进程描述和控制,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

操作系统必须交替执行多个进程,在合理的响应时间范围内使处理器的利用率最大

操作系统必须按照特定的策略给进程分配资源,同时避免死锁

操作系统可以支持进程间的通信和用户创建进程,它们对构建应用程序很有帮助


进程

一个正在执行中的程序

一个正在计算机上执行的程序实例

能分配给处理器并由处理器执行的实体

一个具有以下特征的活动单元: 一组指令序列的执行、一个当前状态和相关的系统资源集


进程的基本元素: 程序代码 和 与代码相关的数据集

进程控制块(process control block)由操作系统创建和管理  含有充分的信息包括每个进程具备的元素  

 唯一标识符 状态    优先级  程序计数器(程序中即将被执行的下一条指令地址)  内存指针(程序代码和进程相关数据的指针)  上下文数据(进程执行时处理器的寄存器中的数据) I/O状态信息(包括显式的) 记账信息

轨迹(trace) 可以通过列出为该进程执行的指令序列描述单个进程的行为 这样的序列称为进程的轨迹

导致进程创建的原因   新的批处理作业  用户交互登录  操作系统提供服务而创建   由现有的进程派生

导致进程终止的原因   正常完成 超过时限 无可用内存  越界访问  保护错误 算术错误  等待时间超出 I/O失败  无效指令 特权指令 数据误用 操作系统干涉  父进程终止  父进程请求


五状态模型   新建态 就绪态   阻塞态 运行态 退出态

运行态 该进程正在执行

就绪态 该进程做好了准备  有机会就开始执行

阻塞态  进程在某些事件发生前不能执行

新建态  进程刚帮被创建  还未加载到操作系统的可执行进程组当中

退出态  从操作系统的可执行进程中删除



交换:把内存中某个进程的一部分或者全部移到磁盘中   (是一个磁盘I/O操作)  

操作系统就把阻塞的进程换出到磁盘中的挂起队列中(suspend queue)  当内存中没有处于就绪状态的进程时,从磁盘中换入进程

挂起态  换入    就绪态

阻塞态  换出    挂起态


挂起进程  

进程不能立即执行 

进程可能是或者不是在等待一个事件(如果是 阻塞条件不依赖于挂起条件 阻塞事件的发生不会使进程立即被执行)

为阻止进程执行,可以通过代理把这个进程置于挂起状态  代理可以是 进程自己 父进程 操作系统

除非代理显式的命令系统进行状态转移 否则进程无法从该状态中转移

导致进程挂起的原因   交换   用户请求   父进程请求  定时 其他原因


操作系统的控制结构

操作系统为了管理进程和资源 必须掌握每个进程和资源当前状态的信息

操作系统构造并维护这每个实体的信息表 (四种类型  内存表  I/O表  文件表  进程表)

处理器的执行模式  特权态(系统态 控制态 内核态)  非特权态


进程控制块中的信息可以分成三类  进程标识信息  进程状态信息  进程控制信息

进程创建   分配唯一进程标识符  给进程分配空间 初始化进程控制块  保存到操作系统中  扩充其他数据结构

进程切换   某一时刻,正在运行的进程被中断,操作系统指定另一个进程为运行态,控制权交给该进程

进程切换时机     系统时钟中断(进程执行超时) I/O中断  内存失效  陷阱(出现错误)



这篇关于操作系统:精髓与设计原理 进程描述和控制的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/962424

相关文章

高效管理你的Linux系统: Debian操作系统常用命令指南

《高效管理你的Linux系统:Debian操作系统常用命令指南》在Debian操作系统中,了解和掌握常用命令对于提高工作效率和系统管理至关重要,本文将详细介绍Debian的常用命令,帮助读者更好地使... Debian是一个流行的linux发行版,它以其稳定性、强大的软件包管理和丰富的社区资源而闻名。在使用

龙蜥操作系统Anolis OS-23.x安装配置图解教程(保姆级)

《龙蜥操作系统AnolisOS-23.x安装配置图解教程(保姆级)》:本文主要介绍了安装和配置AnolisOS23.2系统,包括分区、软件选择、设置root密码、网络配置、主机名设置和禁用SELinux的步骤,详细内容请阅读本文,希望能对你有所帮助... ‌AnolisOS‌是由阿里云推出的开源操作系统,旨

Redis主从/哨兵机制原理分析

《Redis主从/哨兵机制原理分析》本文介绍了Redis的主从复制和哨兵机制,主从复制实现了数据的热备份和负载均衡,而哨兵机制可以监控Redis集群,实现自动故障转移,哨兵机制通过监控、下线、选举和故... 目录一、主从复制1.1 什么是主从复制1.2 主从复制的作用1.3 主从复制原理1.3.1 全量复制

五大特性引领创新! 深度操作系统 deepin 25 Preview预览版发布

《五大特性引领创新!深度操作系统deepin25Preview预览版发布》今日,深度操作系统正式推出deepin25Preview版本,该版本集成了五大核心特性:磐石系统、全新DDE、Tr... 深度操作系统今日发布了 deepin 25 Preview,新版本囊括五大特性:磐石系统、全新 DDE、Tree

Python中的可视化设计与UI界面实现

《Python中的可视化设计与UI界面实现》本文介绍了如何使用Python创建用户界面(UI),包括使用Tkinter、PyQt、Kivy等库进行基本窗口、动态图表和动画效果的实现,通过示例代码,展示... 目录从像素到界面:python带你玩转UI设计示例:使用Tkinter创建一个简单的窗口绘图魔法:用

Redis主从复制的原理分析

《Redis主从复制的原理分析》Redis主从复制通过将数据镜像到多个从节点,实现高可用性和扩展性,主从复制包括初次全量同步和增量同步两个阶段,为优化复制性能,可以采用AOF持久化、调整复制超时时间、... 目录Redis主从复制的原理主从复制概述配置主从复制数据同步过程复制一致性与延迟故障转移机制监控与维

python多进程实现数据共享的示例代码

《python多进程实现数据共享的示例代码》本文介绍了Python中多进程实现数据共享的方法,包括使用multiprocessing模块和manager模块这两种方法,具有一定的参考价值,感兴趣的可以... 目录背景进程、进程创建进程间通信 进程间共享数据共享list实践背景 安卓ui自动化框架,使用的是

SpringCloud配置动态更新原理解析

《SpringCloud配置动态更新原理解析》在微服务架构的浩瀚星海中,服务配置的动态更新如同魔法一般,能够让应用在不重启的情况下,实时响应配置的变更,SpringCloud作为微服务架构中的佼佼者,... 目录一、SpringBoot、Cloud配置的读取二、SpringCloud配置动态刷新三、更新@R

Redis主从复制实现原理分析

《Redis主从复制实现原理分析》Redis主从复制通过Sync和CommandPropagate阶段实现数据同步,2.8版本后引入Psync指令,根据复制偏移量进行全量或部分同步,优化了数据传输效率... 目录Redis主DodMIK从复制实现原理实现原理Psync: 2.8版本后总结Redis主从复制实

C#如何优雅地取消进程的执行之Cancellation详解

《C#如何优雅地取消进程的执行之Cancellation详解》本文介绍了.NET框架中的取消协作模型,包括CancellationToken的使用、取消请求的发送和接收、以及如何处理取消事件... 目录概述与取消线程相关的类型代码举例操作取消vs对象取消监听并响应取消请求轮询监听通过回调注册进行监听使用Wa