进程Start

Linux中的命令解释器和Windows的程序管理器explorer.exe一样地位,都是在用户态下运行的

进程

共享变量发生不同进程间的指令交错,就可能会数据出错

进程只作为除CPU之外系统资源的分配单位
CPU的分配单位是线程

每个进程都有自己的独立用户空间
内核空间是OS内核的专用地址空间,它是所有进程共享的,只有一个
内核空间是共享的,但每个进程在内核空间执行时,会使用自己独立的内核栈(位于内核空间)

进程映像:进程存放在内存的程序,数据,用户栈PCB:系统管理控制进程运行用的一些信息集合
1.进程标识信息
2.处理机状态信息保存区(核心栈),保存进程进入OS内核的运行现场信息(通用寄存器,控制和状态寄存器)
3.进程控制信息
OS调度进程占用处理机的信息
进程状态信息
进程间通讯信息
存储管理信息(描述进程映像存储空间的数据结构)
进程所用资源信息

进程状态

运行状态:正在处理机上运行
就绪状态:进程获得了除处理机之外的一切所需资源,只差处理机
阻塞状态:进程正在等待某一事件而暂停运行(如:等待打印机,等待某个独占型的数据,等待IO结束)
在这里插入图片描述
就绪状态的进程如果被进程调度选中,就变为运行状态
在这里插入图片描述

进程控制和调度

进程切换过程:
保存CPU的上下文(PC寄存器,处理机状态字PS,其他寄存器)
修改当前运行进程的PCB内容
选择另一个进程
修改被调度选中的进程的PCB内容
恢复被选中进程的CPU现场
进程调度:
非剥夺:正在运行的进程主动放弃CPU时,才运行调度程序
剥夺:进程正在CPU上运行,此时也可以进行调度计算机定时的来时钟中断
中断处理程序运行,判断进程的时间片是否用完,用完了就会运行调度程序,选取另一个进程运行引起进程调度的因素:
1.进程主动放弃处理机
-正在运行的进程执行完毕(OS在处理“进程结束”系统调用后,会请求重新调度)
-正在运行的进程发出I/O请求(I/O请求没有完成前,进程是阻塞状态)
-正在运行的进程要等待其他进程或OS发出的事件
-正在运行的进程暂时得不到所要的系统资源
2.有新进程就绪时
3.时钟中断发生时,时钟中断处理程序调用有关时间片的处理程序,发现正在运行的进程时间片到了,请求重新调度
4.任何原因引起进程的优先级发生变化时进程调度的时机
1.发生了引起进程调度的条件,且当前进程无法继续运行下去时
2.中断处理结束或者系统调用处理结束,返回被中断进程的用户态程序执行前,若申请调度标志置上,则马上进行调度和切换

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/114069.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

PyCharm切换虚拟环境

PyCharm切换虚拟环境 为了满足不同任务需要不同版本的包,可以在Anaconda或者Miniconda创建多个虚拟环境文件夹,并在PyCharm下切换虚拟环境。 解决方案 1、打开Ananconda Prompt 2、创建自己的虚拟环境 格式:conda create -n 虚拟环境名字…

PSP - 蛋白质结构预测 OpenFold Multimer 模型训练参数与配置

欢迎关注我的CSDN:https://spike.blog.csdn.net/ 本文地址:https://spike.blog.csdn.net/article/details/132575709 OpenFold Multimer 是用于预测蛋白质多聚体结构的计算方法。基于OpenFold 的单体预测框架,利用深度学习技术,结…

dayjs格式转换成日期

目录 方法一: ​编辑方法二: 这个项目在筛选订单时间的时候是由前端进行筛选的,用的是adt-design-pro进行二开的,其中在用日期组件的时候遇到了一个问题,组件返回的是: 但是我需要的是年-月-日&#xff…

java八股文面试[数据库]——MySql聚簇索引和非聚簇索引区别

