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

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进阶】UNIX体系结构分解——操作系统,内核,shell

1.什么是操作系统? 从严格意义上说,可将操作系统定义为一种软件,它控制计算机硬件资源,提供程序运行环境。我们通常将这种软件称为内核(kerel),因为它相对较小,而且位于环境的核心。  从广义上说,操作系统包括了内核和一些其他软件,这些软件使得计算机能够发挥作用,并使计算机具有自己的特生。这里所说的其他软件包括系统实用程序(system utility)、应用程序、shell以及公用函数库等

在线装修管理系统的设计

管理员账户功能包括:系统首页,个人中心,管理员管理,装修队管理,用户管理,装修管理,基础数据管理,论坛管理 前台账户功能包括:系统首页,个人中心,公告信息,论坛,装修,装修队 开发系统:Windows 架构模式:B/S JDK版本:Java JDK1.8 开发工具:IDEA(推荐) 数据库版本: mysql5.7 数据库可视化工具: navicat 服务器:SpringBoot自带 ap

【操作系统】信号Signal超详解|捕捉函数

🔥博客主页: 我要成为C++领域大神🎥系列专栏:【C++核心编程】 【计算机网络】 【Linux编程】 【操作系统】 ❤️感谢大家点赞👍收藏⭐评论✍️ 本博客致力于知识分享,与更多的人进行学习交流 ​ 如何触发信号 信号是Linux下的经典技术,一般操作系统利用信号杀死违规进程,典型进程干预手段,信号除了杀死进程外也可以挂起进程 kill -l 查看系统支持的信号

DDei在线设计器-API-DDeiSheet

DDeiSheet   DDeiSheet是代表一个页签,一个页签含有一个DDeiStage用于显示图形。   DDeiSheet实例包含了一个页签的所有数据,在获取后可以通过它访问其他内容。DDeiFile中的sheets属性记录了当前文件的页签列表。   一个DDeiFile实例至少包含一个DDeiSheet实例。   本篇最后提供的示例可以在DDei文档直接预览 属性 属性名说明数

基于Springboot + vue 的抗疫物质管理系统的设计与实现

目录 📚 前言 📑摘要 📑系统流程 📚 系统架构设计 📚 数据库设计 📚 系统功能的具体实现    💬 系统登录注册 系统登录 登录界面   用户添加  💬 抗疫列表展示模块     区域信息管理 添加物资详情 抗疫物资列表展示 抗疫物资申请 抗疫物资审核 ✒️ 源码实现 💖 源码获取 😁 联系方式 📚 前言 📑博客主页:

操作系统实训复习笔记(1)

目录 Linux vi/vim编辑器(简单) (1)vi/vim基本用法。 (2)vi/vim基础操作。 进程基础操作(简单) (1)fork()函数。 写文件系统函数(中等) ​编辑 (1)C语言读取文件。 (2)C语言写入文件。 1、write()函数。  读文件系统函数(简单) (1)read()函数。 作者本人的操作系统实训复习笔记 Linux

比较学习难度:Adobe Illustrator、Photoshop和新兴在线设计平台

从入门设计开始,几乎没有人不知道 Adobe 公司两大设计软件:Adobe Illustrator和 Photoshop。虽然AI和PS很有名,有一定设计经验的设计师可以在早期探索和使用后大致了解AI和PS的区别,但似乎很少有人会系统地比较AI和PS。目前,设计软件功能多样,轻量级和网页设计软件已成为许多设计师的需求。对于初学者来说,一篇有针对性的AI和PS比较总结文章具有非常重要的指导意义。毕竟

Java研学-RBAC权限控制(八)

九 登录登出 1 登录作用   判断员工是否有权限访问,首先得知道现在操作的人是谁,所以必须先实现登录功能 2 登录流程   ① 提供登录页面,可输入用户名与密码信息,并添加执行登录的按钮。(登录页面不能被拦截)   ② 给按钮绑定点击事件(异步操作,POST请求)   ③ 事件中发送登录请求,使用 AJAX 方式提交。(使用 AJAX 原因:用户体验更好,既可保留用户刚输入的用户名和密码

气象站的种类和应用范围可以根据不同的分类标准进行详细的划分和描述

气象站的种类和应用范围可以根据不同的分类标准进行详细的划分和描述。以下是从不同角度对气象站的种类和应用范围的介绍: 一、气象站的种类 根据用途和安装环境分类: 农业气象站:专为农业生产服务,监测土壤温度、湿度等参数,为农业生产提供科学依据。交通气象站:用于公路、铁路、机场等交通场所的气象监测,提供实时气象数据以支持交通运营和调度。林业气象站:监测林区风速、湿度、温度等气象要素,为林区保护和

基于Java医院药品交易系统详细设计和实现(源码+LW+调试文档+讲解等)

💗博主介绍:✌全网粉丝10W+,CSDN作者、博客专家、全栈领域优质创作者,博客之星、平台优质作者、专注于Java、小程序技术领域和毕业项目实战✌💗 🌟文末获取源码+数据库🌟 感兴趣的可以先收藏起来,还有大家在毕设选题,项目以及论文编写等相关问题都可以给我留言咨询,希望帮助更多的人  Java精品实战案例《600套》 2023-2025年最值得选择的Java毕业设计选题大全:1000个热