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

上期目录:

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

目录

一.处理器与寄存器

二.中断

三.中断系统

四.进程

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

六.处理器调度算法


一.处理器与寄存器

二.中断

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

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

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

三.中断系统

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

四.进程

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

概念级的进程状态:

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

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

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

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

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

单线程结构进程的问题:

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

(任务并非无限可分~)

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

  • 快速线程切换

  • 减少系统管理开销

  • 线程通信易于实现

  • 并行程度提高

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

  • 前台和后台工作

  • C/S应用模式

  • 加快执行速度

  • 设计用户接口

KLT指的是内核级线程

ULT指的是用户级线程

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

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

六.处理器调度算法

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

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

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

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

相关推荐
天水幼麟1 小时前
动手学深度学习-学习笔记(总)
笔记·深度学习·学习
天水幼麟3 小时前
动手学深度学习-学习笔记【二】(基础知识)
笔记·深度学习·学习
绿皮的猪猪侠4 小时前
算法笔记上机训练实战指南刷题
笔记·算法·pta·上机·浙大
沧海一笑-dj4 小时前
【51单片机】51单片机学习笔记-课程简介
笔记·学习·51单片机·江科大·江科大学习笔记·江科大单片机·江科大51单片机
老虎06274 小时前
JavaWeb(苍穹外卖)--学习笔记04(前端:HTML,CSS,JavaScript)
前端·javascript·css·笔记·学习·html
大苏打seven5 小时前
Docker学习笔记:Docker网络
笔记·学习·docker
kikikidult9 小时前
(2025.07)解决——ubuntu20.04系统开机黑屏,左上角光标闪烁
笔记·ubuntu
近津薪荼9 小时前
初学者关于数据在内存中的储存的笔记
笔记
碎叶城李白11 小时前
若依学习笔记1-validated
java·笔记·学习·validated
HuashuiMu花水木13 小时前
PyTorch笔记1----------Tensor(张量):基本概念、创建、属性、算数运算
人工智能·pytorch·笔记