操作系统学习笔记(1.计算机系统概述 2.进程与线程)

文章目录

  • 第一章 计算机系统概述
    • 操作系统的概念、功能
    • 操作系统的特征
    • 操作系统的发展与分类
    • 操作系统的运行机制
    • 中断和异常
    • 系统调用
    • 操作系统体系结构(上)
    • 操作系统体系结构(下)
    • 操作系统引导
    • 虚拟机
  • 第二章 进程管理
    • 进程的概念,组成,特征
    • 进程的状态与转换
    • 进程控制
    • 进程通信(IPC)
    • 线程的概念
    • 线程的实现方式和多线程模型
    • 线程的状态与转换
    • 处理机调度的概念,层次
    • 进程调度的时机,切换,过程,调度方式
    • 调度器,闲逛进程
    • 调度算法的评价指标
    • 调度算法(1)
    • 调度算法(2)
    • 调度算法(3)
    • 进程同步和进程互斥
    • 进程互斥的软件实现方法
    • 进程互斥的硬件实现方法
    • 互斥锁
    • 信号量机制
    • 用信号量机制实现进程互斥,同步,前驱关系
    • 生产者消费者问题
    • 多生产者-多消费者问题
    • 吸烟者问题
    • 读者写者问题
    • 哲学家进餐问题
    • 管程
    • 死锁的概念
    • 死锁的处理策略-预防死锁
    • 死锁额处理策略--避免死锁(银行家算法)
    • 死锁的处理策略--检测和解除

第一章 计算机系统概述

操作系统的概念、功能

操作系统的概念

  • 操作系统是系统资源(软硬件)的管理者
  • 是最接近硬件的一层软件
  • 向上层提供方便易用的服务

操作系统学习笔记(1.计算机系统概述 2.进程与线程)_第1张图片
作为系统资源的管理
操作系统学习笔记(1.计算机系统概述 2.进程与线程)_第2张图片
向上层提供方便易用的服务
操作系统学习笔记(1.计算机系统概述 2.进程与线程)_第3张图片
GUI图形化接口
操作系统学习笔记(1.计算机系统概述 2.进程与线程)_第4张图片
命令接口

  • 联机命令接口,也叫交互式命令接口
  • 脱机命令接口,也叫批处理命令接口

操作系统学习笔记(1.计算机系统概述 2.进程与线程)_第5张图片
程序接口

  • 通过系统调用来使用程序接口,只能通过程序代码使用

操作系统学习笔记(1.计算机系统概述 2.进程与线程)_第6张图片
操作系统学习笔记(1.计算机系统概述 2.进程与线程)_第7张图片
作为最接近硬件的层次
操作系统学习笔记(1.计算机系统概述 2.进程与线程)_第8张图片
知识点小结
操作系统学习笔记(1.计算机系统概述 2.进程与线程)_第9张图片

操作系统的特征

操作系统学习笔记(1.计算机系统概述 2.进程与线程)_第10张图片
并发

  • 并发:宏观同时,微观交替
  • 并行,多个时间在同一时间同时发生,与并发区分开

操作系统学习笔记(1.计算机系统概述 2.进程与线程)_第11张图片
共享

  • 所谓的同时往往是宏观的,微观上可能还是交替的对资源访问
  • 有些资源在微观上也可能是真的被同时共享,比如多个程序同时播放音响设备

操作系统学习笔记(1.计算机系统概述 2.进程与线程)_第12张图片
并发和共享的关系

  • 并发和共享互为存在条件

操作系统学习笔记(1.计算机系统概述 2.进程与线程)_第13张图片
虚拟

  • 空分复用技术,时分复用技术,这两个有个印象就行,第三章重点讲解

操作系统学习笔记(1.计算机系统概述 2.进程与线程)_第14张图片
操作系统学习笔记(1.计算机系统概述 2.进程与线程)_第15张图片
异步
操作系统学习笔记(1.计算机系统概述 2.进程与线程)_第16张图片
知识点小结
操作系统学习笔记(1.计算机系统概述 2.进程与线程)_第17张图片

操作系统的发展与分类

可能出选择题

手工操作系统
操作系统学习笔记(1.计算机系统概述 2.进程与线程)_第18张图片
批处理阶段–单道批处理系统
操作系统学习笔记(1.计算机系统概述 2.进程与线程)_第19张图片

