第二轮复习 408 操作系统(概述)

第二轮复习 408 操作系统(概述)

    • 操作系统的概述
      • 操作系统的目标与特征
      • 操作系统发展历程
    • 操作系统的运行环境
      • 处理器运行模式
      • 中断和异常的概念
      • 系统调用
      • 操作系统结构
      • 操作系统引导

操作系统的概述

操作系统是控制和管理整个计算机系统的硬件与软件管理整个计算机硬件于软件资源,合理地组织、调度计算机的工作与资源的分配,进而为用户和其他软件提供方便接口与环境的程序集合

操作系统的目标与特征

操作系统作为计算机系统资源的管理者

  • 处理机管理:进程控制、进程通信、死锁处理、处理机调度
  • 存储器管理:内存分配、地址映射、内存保护和内存扩充等功能
  • 文件管理:操作系统中负责文件管理的部分称为文件系统,文件管理包括文件存储空间的管理,目录管理以及文件读写管理和保护等。
  • 设备管理:设备管理的主要任务是完成用户的I/O请求,并提高设备的利用率

操作系统作为用户与计算机之间的接口

  • 命令接口:交互式命令接口,批处理式接口
  • 程序接口:程序接口由一组系统调用组成

操作系统实现了对计算机资源的扩充

操作系统发展历程

手工操作阶段
批处理阶段

  • 单道批处理阶段的主要特征:自动性,顺序性,单道性
  • 多道批处理阶段:用户所提交的作业都先存放在外存上并排成一个队列,作业调度程序按一定的算法从后备队列中选择若干作业掉入内存,他们在管理程序的控制下互相穿插地运行,共享系统的各种软硬件资源
  • 分时操作系统:将处理器的运行时间分成很短的时间片。按照时间片轮流讲处理器分配给各联机作业使用
  • 实时操作系统:为了能在时间限制内完成某些紧急而不需要排队
  • 网络操作系统和分布式计算机系统
  • 个人计算机操作系统

操作系统的运行环境

处理器运行模式

CPU要执行两种不同性质的程序:一种是操作系统内核程序;另一种是用户自编程序。

  • 特权指令:指不允许用户直接使用的指令:I/O指令、关中断指令、内存清零指令、存取用于内存保护的指令、将PSW送到程序状态寄存器中
  • 非特权指令:用户直接使用的指令
    在具体实现上,将CPU的运行模式化为用户态和核心态,访管指令是在用户态执行的。

内核包括4方面内容

  • 时钟管理:时钟管理衡量一个作业的运行程度
  • 中断机制:键盘或鼠标信息的输入、进程的管理和调度、系统功能的调用、设备驱动、文件访问无不依赖中断机制
  • 原语:定义原语的方式应该是关中断,系统中设备驱动、CPU切换、进程通信都可以被定义为原语
  • 系统控制的数据结构及处理
    • 进程管理:进程管理、进程调度和分派、创建与撤销进程控制块
    • 存储器管理:存储器的空间分配和回收、内存信息保护程序、代码对换程序
    • 设备管理:缓冲区管理、设备的分配和回收

核心态指令实际上包括系统调用类指令和一些对针对时钟、中断和原语的操作指令

中断和异常的概念

中断,是指来自CPU执行外部命令的事件通常用于信息输入输出,设备发出的I/O结束中断,表示设备输入输出已经完成
异常:是指来自CPU执行指令内部的事件
GPT有意思的对比
请添加图片描述

系统调用

系统调用时指用户在程序中调用操作系统所提供的一些子功能:

  • 设备管理:完成设备的请求和释放
  • 文件管理:完成进程的创建和撤销
  • 进程通信:完成进程之间的消息传递或信号传递
  • 进程控制:完成进程的创建、撤销、阻塞以及唤醒
  • 内存管理:完成内存的分配、回收以及获取作业

系统调用的过程
请添加图片描述

操作系统结构

