首页 > 系统相关 >操作系统&进程——面试高频问题

操作系统&进程——面试高频问题

时间:2024-03-23 21:34:01浏览次数:27  
标签:操作系统 cpu 面试 阻塞状态 进程 PCB 高频 CPU

一.概念

   一个程序运行起来,就会对应一个进程(process),进程也是系统分配的基本单位。
 

二.PCB 的几个核心属性

  1.pid 进程标识符.

              

          同一个机器,同一个时刻,进程id一定是不同.`

   2.内存指针

            进程运行时需要消耗一定的硬件资源,内存就是一个关键的资源!!

            一个程序再运行的时候,就会被从硬盘(xxx.exe)加载到内存中.

  3.文件描述符表

             一个进程运行的时候,会操作一些文件. 就通过一个"顺序表"这样的数据结构,记录下当前这个进程,都打开了哪些文件.

 4. 进程调度

        在任务管理器中,可以看到,系统中包含了很多进程,每个进程都需要执行.

       执行就需要占用cpu资源,去cpu上执行.  然而进程的数量远远多于cpu的数量的这是就需要进         程调度来负责了!!!  

       PCB中提供了几个属性,支持 进程调度

        (1)状态

          随叫随到 => 在操作系统中称为"就绪状态"

          拒之门外 => 在操作系统中,称为进程处于"阻塞状态",处于阻塞状态的进                                      程,无法在CPU上执行.往往这个进程在等待IO的时候就会进入阻塞状态

       (2)优先级

       (3)上下文

            进程在CPU执行过程中,也会产生很多"中间结果",在进程切换出CPU之前,就需要把这               些中间结果(CPU的各种寄存器中的值)保持到pcb的上下文里 【存档】下次这个进程回到                 CPU上执行的时候,就需要先把之前的存档恢复回来【读档】

       (4)记账信息

          操作系统也是要避免某个进程一直吃不到CPU资源,就会进行类似的统计,给吃的少的进              程,适当多分配一些

三. 管理

       为什么要进行管理??

          操作系统上面包括了很多的进程,一但东西多了,就得考虑“管理”。

    在操作系统中,通常使用称为PCB(进程控制块)这样的结构体来描述进程的.

    操作系统管理进程:

     (1) 先描述 => PCB结构体 来把进程的各种属性都表示出来.

     (2) 再组织 => 通过链表数据结构把多个PCB串起来.

标签:操作系统,cpu,面试,阻塞状态,进程,PCB,高频,CPU
From: https://blog.csdn.net/2201_75808173/article/details/136973653

相关文章

  • 计算机/网安 面试例题(六)
    反序列化00-序列化和反序列化序列化:把内存中的对象以二进制的形式保存在文本中(输出流)反序列化:把文本中的对象读出来到内存中(输入流)反序列化用到的函数序列化:serialize反序列化:unserialize01-常见反序列化的流量特征像这种st2045、068、shiro反序列化、fast......
  • python环境搭建及特定操作系统注意事项
    文章目录搭建Python环境通用的流程:**1.下载并安装Python解释器****2.验证安装****3.安装包管理器(pip)****4.安装必要的开发工具****5.创建虚拟环境(推荐)****6.安装项目所需的库****7.配置IDE/编辑器**特定操作系统(如Windows、macOS、Linux)的特定步骤或注意事项**Wi......
  • 100道面试必会算法-09-最大子数组和(初探动态规划)
    100道面试必会算法-09-最大子数组和(初探动态规划)题目一个整数数组nums,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。子数组是数组中的一个连续部分。示例1:输入:nums=[-2,1,-3,4,-1,2,1,-5,4]输出:6解释:连续子数组[4,-1,2,1]的和最大,......
  • 2024年C语言最新经典面试题汇总(1-10)
    C语言文章更新目录C语言学习资源汇总,史上最全面总结,没有之一C/C++学习资源(百度云盘链接)计算机二级资料(过级专用)C语言学习路线(从入门到实战)编写C语言程序的7个步骤和编程机制C语言基础-第一个C程序C语言基础-简单程序分析VS2019编写简单的C程序示例简单示例,VS2019调......
  • 【面试】高并发中的集合
    本文旨在总结多线程情况下集合的使用Java中的集合大致以下三个时期:第一代线程安全集合类以Vector、HashTable为代表的初代集合,使用synchronized在修饰方法,从而保证线程安全。缺点:效率低。代码示例Vectoradd方法源码/***Appendsthespecifiedelementtotheendoft......
  • Linux操作系统学习2024.03.23
    Linux操作系统学习目标2024.03.23一.操作系统1.1作用:主要作用是管理好硬件设备,并为用户和应用程序提供一个简单的接口,以便于使用,作为中间人,连接软件和硬件。1.2不同应用领域的主流操作程序·桌面操作系统:1.Windows系列2.macOS3.Linux·服务器操作系统:1.Linux2.Windows......
  • 数据库面试高频题目 - 深度解析 MySQL:探秘关系型数据库的核心技术(一)
       本文将深入探讨MySQL,这是关系型数据库中的核心技术,被广泛应用于数据存储和管理。透过高频面试题解析,我们将深入研究MySQL在数据建模、查询优化和事务处理中的作用。无论你是初学者还是渴望加深对关系型数据库技术的了解,本文都将为你提供实用的面试准备。一、innod......
  • SpringBoot 面向面试学习(2023.03.23更新)
    导语在网上找了很多SpringBoot相关的教程,要么是针对初学者面向实战入门的视频,要么基于面试但存在收费或不全面的问题……因此参考网上博客特此总结了一些可能常见的面试题,循序渐进,以问题为导向,以面试为场景进行学习/复习。JavaGuide提供的Spring常见面试题总结可以去看,里面......
  • Java面向对象编程面试题
    序号问题详细答案1什么是类与对象?类和对象实例之间的关系?   类具有继承、数据隐藏和多态三种主要特性。类是同一类对象实例的共性的抽象,对象是类的实例化;类是静态的,对象是动态的,对象可以看作是运行中的类。类负责产生对象,可以将类当成生产对象的工厂2构造函数的特点有哪些(1......
  • Java回溯知识点(含面试大厂题和源码)
    回溯算法是一种通过遍历所有可能的候选解来寻找所有解的算法,如果候选解被确认不是一个解(或至少不是最后一个解),回溯算法会通过在上一步进行一些变化来丢弃这个解,即“回溯”并尝试另一个候选解。回溯法通常用递归方法来实现,在解决排列、组合、选择问题时非常有效。回溯算法的......