操作系统学习笔记(1.计算机系统概述 2.进程与线程)_第20张图片
批处理阶段–多道批处理系统
操作系统学习笔记(1.计算机系统概述 2.进程与线程)_第21张图片
分时操作系统
操作系统学习笔记(1.计算机系统概述 2.进程与线程)_第22张图片
实时操作系统
操作系统学习笔记(1.计算机系统概述 2.进程与线程)_第23张图片
其操作系统

  • 了解,考试主要靠前面几个操作系统

操作系统学习笔记(1.计算机系统概述 2.进程与线程)_第24张图片
知识点小结

  • 重点理解各类型操作系统解决什么问题,怎么解决的

操作系统学习笔记(1.计算机系统概述 2.进程与线程)_第25张图片

操作系统的运行机制

操作系统学习笔记(1.计算机系统概述 2.进程与线程)_第26张图片
区分指令和小黑框的命令行

  • 我们说的指令是二进制机器指令,小黑框的命令其实交互式命令接口

操作系统学习笔记(1.计算机系统概述 2.进程与线程)_第27张图片
内核程序和应用程序

  • 内核是操作系统最核心的部分,最接近硬件,操作系统不全都是内核

操作系统学习笔记(1.计算机系统概述 2.进程与线程)_第28张图片
特权指令和非特权指令

  • CPU在设计和生产时就划分了特权指令和非特权指令,CPU自己能判断出要执行的是不是特权指令

操作系统学习笔记(1.计算机系统概述 2.进程与线程)_第29张图片
内核态和用户态

  • CPU如何判断当前执行指令的是内核程序还是应用程序
  • 用程序状态自寄存器PSW的一个标记位表示CPU当前的状态
  • 内核态又称核心态,管态,用户态又称目态

操作系统学习笔记(1.计算机系统概述 2.进程与线程)_第30张图片
内核态和用户态的切换

  • 内核态到用户态,执行特权指令
  • 用户态到内核态,由中断引发,硬件自动完成变态过程
  • 但凡需要操作系统介入的地方,都会触发中断信号

操作系统学习笔记(1.计算机系统概述 2.进程与线程)_第31张图片
知识点小结

  • 重要,高频考点,但可能也就出一个选择题

操作系统学习笔记(1.计算机系统概述 2.进程与线程)_第32张图片

中断和异常

操作系统学习笔记(1.计算机系统概述 2.进程与线程)_第33张图片
中断的作用

  • 没有中断程序就谈不上并发,也谈不上操作系统

操作系统学习笔记(1.计算机系统概述 2.进程与线程)_第34张图片
中断的类型
操作系统学习笔记(1.计算机系统概述 2.进程与线程)_第35张图片
内中断

  • 陷入指令是一种特殊的指令,但不是特权指令

操作系统学习笔记(1.计算机系统概述 2.进程与线程)_第36张图片
外中断

  • 例如时钟中断
    • 系统需要并发运行两个应用程序
    • 首先在用户态,运行应用程序1
    • 时钟部件发现时间到了,发给CPU一个中断信号
    • CPU检测到中断信号,暂停应用程序,转为内核态,执行处理中断的内核程序,发现该让应用程序2运行了
    • 内核程序将CPU使用权交给应用程序2,切换为用户态,开始执行应用程序2
    • 当应用程序2执行时间达到一定时,重复以上过程
  • 例如输入输出设备发来的中断信号
    • 应用程序请求打印服务,打印服务完成后向CPU发送中断信号,CPU对这个中断信号进行处理

操作系统学习笔记(1.计算机系统概述 2.进程与线程)_第37张图片
中断的分类

  • 狭义,广义
  • 考试一般提到的中断特指外中断,
  • 内中断我们一般说成是异常,例外
  • 之前我们讲解的其实是广义的中断,泛指所有的中断

操作系统学习笔记(1.计算机系统概述 2.进程与线程)_第38张图片
中断机制的基本原理

  • 不同的中断信号,需要用不同的中断处理程序来处理,通过中断向量表保存中断处理程序的指针
  • 中断处理程序一定是内核程序