分层法
分层法是将操作系统分为若干层,底层为硬件,顶层为用户接口
模块化
模块化是将操作系统按功能划分为若干具有一定独立性。每个模块具有某方面的管理方法,并规划好各模块间的接口,使各模块之间能够接口进行通信
宏内核
宏内核也称大内核,指系统主要功能模块作为一个紧密联系的整体运行在核心态
微内核
微内核和多个服务器操作系统的绝大部分功能都放在微内核的一组服务器中实现,微内核运行在核心态、其他模块运行在用户态
机制与策略分离将机制部分与硬件紧密部分放入微内核中

  • 进程管理:进程通信、切换、调度都应该放入微内核。如实现调度功能,需要在进程管理中设置一个或多个进程优先队列这属于机制部分,而对用户进程如何分类等策略放在管理器中
  • 低级存储器管理:在微内核中只配置最基本的低级存储器管理机制,如用于页表机制和地址变换机制,这一部分是硬件的机制,而采用何种方式是策略
  • 中断和陷入处理

外核
外核虚拟机(Exokernel Virtual Machine)通过简化虚拟机监控器(VMM)的功能,仅提供基础的资源管理和保护,让虚拟机直接访问和管理底层硬件资源。

操作系统引导

操作系统是一种程序,程序以数据的形式存放在硬盘,而硬盘分为多个区,操作系统引导是只计算机利用CPU运行特定程序,通过识别硬盘,硬盘分区
上的操作系统,最后启动操作系统。
常见的操作系统的引导过程如下:

  1. 激活CPU。激活的CPU读取ROM中的程序,将指令寄存器设置为BIOS的第一条指令
  2. 硬件自检:BIOS在内存最开始的空间构建中断向量表,接下来的POST过程要用到中断功能呢,然后通电自检,检查硬件是否有问题,如故障会显示CPU、内存、硬盘等信息
  3. 加载带有操作系统的硬盘。
  4. 加载主引导记录。
  5. 扫描硬盘分区表
  6. 加载分区引导记录
  7. 加载启动管理器
  8. 加载操作系统

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

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

相关文章

JMH320【亲测】【御剑九歌】唯美仙侠手游御剑九歌+WIN学习手工端+视频教程+开服清档+运营后台+授权GM物品充值后台

资源介绍: 这也是仙梦奇缘的一个游戏 注意:外网14位IP或域名 ———————————————————————————————————– ps后台介绍: 1区运营后台:http://ip:9981/admin/admintool/ 2区运营后台:http://ip…

识别 Spring Cloud 配置文件的规则:Nacos, Bootstrap, Application

个人名片 🎓作者简介:java领域优质创作者 🌐个人主页:码农阿豪 📞工作室:新空间代码工作室(提供各种软件服务) 💌个人邮箱:[2435024119qq.com] &#x1f4f1…

redis哨兵系统框架部署

redsi主从配置 下面是基于redis主从的环境部署哨兵模式 1、在配置好redis主从后,添加哨兵模式需要在sentinel.conf文件添加一条命令(主从节点都需要添加) mymaster 是主节点的别名。192.168.25.129 是主节点的 IP。6379 是主节点的端口。2 是仲裁值,表…

遗漏知识点

什么是RAII? RAII是Resource Acquisition Is Initialization(wiki上面翻译成 “资源获取就是初始化”)的简称,是C语言的一种管理资源、避免泄漏的惯用法。利用的就是C构造的对象最终会被销毁的原则。RAII的做法是使用一个对象&am…

Day05-组织架构-角色管理

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 1.组织架构-编辑部门-弹出层获取数据2.组织架构-编辑部门-编辑表单校验3.组织架构-编辑部门-确认取消4.组织架构-删除部门5.角色管理-搭建页面结构6.角色管理-获取数…

网络数据传输中的封装与解封装详解

注:机翻,未校对。 The goal of networks is to transmit data from one host to another. 网络的目标是将数据从一个主机传输到另一个主机。 Encapsulation 封装 To achieve this goal, each layer adds its own header to the data. A header contain…

Vue2基础 14:自定义指令

自定义指令 1 函数式1.1 案例--v-text放大10倍 2 对象式2.1 案例--v-fbind默认获取焦点(函数式)2.2 案例--v-fbind默认获取焦点(对象式) 3 自定义指令容易犯的错4 全局指令写法(参考过滤器写法)&#xff1a…

跟《经济学人》学英文:2024年07月06日这期 Central banks are winning the battle against inflation

Central banks are winning the battle against inflation. But the war is just getting started Politics and protectionism will make life difficult 原文: The trajectory of inflation has not given central bankers much cause for celebration in rece…

android2024 gradle8 Processor和ksp两种编译时注解实现

