首页 > 系统相关 >创建进程的流程及进程切换的情况

创建进程的流程及进程切换的情况

时间:2023-03-01 16:35:00浏览次数:47  
标签:SCHED 流程 调度 切换 进程 优先级 就绪 CPU

创建进程

  • 为新进程分配一个唯一的进程标识符(pid)。
  • 为新进程分配资源,如内存空间、文件描述符、信号处理函数等。
  • 初始化新进程的进程控制块(PCB),包括设置初始状态、优先级、程序计数器等。
  • 将新进程插入就绪队列,等待调度。

进程切换

  • 时间片用完:当一个进程执行了一定时间后,如果还没有结束或阻塞,操作系统会强制将其从执行状态转换为就绪状态,让出CPU给其他进程。
  • 阻塞:当一个进程需要等待某个事件发生(如输入输出完成、信号到达等)时,它会主动放弃CPU,从执行状态转换为阻塞状态,直到事件发生才能重新就绪。
  • 抢占:当一个高优先级的进程就绪时,操作系统会暂停当前正在执行的低优先级的进程,将其从执行状态转换为就绪状态,并将CPU分配给高优先级的进程。
  • 结束:当一个进程完成了它的任务或被其他进程杀死时,它会从执行状态转换为结束状态,并释放所有占用的资源。

改变进程优先级

  • 在Linux系统中,可以通过nice和renice命令来设置和改变进程的优先级。nice命令可以在启动进程时指定其初始优先级,如nice -n 10 ./a.out表示以10为优先级运行a.out程序。renice命令可以在进程运行时修改其优先级,如renice -n 5 1234表示将pid为1234的进程的优先级改为5。
  • 在Linux系统中,还可以通过调整进程的调度策略来设置实时进程的优先级。调度策略决定了进程在CPU上运行的方式和时间。Linux支持多种调度策略,如SCHED_OTHER、SCHED_FIFO、SCHED_RR等。实时进程通常使用SCHED_FIFO或SCHED_RR策略,并且有一个0到99之间的实时优先级值。可以通过sched_setscheduler函数来设置进程的调度策略和实时优先级。

标签:SCHED,流程,调度,切换,进程,优先级,就绪,CPU
From: https://www.cnblogs.com/forlqy/p/chuang-jian-jin-cheng-de-liu-cheng-ji-jin-cheng-qi.html

相关文章

  • xv6系统调用流程——MIT6.S081操作系统
    这篇文章通过gdb跟踪基于risc-v架构的xv6系统中write系统调用的处理流程。系统调用是操作系统给应用程序提供的操作底层硬件资源的简单清晰的接口,隐藏底层资源的复杂性,比......
  • vue+leaflet示例:在线地图切换显示(附源码下载)
    demo源码运行环境以及配置运行环境:依赖Node安装环境,demo本地Node版本:14.19.1。运行工具:vscode或者其他工具。配置方式:下载demo源码,vscode打开,然后顺序执行以下命令:(1......
  • 【Linux】孤儿进程 | 命令行参数 | 进程优先级
    1.孤儿进程如果父进程一直存在,子进程先退出了,父进程对子进程退出不管不顾,会出现什么样问题么?创建makefile并输入以下内容mytest:test.c2gcc-o$@$^3.PHONY:clea......
  • python切换pip源
    PSE:\docker>pipconfigsetglobal.index-urlhttps://pypi.tuna.tsinghua.edu.cn/simpleWritingtoC:\Users\lenovo\AppData\Roaming\pip\pip.iniPSE:\docker>pip......
  • printf的流程
    printf的流程将内存中的数据拷贝到stdout中将stdout拷贝到FO文件对象中(文件对象帮助与硬件进行交互,输出到屏幕上)清理stdout在Linux中,若printf的格式化字符串未添加......
  • 进程
    1.调用atexit()函数注册一个进程在正常终止时需要调用的函数。2.getpid获取本程序的进程号,getppid获取父进程的进程号。3.env查看环境变量,添加环境变量:exportLINUX_APP=......
  • APP定制开发的重要性及流程
    APP定制开发是一种根据客户需求开发个性化移动应用的服务。在当今移动应用市场日益竞争的环境下,定制化开发已经成为企业获得竞争优势的关键之一。以下是APP定制开发的流程:......
  • Qt音视频开发18-不同视频打开无缝切换
    一、前言在轮询视频的时候,通常都是需要将之前的视频全部关闭,然后打开下一组视频,在这个切换的过程中,如果是按照常规的做法,比如先关闭再打开新的视频,肯定会出现空白黑屏之类......
  • 钉钉h5开发流程
    1.先在钉钉开发者后台https://login.dingtalk.com/oauth2/challenge.htm?redirect_uri=https%3A%2F%2Fopen-dev.dingtalk.com%2Fdingtalk_sso_call_back%3Fcontinue%3Dhtt......
  • activiti:流程定义管理 ProcessDefifinition
    activiti:流程定义管理ProcessDefifinition上文链接:https://www.cnblogs.com/wangshaoyun/p/17150560.html部署好流程定义后,则可以进行查询、激活(启动)、挂起(暂停)、删除......