当前位置: 首页 > news >正文

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

操作系统备考学习 day2

  • 计算机系统概述
    • 操作系统运行环境
      • 中断和异常的概念
      • 系统调用
    • 操作系统体系结构
    • 操作系统引导
    • 虚拟机

计算机系统概述

操作系统运行环境

中断和异常的概念

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

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

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

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

外中断中:

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

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

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

系统调用

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

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

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

系统调用的过程

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

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

操作系统体系结构

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

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

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

外核

操作系统引导

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

虚拟机

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

http://www.lryc.cn/news/152782.html

相关文章:

  • Django-跨域
  • wireshark抓包体验
  • Prometheus+grafana安装配置
  • 长连接和短连接有什么区别?
  • Qt应用开发(基础篇)——输入对话框 QInputDialog
  • C++ struct 笔记(超级详细)
  • Vue基础1:生命周期汇总(vue2)
  • Linux串口驱动
  • java反编译工具jd-gui使用
  • Linux 之 shell 脚本
  • 如何去阅读开源的第三方库的源码
  • 浅析Linux虚拟网络技术
  • 设计模式之九:迭代器与组合模式
  • 官方推荐:6种Pandas读取Excel的方法
  • Redis与Mysql区别
  • Black-Box Tuning for Language-Model-as-a-Service
  • 通用的ARM64架构镜像
  • git大文件推送报错
  • RDMA性能优化经验浅谈
  • day 44 | ● 309.最佳买卖股票时机含冷冻期 ● 714.买卖股票的最佳时机含手续费
  • 电子科大软件系统架构设计——系统分析与设计概述(含课堂作业、练习答案)
  • 【SpringMVC】@RequestMapping注解(详解)
  • 8.(Python数模)马尔科夫链预测
  • 什么是浏览器缓存(browser caching)?如何使用HTTP头来控制缓存?
  • 谁需要了解学习RPA?什么地方可以使用RPA?
  • Qt各个版本下载及安装教程(离线和非离线安装)
  • 使用爬虫代码获得深度学习目标检测或者语义分割中的图片。
  • 代码随想录算法训练营第39天 | ● 62.不同路径 ● 63. 不同路径II
  • 《网站建设:从规划到发布的全过程详解》
  • 1分钟实现 CLIP + Annoy + Gradio 文搜图+图搜图 系统