聚集索引和非聚集索引 聚集索引和非聚集索引的根本区别是表记录的排列顺序和与索引的排列顺序是否一致。 1、聚集索引 聚集索引表记录的排列顺序和索引的排列顺序一致(以InnoDB聚集索引的主键索引来说,叶子节点中存储的就是行数据,行数据在…

LeetCode 面试题 02.04. 分割链表

文章目录 一、题目二、C# 题解 一、题目 给你一个链表的头节点 head 和一个特定值 x,请你对链表进行分隔,使得所有 小于 x 的节点都出现在 大于或等于 x 的节点之前。 你不需要 保留 每个分区中各节点的初始相对位置。 点击此处跳转题目。 示例 1&#…

c# 本地化中英文切换

区域 线程默认区域为当前计算机所选区域 设置当前区域: Thread.CurrentThread.CurrentCulture new CultureInfo(“zh-cn”); 获取当前区域: Console.WriteLine(Thread.CurrentThread.CurrentCulture.ToString()); 区域名称: “zh-cn” 中文…

Spooling的原理

脱机技术 程序猿先用纸带机把自己的程序数据输入到磁带中,这个输入的过程是由一台专门的外围控制机实现的。之后CPU直接从快速的磁带中读取想要的这些输入数据。输出也类似。 假脱机技术(Spooling技术) 即用软件的方式来模拟脱机技术。要…

python爬虫14:总结

python爬虫14:总结 前言 ​ python实现网络爬虫非常简单,只需要掌握一定的基础知识和一定的库使用技巧即可。本系列目标旨在梳理相关知识点,方便以后复习。 申明 ​ 本系列所涉及的代码仅用于个人研究与讨论,并不会对网站产生不好…

如何实现AI的矢量数据库

推荐:使用 NSDT场景编辑器 助你快速搭建3D应用场景 然而,人工智能模型有点像美食厨师。他们可以创造奇迹,但他们需要优质的成分。人工智能模型在大多数输入上都做得很好,但如果它们以最优化的格式接收输入,它们就会真正…

DNS指向别名还是IP

现在有一台服务器dbprod126,ip是172.22.100.4 现在有一个需求,需要在dns中对dbprod126建一个别名wondadb3r的记录,也就是ping wondadb3r的时候显示的是dbprod126的ip,目前有两​种方法,主要使用方法1指向别名&#xf…

【Docker】网络

文章目录 Docker 网络基础Docker网络管理Docker网络架构CNMLibnetwork驱动 常见的网络类型 Docker 网络管理命令docker network createdocker network inspectdocker network connectdocker network disconnectdocker network prunedocker network rmdocker network ls docker …

多线程网络实现在线聊天系统(详细源码)

这篇博客整理自韩顺平老师的多线程网络学习,在Java基础中最难的就是多线程以及网络编程了,如果不太熟悉的小伙伴可以跟着课程学习,韩老师讲得很详细,缺点就是太详细有点墨迹。实现后的效果是在一个类似命令行窗口进行聊天&#xf…

软件测试—测试用例的设计

软件测试—测试用例的设计 测试用例是什么? 首先,测试用例(Test Case)是为了实施测试而向被测试系统提供的一组集合。这组集合包括:测试环境、操作步骤、测试数据、预期结果等要素。 好的测试用例的特征 一个好的测试…

349. 两个数组的交集

题目来源:力扣 题目描述: 给定两个数组 nums1 和 nums2 ,返回 它们的交集 。输出结果中的每个元素一定是 唯一 的。我们可以 不考虑输出结果的顺序 。 示例 1: 输入:nums1 [1,2,2,1], nums2 [2,2] 输出&#x…

jdbc235

概念:java database connectivity java数据库连接 java语言操作数据库 定义了一套操作所有关系型数据库的规则(接口) 本质:其实是官方公司定义了一套操作所有关系型数据库的规则,即接口。各个数据库厂商去实现这套接…

SSH远程连接macOS服务器:通过cpolar内网穿透技术实现远程访问的设置方法

文章目录 前言1. macOS打开远程登录2. 局域网内测试ssh远程3. 公网ssh远程连接macOS3.1 macOS安装配置cpolar3.2 获取ssh隧道公网地址3.3 测试公网ssh远程连接macOS 4. 配置公网固定TCP地址4.1 保留一个固定TCP端口地址4.2 配置固定TCP端口地址 5. 使用固定TCP端口地址ssh远程 …

联想电脑装系统无法按F9后无法从系统盘启动的解决方案

开机时按F9发现没有加载系统盘. 打开BIOS设置界面,调整设置如下: BOOT MODE: Legacy Support.允许legacy方式boot. BOOT PRIORITY: Legacy First. Legacy方式作为首选的boot方式. USB BOOT: ENABLED. 允许以usb方式boot. Legacy: 这里设置legacy boot的优先级,…

postgresql-日期函数

postgresql-日期函数 日期时间函数计算时间间隔获取时间中的信息截断日期/时间创建日期/时间获取系统时间CURRENT_DATE当前事务开始时间 时区转换 日期时间函数 PostgreSQL 提供了以下日期和时间运算的算术运算符。 计算时间间隔 age(timestamp, timestamp)函数用于计算两…

栈和队列(优先级队列)

一)删除字符串中所有相邻字符的重复项 1047. 删除字符串中的所有相邻重复项 - 力扣(LeetCode) 算法原理:栈结构模拟,只是需要遍历所有字符串中的字符,一次存放到栈里面即可,也是可以使用数组来模拟一个栈结构的: class…

如何在Windows本地快速搭建SFTP文件服务器,并通过端口映射实现公网远程访问

文章目录 1. 搭建SFTP服务器1.1 下载 freesshd服务器软件1.3 启动SFTP服务1.4 添加用户1.5 保存所有配置 2 安装SFTP客户端FileZilla测试2.1 配置一个本地SFTP站点2.2 内网连接测试成功 3 使用cpolar内网穿透3.1 创建SFTP隧道3.2 查看在线隧道列表 4. 使用SFTP客户端&#xff0…