【计算机操作系统:二、操作系统的结构和硬件支持】

news2025/1/8 21:03:41

第2章 操作系统的结构和硬件支持

2.1 操作系统虚拟机

操作系统虚拟机是一种通过软件技术对硬件资源进行抽象和虚拟化的机制,使用户能够以逻辑方式访问和使用计算机资源。

  1. 定义与概念

    • 虚拟机是操作系统虚拟化技术的核心产物,通过模拟硬件资源为多个操作系统提供运行环境。

    • 提供应用程序与硬件之间的隔离,提高系统的安全性和稳定性。

  2. 虚拟机的实现方式

    • 全虚拟化:模拟硬件环境,使操作系统完全不感知底层虚拟化的存在。

    • 半虚拟化:部分硬件资源由虚拟化平台直接管理,例如通过支持虚拟化的CPU指令优化性能。

    • 容器虚拟化:通过共享操作系统内核实现轻量化虚拟化,每个容器独立运行应用程序。

  3. 应用场景

    • 资源整合:将多个虚拟机部署在单一硬件上,提升资源利用率。

    • 隔离环境:为开发、测试提供独立的运行环境,避免相互干扰。

    • 灾备与迁移:支持虚拟机快照、动态迁移等功能。

2.2 操作系统的组织结构
2.2.1 操作系统的结构

操作系统的结构是其功能模块的组织方式,不同结构直接影响系统的运行效率、扩展性和可维护性。

  1. 单体结构

    • 所有功能模块运行在内核空间,包括进程管理、内存管理、文件系统等。

    • 优点:性能高,模块间通信效率快。

    • 缺点:模块间高度耦合,任何修改可能影响整个系统。

  2. 微内核结构

    • 仅保留最基本的功能模块,如进程管理、内存管理。

    • 其他功能模块运行在用户空间。

    • 优点:模块独立,易于扩展和调试。

    • 缺点:模块间通信开销大。

  3. 模块化结构

    • 内核划分为多个相对独立的模块,如文件系统模块、网络模块等。

    • 优点:扩展性强,易于维护和调试。

    • 缺点:需要良好的模块接口设计。

2.2.2 运行时的组织结构
  1. 任务调度机制

    • 调度器根据调度算法分配CPU资源。

    • 常见算法包括先来先服务(FCFS)、短作业优先(SJF)、时间片轮转等。

  2. 内存管理

    • 包括虚拟内存的动态分配与回收,涉及页表、段表等。

    • 提供按需调页机制,减少内存浪费。

2.2.3 操作系统与计算机系统各层次的接口
  1. 用户接口

    • 提供用户与操作系统交互的工具,例如命令行接口(CLI)和图形用户界面(GUI)。
  2. 系统调用接口

    • 提供一组标准化的函数,用户程序通过系统调用接口请求操作系统服务。
  3. 硬件接口

    • 操作系统通过设备驱动程序与底层硬件交互,例如磁盘驱动、网络驱动等。
2.3 处理机的特权级
2.3.1 处理机的态及分类

处理机运行态定义了系统的访问权限级别,用于确保系统安全和稳定性。

  1. 用户态

    • 用于运行普通应用程序。

    • 权限受限,禁止直接操作硬件。

  2. 内核态

    • 用于运行操作系统核心代码。

    • 拥有最高权限,可以直接操作硬件资源。

  3. 态切换机制

    • 当用户程序请求系统资源或触发异常时,处理器从用户态切换到内核态。
2.3.2 特权指令

特权指令用于执行对硬件有直接影响的操作,仅能在内核态运行。

  1. 定义与分类

    • 包括I/O操作指令、内存管理指令、处理器控制指令等。
  2. 安全机制

    • 当用户态程序尝试执行特权指令时,处理器会触发异常并进入内核态处理。
2.4 中断及其处理
2.4.1 中断概念及类型

中断是计算机系统中处理异步事件的重要机制,用于确保系统对突发事件的及时响应。

  1. 类型

    • 硬件中断:由外设触发,例如键盘输入、网络包到达等。

    • 软件中断:由程序显式触发,例如系统调用。

    • 异常:由处理器检测到的错误触发,例如除零错误。

2.4.2 向量中断和探询中断
  1. 向量中断

    • 每种中断类型分配一个唯一编号,通过编号找到对应的中断处理程序。
  2. 探询中断

    • 按优先级逐一检查中断源,找到激活的中断。
