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

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

相关文章

浅析如何使用Swagger生成带权限控制的API文档

《浅析如何使用Swagger生成带权限控制的API文档》当涉及到权限控制时,如何生成既安全又详细的API文档就成了一个关键问题,所以这篇文章小编就来和大家好好聊聊如何用Swagger来生成带有... 目录准备工作配置 Swagger权限控制给 API 加上权限注解查看文档注意事项在咱们的开发工作里,API

linux进程D状态的解决思路分享

《linux进程D状态的解决思路分享》在Linux系统中,进程在内核模式下等待I/O完成时会进入不间断睡眠状态(D状态),这种状态下,进程无法通过普通方式被杀死,本文通过实验模拟了这种状态,并分析了如... 目录1. 问题描述2. 问题分析3. 实验模拟3.1 使用losetup创建一个卷作为pv的磁盘3.

MySQL中的MVCC底层原理解读

《MySQL中的MVCC底层原理解读》本文详细介绍了MySQL中的多版本并发控制(MVCC)机制,包括版本链、ReadView以及在不同事务隔离级别下MVCC的工作原理,通过一个具体的示例演示了在可重... 目录简介ReadView版本链演示过程总结简介MVCC(Multi-Version Concurr

Linux环境变量&&进程地址空间详解

《Linux环境变量&&进程地址空间详解》本文介绍了Linux环境变量、命令行参数、进程地址空间以及Linux内核进程调度队列的相关知识,环境变量是系统运行环境的参数,命令行参数用于传递给程序的参数,... 目录一、初步认识环境变量1.1常见的环境变量1.2环境变量的基本概念二、命令行参数2.1通过命令编程

Linux之进程状态&&进程优先级详解

《Linux之进程状态&&进程优先级详解》文章介绍了操作系统中进程的状态,包括运行状态、阻塞状态和挂起状态,并详细解释了Linux下进程的具体状态及其管理,此外,文章还讨论了进程的优先级、查看和修改进... 目录一、操作系统的进程状态1.1运行状态1.2阻塞状态1.3挂起二、linux下具体的状态三、进程的

Spring IOC控制反转的实现解析

《SpringIOC控制反转的实现解析》:本文主要介绍SpringIOC控制反转的实现,IOC是Spring的核心思想之一,它通过将对象的创建、依赖注入和生命周期管理交给容器来实现解耦,使开发者... 目录1. IOC的基本概念1.1 什么是IOC1.2 IOC与DI的关系2. IOC的设计目标3. IOC

高效管理你的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