操作系统——调度管理

1.请简述什么是进程?

操作系统——多道程序设计——实现了对计算机硬件资源的管理和抽象

多道程序设计:

  • 如何隔离不同程序需要使用的计算机资源?
  • 操作系统如何进行不同程度的调度?
  • 操作系统如何提升计算机资源的利用率与复用率?

提出进程:

  • 进程是系统进行资源分配和调度的基本单位
  • 进程作为程序独立运行的载体保障程序正常执行
  • 进程的存在使得操作系统资源的利用率大幅提升

2.请简述为什么操作系统需要进程?

操作系统是对计算机硬件资源的管理和抽象

多道程序设计存在的问题,由进程来解决

3.进程和线程有什么区别?

线程的提出是为了提高系统内程序并发执行的程度

  • 线程是操作系统进行运行调度的最小单位
  • 包含在进程中,是进程中实际运行工作的单位
  • 一个进程可以并发多个线程,每个线程执行不同的任务
  • 进程的线程共享进程的资源

4.请简述操作系统进程的相关调度算法

7种进程调度算法
 

  1. 先来先服务调度算法
  2. 优先级调度算法
  3. 时间片轮转调度算法
  4. 短进程优先调度算法
  5. 最短剩余时间优先调度算法
  6. 最高响应比优先调度算法
  7. 多级反馈队列调度算法 

5.请简述对操作系统内核态的理解

为了屏蔽用户对计算机可能造成的影响,操作系统设计为内核态和用户态

内核态:

  • 内核空间:存放的是内核代码和数据
  • 进程执行操作系统内核的代码
  • CPU可以访问内存所有数据,包括外围设备

用户态:

  • 用户空间:存放的是用户程序的代码和数据
  • 进程在执行用户自己的代码(非系统调用之类的函数)
  • CPU只可以访问有限的内存,不允许访问外设

6.进程在什么时候会进入内核态?请举例说明

用户态——>内核态的三种情况

系统调用:从硬盘读取数据,从网卡里面读写数据(用户主动)

异常中断:发生不可预知的错误,只能由操作系统去处理(异常情况)

外围设备中断:外围设备主动发出中断信号

7.请简述什么是IO密集型任务

  • 频繁读写网络、磁盘等任务都属于IO密集型任务
  • 完成一项任务的时间取决于IO设备的速度
  • CPU利用率低、大部分时间在等待外围设备完成

复制粘贴、下载工具、web应用、视频解码、AI计算

8.服务部署时对于服务器资源,应该注意什么?

9.协程是什么?为什么需要协程?

  • 比线程更小的粒度
  • 运行效率更高
  • 可以支持更高的并发
  • 协程的本质是用户级线程
  • 由用户自行调度,内核无法干涉
  • 协作运行,相互让步

协程是用户态来进行调度的,调度、切换、管理更加轻量

内核无法感知协程的存在

可以减少上下文切换的成本

无法发挥CPU的多核优势

协程主要运用在多IO的场景

10.多协程可以发挥CPU的多核优势吗?为什么?

不能,没有办法被内核感知的

11.请简述对阻塞、非阻塞、同步、异步等概念的理解

阻塞状态:进程要调用外围设备,发出call后一直等待,等到结果return后进行设备调用,这个等待的过程是阻塞状态

非阻塞状态:进程要读取1G的数据,发出call后,立刻返回return告诉它还没准备好,进程就去做其他事情,等到准备好后,通知进程ready,进程再读取数据,这个过程没有等待,所以是非阻塞状态

同步和异步强调的是消息通信机制

阻塞和非阻塞强调的是程序在等待调用结果时的状态

12.请简述进程为什么会发生阻塞?  

进程因为某种原因如:其他设备未就绪而无法继续执行

从而放弃CPU的状态称为阻塞状态

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值