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 天前
Face AE Tuning
图像处理·笔记·学习·算法·计算机视觉
whale fall1 天前
【剑雅14】笔记
笔记
代码AC不AC1 天前
【Linux】计算机的基石:从冯·诺依曼体系结构到操作系统管理
linux·操作系统·冯诺依曼体系结构
星空的资源小屋1 天前
跨平台下载神器ArrowDL,一网打尽所有资源
javascript·笔记·django
Xudde.1 天前
Quick2靶机渗透
笔记·学习·安全·web安全·php
AA陈超1 天前
Git常用命令大全及使用指南
笔记·git·学习
愚戏师1 天前
Python3 Socket 网络编程复习笔记
网络·笔记
降临-max1 天前
JavaSE---网络编程
java·开发语言·网络·笔记·学习
大白的编程日记.1 天前
【计算网络学习笔记】MySql的多版本控制MVCC和Read View
网络·笔记·学习·mysql
IMPYLH1 天前
Lua 的 require 函数
java·开发语言·笔记·后端·junit·lua