Bootstrap

[面试直通版]操作系统核心之进程、线程与协程(上)_如何隔离不同程序需要使用的计算机资源 操作系统如何进行不同程序的调度 操作系(3)

img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上大数据知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

需要这份系统化资料的朋友,可以戳这里获取

目录

操作系统的进程

操作系统的演进历史

多道程序设计

进程

进程状态模型

五状态模型

阻塞,非阻塞,同步,异步


  • 操作系统的进程

  • 典型问题:
  • 简述什么是进程
  • 简述为什么操作系统需要进程
  • 以下内容带您一步步了解
    • 操作系统的演进历史
  • 1.无操作系统的时代->
  • 特点:
  • 人工操作
  • 用户独占(不能执行别的用户的任务)
  • CPU等待人工操作
  • 资源利用率低
  • 2.批处理系统的时代->
  • 特点:
  • 无需等待人工操作
  • 批量输入任务
  • 资源利用率提升
  • 出现了多道程序设计
  • 3.分时系统的时代
  • 特点:
  • 人机可以直接交互
  • 多用户(不仅指人,如多软件,多进程,多系统)共享
  • 能及时调试程序
  • 资源利用率提升
    • 多道程序设计
  • 早期的批处理系统只能一次处理一个任务
  • 多道程序设计使得批处理系统可以一次处理多个任务
  • 多道程序设计是指在计算机内存中同时存放多个程序
  • 多道程序在计算机的管理程序之下相互穿插运行
  • 对多道程序的管理是现代操作系统的重要功能
  • 所以多道程序设计之后的操作系统的形态为:
  • 用户无需面向硬件接口编程,利用操作系统来管理硬件资源
  • 如:
  • IO设备管理软件,提供读写接口
  • 文件管理软件,提供操作文件接口
  • 操作系统实现了对计算机硬件资源的管理和抽象
  • 多道程序设计可能会遇到的问题
  • 如何隔离不同程序需要使用的计算机资源?
  • 操作系统如何进行不同程序的调度?
  • 操作系统如何提升计算机资源的利用率和复用率?
  • 答案:操作系统需要进程
    • 进程
  • 为什么需要进程
  • 进程是系统进行资源分配和调度的基本单位
  • 进程作为程序独立运行的载体保障程序正常执行
  • 进程的存在使得操作系统资源的利用率大幅提升
  • 进程的形态
  • 在主存里,进程也是一段连续存储的空间,这个空间称为进程控制块(PCB)
  • 其中含有很多重要的信息:
  • 标识符,状态,优先级,程序计数器,内存指针,上下文数据,IO状态信息,记账信息等等
  • 标识符
  • 标识符唯一标记一个进程,用于区别其它进程
  • 状态
  • 标记进程的进程状态,如运行态,阻塞态
  • 程序计数器
  • 指向进程即将被执行的下一条指令的地址
  • 内存指针
  • 程序代码,进程数据相关指针
  • 上下文数据
  • 存储的是进程执行时处理器存储的数据
  • IO状态信息
  • 存储的是被进程IO操作所占用的文件列表
  • 记账信息
  • 存储的是进程所使用的CPU时间,时钟数总和等
  • 以上的都能归为4类:
  • 1.进程标识符
  • 2.进程处理机状态
  • 3.进程调度信息
  • 4.进程控制信息
  • 进程控制块(PCB)是用于描述和控制进程运行的通用数据结构
  • 用于记录进程当前状态和控制进程运行的全部信息
  • PCB使得进程是能够独立运行的基本单位

img
img

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

pics/618545628)**

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

;