2.4.3 中断进入

描述中断请求信号到中断处理程序开始执行的全过程,涉及保存现场、加载中断向量等。

2.4.4 软件中断处理过程

软件中断由程序触发,常用于系统调用或内核功能测试,处理过程包括参数传递和结果返回。

2.5 UNIX、Linux系统结构
2.5.1 UNIX系统的体系结构
  1. 分层结构

    • 硬件层、内核层、系统调用接口层、用户层。

    • 每一层次独立,便于维护和扩展。

  2. 模块划分

    • 包括文件系统模块、进程管理模块、设备管理模块等。
2.5.2 UNIX系统的核心结构
  1. 核心模块

    • 负责内存管理、进程调度、设备驱动等基本功能。
  2. 内核功能

    • 提供进程间通信机制。

    • 管理文件系统,支持多种文件系统格式。

2.5.3 Linux系统的内核结构

Linux内核采用模块化设计,支持动态加载模块和内核更新。

  1. 模块划分

    • 文件系统模块、网络协议栈、设备驱动模块。
  2. 特性

    • 高度可移植性,支持从嵌入式设备到超级计算机的多种硬件架构。
2.6 Linux系统的特权级与中断处理
2.6.1 Linux系统的特权级

Linux系统采用两级特权机制:用户态和内核态。

  1. 切换机制

    • 用户程序通过系统调用进入内核态。

    • 内核态完成任务后返回用户态。

2.6.2 中断处理的上半部和下半部
  1. 上半部

    • 处理紧急的中断请求,例如硬件状态检查。
  2. 下半部

    • 延迟执行非紧急任务,例如网络包处理。
2.6.3 中断处理下半部的实现机制
  1. 实现机制

    • 使用软中断、任务队列等延迟执行框架。
  2. 实际案例

    • 网络数据包的接收和协议解析分布于上半部和下半部。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2273423.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

配置数据的抗辐照加固方法

SRAM 型FPGA 的配置存储器可以看成是由0 和1 组成的二维阵列,帧的高度为矩阵阵列的高度,相同结构的配置帧组成配置列,如CLB 列、IOB 列、输入输出互联(Input Output Interconnect,IOI)列、全局时钟(Global Clock, GCLK)列、BRAM 列和BRAM 互联…

【学习路线】Python 算法(人工智能)详细知识点学习路径(附学习资源)

学习本路线内容之前,请先学习Python的基础知识 其他路线: Python基础 >> Python进阶 >> Python爬虫 >> Python数据分析(数据科学) >> Python 算法(人工智能) >> Pyth…

【Vue3项目实战系列一】—— 全局样式处理,导入view-ui-plus组件库,定制个性主题

😉 你好呀,我是爱编程的Sherry,很高兴在这里遇见你!我是一名拥有十多年开发经验的前端工程师。这一路走来,面对困难时也曾感到迷茫,凭借不懈的努力和坚持,重新找到了前进的方向。我的人生格言是…

SCAU期末笔记 - 数据库系统概念往年试卷解析

数据库搞得人一头雾水,题型太多太杂,已经准备摆烂了。就刷刷往年试卷,挂不挂听天由命。 2019年 Question 1 选择题 1. R ∩ S R∩S R∩S等于一下哪个选项? 画个文氏图秒了 所以选A. R ∩ S R − ( R − S ) R∩SR-(R-S) R∩…

oxml中创建CT_Document类

概述 本文基于python-docx源码,详细记录CT_Document类创建的过程,以此来加深对Python中元类、以及CT_Document元素类的认识。 元类简介 元类(MetaClass)是Python中的高级特性。元类是什么呢?Python是面向对象编程…

Fabric环境部署

官方下载文档:A Blockchain Platform for the Enterprise — Hyperledger Fabric Docs main documentation 1.1 创建工作目录 将Fabric代码按照GO语言的推荐方式进行存放,创建目录结构并切换到该目录下。具体命令如下: mkdir -p ~/go/src/g…

TCP与DNS的报文分析

场景拓扑: 核心路由配置: 上(DNS):10.1.1.1/24 下(WEB):20.1.1.1/24 左(client):192.168.0.1/24 右(PC3):192.168.1.1/24Clint2配置&a…

怎么管理电脑usb接口,分享四种USB端口管理方法

