热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

【王道操作系统笔记】进程定义组成组织方式特征

进程定义程序:指令序列内存中同时放入多道程序,各个程序的代码,运算数据存放的位置不同。系统在每个程序执行之间,会在内存创

 


进程定义

程序:指令序列

内存中同时放入多道程序,各个程序的代码,运算数据存放的位置不同。

系统在每个程序执行之间,会在内存创建一个数据结构,称为进程控制块(PCB),用来描述进程的各种信息(如程序代码存放位置)

进程实体(进程映像):由程序段,数据段,PCB构成

程序段:存放程序代码(一系列指令)

数据段:程序运行时使用,产生的运算数据。如全局变量,局部变量,宏定义的常量.....

一般把进程实体简称为进程。

进程是进程实体的运行过程,是系统进行资源分配和调度的一个独立单位

创建进程,实质上就是创建进程实体中的PCB;撤销进程,实质上就是撤销实体中的PCB

PCB是进程存在的唯一标志。

严格来说:进程实体和进程并不一样,进程实体是静态的,进程是动态的。




PCB的组成:

 

进程标识符PID:当进程被创建时,操作系统会为进程分配一个唯一的,不重复的ID,用于区分不同的进程

用户标识符UID:标识进程所属的用户是谁

各种寄存器值:当进程切换时需要把进程当前的运行情况记录下来保存在PCB中,如程序计数器的值表示了当前程序执行到哪一句。




进程组织

多个进程之间的组织方式

链接方式:

按照进程状态将PCB分为多个队列,操作系统持有各个队列的指针

每一个指针会执行不同状态的进程队列

 

索引方式:

根据进程状态的不同,建立几张索引表,操作系统持有各个索引表的指针

 



进程的特征:

进程和程序是两个截然不同的概念,相较于程序,进程有:

动态性:进程是程序的一次执行过程,是动态的产生,变化和消亡的。最基本特征

并发性:内存中有多个进程实体,各进程可并发执行

独立性:进程是能独立运行,独立获得资源,独立接受调度的基本单位

异步性:各进程按各自独立的,不可预知的速度向前推进,操作系统要提供“进程同步机制”来解决异步问题

结构性:每个进程都会配置一个PCB。结构上看,进程由程序段,数据段,PCB组成




推荐阅读
  • 本文介绍了Java并发库中的阻塞队列(BlockingQueue)及其典型应用场景。通过具体实例,展示了如何利用LinkedBlockingQueue实现线程间高效、安全的数据传递,并结合线程池和原子类优化性能。 ... [详细]
  • 本文详细介绍了Java编程语言中的核心概念和常见面试问题,包括集合类、数据结构、线程处理、Java虚拟机(JVM)、HTTP协议以及Git操作等方面的内容。通过深入分析每个主题,帮助读者更好地理解Java的关键特性和最佳实践。 ... [详细]
  • 本文探讨了 Spring Boot 应用程序在不同配置下支持的最大并发连接数,重点分析了内置服务器(如 Tomcat、Jetty 和 Undertow)的默认设置及其对性能的影响。 ... [详细]
  • 微软Exchange服务器遭遇2022年版“千年虫”漏洞
    微软Exchange服务器在新年伊始遭遇了一个类似于‘千年虫’的日期处理漏洞,导致邮件传输受阻。该问题主要影响配置了FIP-FS恶意软件引擎的Exchange 2016和2019版本。 ... [详细]
  • 作者:守望者1028链接:https:www.nowcoder.comdiscuss55353来源:牛客网面试高频题:校招过程中参考过牛客诸位大佬的面经,但是具体哪一块是参考谁的我 ... [详细]
  • FinOps 与 Serverless 的结合:破解云成本难题
    本文探讨了如何通过 FinOps 实践优化 Serverless 应用的成本管理,提出了首个 Serverless 函数总成本估计模型,并分享了多种有效的成本优化策略。 ... [详细]
  • Netflix利用Druid实现高效实时数据分析
    本文探讨了全球领先的在线娱乐公司Netflix如何通过采用Apache Druid,实现了高效的数据采集、处理和实时分析,从而显著提升了用户体验和业务决策的准确性。文章详细介绍了Netflix在系统架构、数据摄取、管理和查询方面的实践,并展示了Druid在大规模数据处理中的卓越性能。 ... [详细]
  • 本文深入探讨了Linux系统中网卡绑定(bonding)的七种工作模式。网卡绑定技术通过将多个物理网卡组合成一个逻辑网卡,实现网络冗余、带宽聚合和负载均衡,在生产环境中广泛应用。文章详细介绍了每种模式的特点、适用场景及配置方法。 ... [详细]
  • 本文详细探讨了Netty中Future及其子类的设计与实现,包括其在并发编程中的作用和具体应用场景。我们将介绍Future的继承体系、关键方法的实现细节,并讨论如何通过监听器和回调机制来处理异步任务的结果。 ... [详细]
  • 2023年京东Android面试真题解析与经验分享
    本文由一位拥有6年Android开发经验的工程师撰写,详细解析了京东面试中常见的技术问题。涵盖引用传递、Handler机制、ListView优化、多线程控制及ANR处理等核心知识点。 ... [详细]
  • 本文详细介绍了 MySQL 的查询处理流程,包括从客户端连接到服务器、查询缓存检查、语句解析、查询优化及执行等步骤。同时,深入探讨了 MySQL 中的乐观锁机制及其在并发控制中的应用。 ... [详细]
  • MySQL缓存机制深度解析
    本文详细探讨了MySQL的缓存机制,包括主从复制、读写分离以及缓存同步策略等内容。通过理解这些概念和技术,读者可以更好地优化数据库性能。 ... [详细]
  • 本文探讨了在Java多线程环境下,如何确保具有相同key值的线程能够互斥执行并按顺序输出结果。通过优化代码结构和使用线程安全的数据结构,我们解决了线程同步问题,并实现了预期的并发行为。 ... [详细]
  • Linux系统中Java程序Too Many Open Files问题的深入解析与解决方案
    本文详细分析了在Linux环境下运行的Java应用程序中可能出现的“Too many open files”异常现象,探讨其成因及解决方法。该问题通常出现在高并发文件访问或大量网络连接场景下,对系统性能和稳定性有较大影响。 ... [详细]
  • 面神经F波技术及其在面瘫诊疗中的应用进展
    本文总结了李健东博士及其团队对面神经F波技术的研究成果,探讨其在面瘫诊断和预后评估中的应用。该技术自1996年建立以来,经过大量临床验证,已被广泛应用于早期面瘫的诊断,并显示出优于其他方法的准确性。研究还揭示了F波与面瘫预后的密切关系,为提高治愈率提供了重要依据。 ... [详细]
author-avatar
GXTV杨波
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有