进程的优先级

进程优先级

排队的本质就是在确定优先级,在队伍的头部先享受到资源

1.优先级是什么

得到某种资源的先后顺序

2.为什么设立优先级

资源不足

3.优先级原理

PCB中的一个整形字段,数值越小,优先级越大

优先级VS权限

优先级:能得到某种资源,只不过需要等一等

权限:是否能得到某种资源

Linux优先级整形范围在60-99,Linux进程默认情况下都是80 指令ps -l可显示

Linux支持动态优先级调整的,但是我们不能直接去修改PRI,pcb中还存在一个跟优先级相关的变量NI(NICE)值,我们可以通过修改NI值来改变进程优先级 nice命令

计算方法:PRI(new)=PRI(old)(80)+NI

tips:PRI(old)每次都是80,而且nice调整最小是-20,最大是19,使得PRI在60-99区间

为什么把优先级限制在一定范围内?

OS调度的时候,较为均衡的使得每一个进程都得到调度,容易导致优先级较低的进程,长时间得不到CPU资源,成了饥饿进程

进程性质

1.独立性

2.竞争性

3.并行

多个进程在多个CPU下分别,同时进行运行

4.并发

多个进程在一个CPU下采用进程切换的方式,使得多个进程都得到推进,叫做并发

每一个进程不是占有CPU就一直运行,每隔一段时间(时间片),会自动从CPU上剥离下来,

我们进程在运行的时候,是会使用CPU的寄存器的(例如函数返回值,程序记数器),进程所产生的数据会临时保存在寄存器中,各个进程在寄存器中形成的临时数据叫做这个进程的硬件上下文

进程切换

进程切出时,会将CPU寄存器内容(临时数据)内容保存到进程PCB中

进程切入时,会先恢复临时数据,再在被切换的代码的位置继续编译

相关推荐

  1. Linux——进程优先级、ACL

    2024-06-06 21:42:02       12 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-06-06 21:42:02       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-06-06 21:42:02       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-06-06 21:42:02       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-06-06 21:42:02       20 阅读

热门阅读

  1. Docker安全配置

    2024-06-06 21:42:02       7 阅读
  2. CMPSC473 malloclab: writing a dynamic storage allocator

    2024-06-06 21:42:02       9 阅读
  3. Flask的模块化实践

    2024-06-06 21:42:02       6 阅读
  4. Flask启动重复注册schedule问题

    2024-06-06 21:42:02       9 阅读
  5. LeetCode-239.滑动窗口最大值

    2024-06-06 21:42:02       8 阅读
  6. Napster诞生25周年:文件共享革命的引领者

    2024-06-06 21:42:02       7 阅读
  7. ZCC5429 异步升压芯片

    2024-06-06 21:42:02       8 阅读