首页 > 系统相关 >初识多进程

初识多进程

时间:2023-01-03 11:55:55浏览次数:58  
标签:队列 -- PCB 初识 线程 切换 进程

多进程图像:

多进程图像从启动开始到关机结束。

操作系统要让用户使用计算机,创建了第一个进程shell。

每个进程有自己的ID。

 

操作系统如何组织进程?

PCB (process control block):记录进程信息的数据结构。

如何组织:就是在PCB结构之上形成一些数据结构。如就绪队列,阻塞队列。

如何管理:就是进程在多个状态之间的切换。

 

多进程如何交替?

  队列操作+调度+切换

切换的时候需要保存上下文,将当前寄存器的一些内容保存在PCB中。

多进程切换--用户级线程:https://www.cnblogs.com/wuyun--wy/p/17020462.html

多进程切换--内核线程:https://www.cnblogs.com/wuyun--wy/p/17020542.html

 

多进程如何影响?--内存管理

进程间内存不能相互覆盖,每个PCB有自己的段表,页表。

 

多进程如何合作?

核心在于进程同步(合理的推进顺序)。

 

进程和线程的微妙关系需要思考。或者说线程和进程本身就是“相同”的。

标签:队列,--,PCB,初识,线程,切换,进程
From: https://www.cnblogs.com/wuyun--wy/p/17020414.html

相关文章

  • 技术分享| 如何使用Prometheus实现系统进程监控
    如何监控线上正在运营的系统?如何得知系统目前是正常还是异常?Prometheus是这么一套数据监控解决方案。它能让运维及开发人员随时掌控系统的运行状态,快速定位出现问题的位......
  • 技术分享| 如何使用Prometheus实现系统进程监控
    如何监控线上正在运营的系统?如何得知系统目前是正常还是异常?Prometheus是这么一套数据监控解决方案。它能让运维及开发人员随时掌控系统的运行状态,快速定位出现问题的位置......
  • win 查看端口对应的pid。然后杀死pid所有进程
    netstat-aon|findstr"端口号"netstat-aon|findstr"10808"netstat-aon|findstr"8080"netstat-aon|findstr"8081"  杀死pidtaskkill/T/F/PIDpid号tas......
  • 初识Java
    初识JavaJava的特性和优势简单性就是c++语法的纯净版。没有头文件,指针运算,结构,联合,操作符重载,虚基类等等。面向对象面向对象是一种程序设计技术,他将重点放在数据(即对......
  • [HBase基础]--初识HBase
    HBase是什么?HBase是一个分布式的、面向列的开源数据库,该技术来源于FayChang所撰写的Google论文“Bigtable:一个结构化数据的分布式存储系统”。就像Bigtable利用了Google......
  • 初识Linux(十四)------ 系统服务 (daemons)
    1.daemon与服务(service)  简单的说,系统为了某些功能必须要提供一些服务(不论是系统本身还是网络方面),这个服务就称为service。但是service的提供总是需要程序的运......
  • 初识安卓系统​
    1安卓系统​1.1安卓系统简介​安卓系统(Android)是一种由Google公司和开放手机联盟领导及开发的操作系统,主要用于移动设备,如智能手机和平板电脑。它是基于开放源代码的Lin......
  • 初识JavaScript-概念,注释,js输入和输出语句
    初识JavaScript目录初识JavaScript1.初识JavaScript1.1JavaScript是什么1.1JavaScript是什么1.2JavaScript的作用1.3HTML/CSS/JS的关系1.4浏览器执行JS简介......
  • 极客编程python入门-多进程
    多进程在Python程序中轻松创建子进程:importosprint('Process(%s)start...'%os.getpid())#OnlyworksonUnix/Linux/Mac:pid=os.fork()ifpid==0:print('Iam......
  • QLocalServer和QLocalSocket单进程和进程通信实例_F_hawk189_新浪博客
    参考博客:http://tgstdj.blog.163.com/blog/static/74820040201243072238780/1.建立一个QLocalServer实例m_server2.进行listen:m_server->listen("servername")......