怎么管理电脑usb接口,分享四种USB端口管理方法 USB接口作为电脑重要的外部接口,方便了数据传输和设备连接。 然而,不加管理的USB接口也可能带来安全隐患,例如数据泄露、病毒传播等。 因此,有效管理电脑USB接口至关重…

教育咨询系统架构与功能分析

一、系统架构 服务端 服务端:Java(最低JDK1.8,支持JDK11以及JDK17)数据库:MySQL数据库(标配5.7版本,支持MySQL8)ORM框架:Mybatis(集成通用tk-mapper&#x…

nginx http反向代理

系统:Ubuntu_24.0.4 1、安装nginx sudo apt-get update sudo apt-get install nginx sudo systemctl start nginx 2、配置nginx.conf文件 /etc/nginx/nginx.conf,但可以在 /etc/nginx/sites-available/ 目录下创建一个新的配置文件,并在…

代码管理助手-Git

前言 Git 是一个版本控制系统,可以帮助你记录文件的每一次修改。这样,如果你在编程时不小心把代码写错了,可以很容易地回退到之前的版本。最重要的是,Git 是完全免费的,用户可以在自己的计算机上安装和使用 Git&#x…

注册中心如何选型?Eureka、Zookeeper、Nacos怎么选

这是小卷对分布式系统架构学习的第9篇文章,第8篇时只回答了注册中心的工作原理的内容,面试官的第二个问题还没回答,今天再来讲讲各个注册中心的原理,以及区别,最后如何进行选型 上一篇文章:如何设计一个注册…

WebRtc02: WebRtc架构、目录结构、运行机制

整体架构 WebRtc主要分为三层: CAPI层:外层调用Session管理核心层:包括视频引擎、音频引擎、网络传输 可由使用者重写视频引擎:编解码器、视频缓存、视频增强音频引擎:编解码器、音频缓存、回音消除、降噪传输&#x…

【Java】JVM内存相关笔记

Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干个不同的数据区域。这些区域有各自的用途,以及创建和销毁的时间,有的区域随着虚拟机进程的启动而一直存在,有些区域则是依赖用户线程的启动和结束而建立和销毁。 程序计数器&am…

基于springboot的网上商城购物系统

作者:学姐 开发技术:SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等 文末获取“源码数据库万字文档PPT”,支持远程部署调试、运行安装。 目录 项目包含: 开发说明: 系统功能: 项目截图…

STM32 拓展 低功耗案例3:待机模式 (hal)

配置PA0的两种方式: 第一种 第二种 复制寄存器代码然后对其进行修改 mian.c /* USER CODE BEGIN Header */ /********************************************************************************* file : main.c* brief : Main program body…

VLMs之Agent之CogAgent:《CogAgent: A Visual Language Model for GUI Agents》翻译与解读

VLMs之Agent之CogAgent:《CogAgent: A Visual Language Model for GUI Agents》翻译与解读 导读:这篇论文介绍了CogAgent,一个专注于图形用户界面 (GUI) 理解和导航的视觉语言模型 (VLM)。这篇论文提出了一种新的视觉语言模型 CogAgent&#…

HTML+CSS+JS制作中华传统文化主题网站(内附源码,含5个页面)

一、作品介绍 HTMLCSSJS制作一个中华传统文化主题网站,包含首页、文化艺术页、传统工艺页、文化遗产页、关于我们页等5个静态页面。其中每个页面都包含一个导航栏、一个主要区域和一个底部区域。 二、页面结构 1. 顶部导航区 包含网站 Logo、主导航菜单&#xff…

笔记-使用ffmpeg产生rtsp视频流,然后用进行VLC播放

笔记-使用ffmpeg产生rtsp视频流,然后用进行VLC播放 1.软件配置1.1下载安装好**ffmpeg**1.2使用EasyDarwin创建RTSP服务器 2.FFmpeg找本地摄像头名字3.FFmpeg推流命令3.1使用VLC实现拉流 1.软件配置 1.1下载安装好ffmpeg ffmpeg官网 本地下载 1.2使用EasyDarwin创…

【竞技宝】CS2:HLTV2024职业选手排名TOP8-broky

北京时间2025年1月7日,HLTV年度选手排名正在持续公布中,今日凌晨正式公布了今年的TOP8为FAZE战队的broky。 选手简介 broky是一位来自拉脱维亚的职业CS选手,现年23岁。2018年7月,broky获得了FPL资格,连续几季在榜上前5。他的首次赛场留名是跟随拉脱维亚本土战队Wolsung出征BES…