NJU操作系统公开课笔记(2)

上期目录:

NJU操作系统公开课笔记(1)https://blog.csdn.net/jsl123x/article/details/134431343?spm=1001.2014.3001.5501

目录

一.处理器与寄存器

二.中断

三.中断系统

四.进程

五.线程与多线程技术概述

六.处理器调度算法


一.处理器与寄存器

二.中断

只有通过中断,用户程序才能切换为内核程序~

狭义的中断、系统异常和异常共同构成了广义的中断~

所谓的系统调用,本质上是一种中断~

三.中断系统

中断是激活操作系统的唯一方式~

四.进程

  • 进程是一个具有一定独立功能的程序关于某个数据集合的一次运行活动~
  • 进程是操作系统进行资源分配和调度的一个独立单位~

概念级的进程状态:

  • 运行态指进程占有处理机运行
  • 就绪态指进程具备运行条件等待处理器运行
  • 等待态指进程由于等待资源、输入输出、信号等而不具备运行条件~

(挂起状态指的是进程本身不具有任何资源~)

(原语是不可以被打断的~)

(进程切换必须在核心态下才能完成~)

五.线程与多线程技术概述

单线程结构进程的问题:

  • 单线程结构进程在并发程序设计上存在的问题
  • 进程切换开销大
  • 进程通信开销大
  • 限制了进程并发的粒度~
  • 降低了并行计算的效率~

(任务并非无限可分~)

并发多线程程序设计的优点:

  • 快速线程切换

  • 减少系统管理开销

  • 线程通信易于实现

  • 并行程度提高

  • 节省内存空间
    多线程技术的应用:

  • 前台和后台工作

  • C/S应用模式

  • 加快执行速度

  • 设计用户接口

KLT指的是内核级线程

ULT指的是用户级线程

(应用程序的需要催生了线程的产生~)

(物理并行性不是很好~)

六.处理器调度算法

在多道程序设计系统中,内存中有多道程序运行,他们相互争夺处理机这一重要的资源。处理机调度就是从就绪队列中,按照一定的算法选择一个进程并将处理机分配给它运行,以实现进程并发地执行。

一般情况下,当占用处理机的进程因为某种请求得不到满足而不得不放弃CPU进入等待状态时,或者当时间片到,系统不得不将CPU分配给就绪队列中另一进程的时候,都要引起处理机调度。除此之外,进程正常结束、中断处理等也可能引起处理机的调度。因此,处理机调度是操作系统核心的重要组成部分,它的主要功能如下:

  • 记住进程的状态,如进程名称、指令计数器、程序状态寄存器以及所有通用寄存器等现场信息,将这些信息记录在相应的进程控制块中。
  • 根据一定的算法,决定哪个进程能获得处理机,以及占用多长时间。
  • 收回处理机,即正在执行的进程因为时间片用完或因为某种原因不能再执行的时候,保存该进程的现场,并收回处理机。
  • 处理机调度的功能中,很重要的一项就是根据一定算法,从就绪队列中选出一个进程占用CPU运行。可见,算法是处理机调度的关键。

(生死攸关,最核心的程序~)

相关推荐
这可就有点麻烦了15 分钟前
强化学习笔记之【TD3算法】
linux·笔记·算法·机器学习
醉颜凉2 小时前
银河麒麟桌面操作系统V10 SP1:取消安装应用的安全授权认证
运维·安全·操作系统·国产化·麒麟·kylin os·安全授权认证
Ljubim.te2 小时前
软件设计师——数据结构
数据结构·笔记
speop4 小时前
【笔记】I/O总结王道强化视频笔记
笔记·音视频
yngsqq4 小时前
031集——文本文件按空格分行——C#学习笔记
笔记·学习·c#
sealaugh325 小时前
aws(学习笔记第一课) AWS CLI,创建ec2 server以及drawio进行aws画图
笔记·学习·aws
CXDNW5 小时前
【网络篇】计算机网络——应用层详述(笔记)
服务器·笔记·计算机网络·http·web·cdn·dns
向上的车轮5 小时前
Django学习笔记五:templates使用详解
笔记·学习·django
看山还是山,看水还是。6 小时前
MySQL 管理
数据库·笔记·mysql·adb
训山7 小时前
【11】纯血鸿蒙HarmonyOS NEXT星河版开发0基础学习笔记-模块化语法与自定义组件
笔记·学习·华为·harmonyos·鸿蒙系统