操作系统学习笔记(1.计算机系统概述 2.进程与线程)_第39张图片
知识点小结
操作系统学习笔记(1.计算机系统概述 2.进程与线程)_第40张图片

系统调用

操作系统学习笔记(1.计算机系统概述 2.进程与线程)_第41张图片
什么是系统调用,作用

  • 操作系统给用户直接使用的是命令接口,给应用程序使用的程序接口就是系统调用
  • 应用程序通过系统调用获取操作系统的内核服务

操作系统学习笔记(1.计算机系统概述 2.进程与线程)_第42张图片
系统调用与库函数的区别

  • 系统调用是比高级语言更为底层的接口
  • 有的库函数涉及系统调用,有的不涉及系统调用

操作系统学习笔记(1.计算机系统概述 2.进程与线程)_第43张图片
系统调用的重要性

  • 应用程序都想使用共享资源,因此用系统调用进行统一管理
  • 用户进程想要使用共享资源,只能通过系统调用向操作系统内核发出请求

操作系统学习笔记(1.计算机系统概述 2.进程与线程)_第44张图片
什么功能需要系统调用

  • 凡是共享资源都需要系统调用,保证系统的稳定性和安全性,防止用户非法操作

操作系统学习笔记(1.计算机系统概述 2.进程与线程)_第45张图片
系统调用的过程

  • 应用程序运行在用户态,想要系统调用,首先向CPU寄存器传必要参数,用于后续的系统调用,比如指明需要哪种系统调用,传参可能有多条
  • 应用程序执行陷入指令,陷入指令引发内中断
  • CPU识别trap导致的内中断,切换为内核态,转入对应的中断处理程序(系统调用入口程序)
  • 在系统调用入口程序中,检查参数,判断出需要执行哪个系统调用
  • CPU执行对应的系统调用处理程序
  • 系统调用程序执行完,CPU转为用户态,接着处理用户的应用程序

操作系统学习笔记(1.计算机系统概述 2.进程与线程)_第46张图片
系统调用的过程

  • 1.陷入指令是用户态执行的,触发内中断,使CPU进入核心态
  • 发出系统调用的请求是在用户态下,对系统调用的相应处理是在核心态下进行

操作系统学习笔记(1.计算机系统概述 2.进程与线程)_第47张图片
知识点小结
操作系统学习笔记(1.计算机系统概述 2.进程与线程)_第48张图片

操作系统体系结构(上)

操作系统学习笔记(1.计算机系统概述 2.进程与线程)_第49张图片
操作系统的内核

  • 操作系统内部进一步划分,内核和非内核功能

操作系统学习笔记(1.计算机系统概述 2.进程与线程)_第50张图片
操作系统的内核

  • 内核程序必须运行在内核态
  • 时钟管理,中断处理,原语是内核中最底层的,与硬件关联紧密,必须再内核态运行
  • 进程管理,存储器管理,设备管理,更多是对数据结构的操作,不会直接涉及硬件
  • 因此有两种关于内核的设计方法,大内核,微内核,区别在于是否把进程管理,存储器管理,设备管理等功能划入到内核功能内

操作系统学习笔记(1.计算机系统概述 2.进程与线程)_第51张图片
操作系统的体系结构

  • 两种体系结构的区别
  • 微内核的体系结构会导致CPU在内核态和用户态转换更加频繁,频繁变态会降低系统性能
  • 所以大内核的状态切换少,但是程序复杂;微内核的状态切换更频繁,但是程序简单些
  • 答题时要用术语,叫状态切换,不要讲变态

操作系统学习笔记(1.计算机系统概述 2.进程与线程)_第52张图片
知识点小结

  • 考试重点考察两种体系结构的区别,优缺点

操作系统学习笔记(1.计算机系统概述 2.进程与线程)_第53张图片

操作系统体系结构(下)

今年新增考点:分层结构,模块化,外核
如果出题,也是简单的选择题,了解各体系结构的特性,优缺点

操作系统学习笔记(1.计算机系统概述 2.进程与线程)_第54张图片
汇总表格

  • 标星号的是出题概率较大的,红色是新内容,黄色是老内容
  • 表格列举的比较清晰了,可以直接看表,不理解的再看视频详细解释

你可能感兴趣的:(408学习专区,操作系统)