• 操作系统备考学习 day2 (1.3.2 - 1.6)


    计算机系统概述

    操作系统运行环境

    中断和异常的概念

    在这里插入图片描述
    中断的作用

    CPU上会运行两种程序,一种是操作系统内核程序,一种是应用程序
    在合适的情况下,操作系统内核会把CPU的使用权主动让给应用程序
    中断让操作系统内核夺回CPU使用权的唯一途径
    中断会使CPU由用户态变为内核态,使操作系统重新夺回对CPU的控制权
    如果没有中断机制,那么一旦应用程序上CPU运行,CPU就会一直运行这个应用程序,就无法实现并发
    在这里插入图片描述

    中断的类型
    在这里插入图片描述
    内中断中:

    • 若当前执行的指令是非法的,如除法的除数为0,则会引发一个中断信号
    • 有时候应用程序想请求操作系统内核的服务,此时会执行一条特殊的指令–陷入指令,该指令会引发一个内部中断信号

    外中断中:

    • 时钟中断——由时钟部件发来的中断信号
    • I/O中断请求
    • 每一条指令执行结束时,CPU都会例行检查是否有外中断信号

    在这里插入图片描述
    中断机制的基本原理

    不同的中断信号,需要用不同的中断处理程序来处理,当CPU检测到中断信号后,会根据中断信号的类型去查询“中断向量表”,以此来找到相应的中断处理程序在内存中的存放位置。

    系统调用

    在这里插入图片描述
    系统调用是操作系统提供给应用程序使用的接口,可以理解为一种可供应用程序调用的特殊函数,应用程序可以通过系统调用来请求获得操作系统内核的服务

    系统调用与库函数的区别
    在这里插入图片描述
    由操作系统内核对共享资源进行统一的管理,并向上提供“系统调用”,用户进程想要使用共享资源,只能通过系统调用想操作系统内核发出请求。内核会对各个请求进行协调处理。

    在这里插入图片描述
    应用程序通过系统调用请求操作系统的服务。而系统中的各种共享资源都由操作系统内核同一掌管,因此凡是与共享资源有关的操作(如存储分配、I/O操作、文件管理等),都必须通过系统调用的方式向操作系统内核提出服务请求,由操作系统内核代为完成。这样可以保证系统的稳定性和安全性,防止用户进行非法操作。

    系统调用的过程

    在这里插入图片描述
    在这里插入图片描述
    注意:

    1. 陷入指令是在用户态执行的,执行陷入指令之后立即引发一个内中断,使CPU进入核心态
    2. 发出系统调用请求是在用户态,而对系统调用的相应处理核心态下进行

    操作系统体系结构

    在这里插入图片描述
    在这里插入图片描述
    原语是一种特殊的程序,具有原子性。也就是说,这段程序的运行必须一气呵成,不可被“中断”

    内核是操作系统最基本、最核心的部分
    实现操作系统内核功能的那些程序就是内核程序
    在这里插入图片描述
    大内核涉及第二、第三层,微内核仅涉及第二层
    在这里插入图片描述
    注意:变态的过程是有成本的,要消耗不少时间,频繁地变态会降低系统性能
    大内核需要2次变态,微内核需要6次

    在这里插入图片描述
    分层结构里,最底层是硬件,最高层是用户接口,每层仅可调用更低一层

    外核

    操作系统引导

    在这里插入图片描述
    安装操作系统后,硬盘的分布
    在这里插入图片描述
    开机过程:
    在这里插入图片描述

    虚拟机

    虚拟机:使用虚拟化技术,将一台物理机器虚拟化为多台虚拟机器,每个虚拟机器都可以独立运行一个操作系统
    同义术语:虚拟机管理程序/虚拟机监控程序/Virtual Machine Monitor/Hypervisor
    在这里插入图片描述
    在这里插入图片描述

  • 相关阅读:
    什么是ASCII码,ASCII码值的大小顺序是怎么样
    面经-框架-事务失效的几种场景
    地理数据常用处理
    中秋学习Qt6
    上下架和橱窗推荐如何设置,优化过程需要注意的地方
    【C语言】进阶——文件操作
    聊聊Mybatis的binding模块
    Redis——认识Redis
    Linux - 系统性能监控命令
    shell概述与与shell脚本
  • 原文地址:https://blog.csdn.net/mcyuuji/article/details/132651410