android编译时注解,老生常谈,外面的例子都是bindView,脑壳看疼了,自己学习和编写下。 而且现在已经进化到kotlin2.0,google也逐渐放弃kapt,进入维护状态。所以要好好看看本贴。 参考我的工程: h…

gda动态调试-cnblog

忽的发现gda有动态调试功能 动态监听返回值 框柱指定方法,选择调试方法,gda会自动监听函数的返回值,例如 自定义frida脚本 gda会自动生成hook该函数的frida脚本

zigbee笔记:六、看门狗定时器(Watch Dog)

一、看门狗基础 1、看门狗功能: 由于单片机的工作常常会受到来自外界电磁场的干扰,造成各种寄存器和内存的数据混乱,会导致程序指针错误等,程序运行可能会陷入死循环。程序的正常运行被打断,由单片机控制的系统无法继…

kafka系列之消费后不提交offset情况的分析总结

概述 每当我们调用Kafka的poll()方法或者使用KafkaListener(其实底层也是poll()方法)时,它都会返回之前被写入Kafka的记录,即我们组中的消费者还没有读过的记录。 这意味着我们有一种方法可以跟踪该组消费者读取过的记录。 如前所述,Kafka的一…

【面向就业的Linux基础】从入门到熟练,探索Linux的秘密(十)-git(2)

下面是一些git的常用命令和基本操作,可以当做平常的笔记查询,用于学习!!! 文章目录 前言 一、git 二、git常用命令 总结 前言 下面是一些git的常用命令和基本操作,可以当做平常的笔记查询,用于…

解决前后端同一个端口跨域问题

前端起了一个代理 如果url是api开头的自动代理访问8080端口(解决前后端端口不一致要么是前端代理,要么是后端加过滤器) proxy:{/api:{target:http://localhost:8080,changeOrigin : true,// 替换去掉路径上的api// rewrite:(path)>path.r…

配置基于不同端口的虚拟主机

更改配置文件&#xff0c;添加三个不同端口的虚拟主机 <directory /www> allowoverride none require all granted </directory><virtualhost 192.168.209.136:80> documentroot /www servername 192.168.209.136 </virtualhost><virtualhost 192.…

【python基础】—如何理解安装程序时要配置Widows和DOS操作系统中的path环境变量?

文章目录 前言一、环境变量是什么&#xff1f;二、为什么需要设置环境变量&#xff1f;三、配置anaconda的环境变量 前言 在安装一些程序的时候&#xff0c; 我们总是需要将安装路径配置到正在使用电脑的环境变量里。为什么要进行这一步呢&#xff1f;本文主要解释Widows和DOS…

【后端面试题】【中间件】【NoSQL】MongoDB查询优化2(优化排序、mongos优化)

优化排序 在MongoDB里面&#xff0c;如果能够利用索引来排序的话&#xff0c;直接按照索引顺序加载数据就可以了。如果不能利用索引来排序的话&#xff0c;就必须在加载了数据之后&#xff0c;再次进行排序&#xff0c;也就是进行内存排序。 可想而知&#xff0c;如果内存排序…

可视化大屏的强势在于预警和感知的科学依据可靠性强

**可视化大屏的强势&#xff1a;预警与感知的科学依据可靠性探究** 数据可视化已成为信息传递的重要手段。其中&#xff0c;可视化大屏作为一种直观、高效的展示方式&#xff0c;广泛应用于各个领域&#xff0c;如智慧城市、智慧交通、智慧医疗等。可视化大屏的强势不仅体现在…

mysql 9 新特新

mysql9新特性 新特性Audit Log NotesC API NotesCharacter Set SupportCompilation NotesComponent NotesConfiguration NotesData Dictionary NotesData Type NotesDeprecation and Removal NotesEvent Scheduler NotesJavaScript ProgramsOptimizer NotesPerformance Schema …

单机多网卡互通——问题跟踪+工具分析

一、背景 想搭建soft ROCE(RXE)与实体ROCE设备互联的测试环境&#xff0c;为了节省机器以及使用方便&#xff0c;预想在配备ROCE卡的主机上&#xff0c;用另一个网卡绑定soft ROCE&#xff0c;然后互通。 [ETH1 ROCE] <--------------------> [ETH2 RXE] 二、问题跟…