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 小时前
计算机网络第四章笔记(四)
笔记·计算机网络
了一梨1 小时前
SQLite3学习笔记2:SQL 基础语法
笔记·学习·sqlite
Cathy Bryant1 小时前
softmax函数与logits
笔记·神经网络·机器学习·概率论·信息与通信
charlie1145141912 小时前
现代嵌入式 C++——自定义删除器(Custom Deleter)
开发语言·c++·笔记·学习·嵌入式
Wilber的技术分享2 小时前
【Transformer原理详解2】Decoder结构解析、Decoder-Only结构中的Decoder
人工智能·笔记·深度学习·llm·transformer
历程里程碑2 小时前
Linux 9:GCC编译全流程详解
linux·运维·服务器·c语言·笔记·编辑器·vim
Byte不洛2 小时前
Linux 多线程编程入门:线程栈、TLS、互斥锁与条件变量详解
linux·操作系统·多线程·pthread·线程互斥
pass_port_csdn2 小时前
zotero搬家,迁移换机/重装100% 完美克隆指南:文献PDF、插件配置、文献分类、标签、笔记等所有信息全克隆
笔记·pdf·zotero
weixin_440730502 小时前
04python编程笔记-06文件+07异常+08模块导入+09unittest框架
笔记·python
小龙报2 小时前
【SOLIDWORKS 练习题】草图专题:3.机械臂
笔记·单片机·嵌入式硬件·物联网·开源·硬件工程·材料工程