计算机是如何工作的6

因此,往往就把“并行”和“并发”统称为“并发”

对应的编程方式(解决一个问题,同时搞多个任务来执行,共同协作解决)就称为“并发”

此处cpu的百分数,就是你的进程在cpu舞台上消耗时间的百分比

如果有一个进程,把cpu吃到百分百,意味着其他进程没有执行的时间了,这个进程就把cpu

霸占了,很可能造成系统卡顿

PCB中就需要提供一些属性,来支持系统完成对这些进程的调度

状态,优先级,上下文,记账信息

状态

描述,某个进程,是否能够去cpu上执行

有的时候,某个进程会不太方便,就比如,某个进程,通过Scanner等待用户输入内容

但是用户啥时候输入??完全不可控的事情

就绪状态:随时准备好去cpu上执行  操作系统,一打招呼,就上了

阻塞状态:这个进程,当前不方便去cpu上执行,不应该调度他

                 (比如,进程在等待IO,来自控制台的输入输出/硬盘输入输出/网卡输入输出)

其他的状态,暂时不做更多展开

 

程序执行到最后一行的时候,代码就需要暂停下来,不能继续往下走

要等待用户输入一个整数

进程暂停下来,不继续执行,这种等待的状态,就称为“阻塞”

这个阻塞,就是因为等待IO引起的阻塞

等待(wait)和挂起(hung up)

优先级

就比如你电脑上运行了吃鸡和qq,此时吃鸡的优先级是最高的,系统api可以直接设置的

记账信息

针对每个进程,占据了多少cpu时间,进行一个统计

会根据这个统计结果调整调度的策略

因此就需要在下一个轮次进行调整

确保每个进程都不会出现捞不着cpu的情况

计算机   操作系统  核心知识 

操作系统定位:

一个非常重要的软件

1)对下管理各种硬件设备

2)对上给软件提供稳定的运行环境

抽象封装

操作系统中的核心概念,进程

当前咱们的系统,都是“多任务”操作系统

每个跑起来的程序,都称为“进程”

所谓的“同时”其实时并发+并行

进程管理

1.描述。PCB

2.组织,双向链表

  PCB重要属性

1,PID进程的标识符

2,内存指针  进程使用的内存都在哪里,哪个部分放代码/指令,哪个部分放数据

3.文件描述表符  进程使用的硬盘的相关信息

支持进程调度

4,状态           就绪状态  阻塞状态

5,优先级

6,记账信息

7,上下文   支撑进程调度的重要属性  相当于游戏中的存档和读档 

        

相关推荐

  1. vue-loader如何工作

    2024-04-09 11:32:03       48 阅读
  2. vue-template-loader 如何工作

    2024-04-09 11:32:03       53 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-09 11:32:03       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-09 11:32:03       106 阅读
  3. 在Django里面运行非项目文件

    2024-04-09 11:32:03       87 阅读
  4. Python语言-面向对象

    2024-04-09 11:32:03       96 阅读

热门阅读

  1. 网路维护基础知识

    2024-04-09 11:32:03       39 阅读
  2. k8s搭建容器云平台

    2024-04-09 11:32:03       34 阅读
  3. k8s知识

    k8s知识

    2024-04-09 11:32:03      30 阅读
  4. mysql中的视图

    2024-04-09 11:32:03       32 阅读
  5. intellij idea的快速配置详细使用

    2024-04-09 11:32:03       33 阅读