精华内容
下载资源
问答
  • 操作系统级的异常状态表征寄存器esr_el1
    千次阅读
    2021-08-04 11:06:45

    1. 操作系统级的异常状态表征寄存器esr_el1

    寄存器esr_el1是在权限级EL1下可以访问的系统寄存器,即由操作系统内核访问来查明具体触发异常原因的寄存器。当飞腾CPU在EL0/EL1状态下,发生异常,并跳入EL1进行异常处理时,该寄存器的相关状态就表明了异常发生的具体原因。当飞腾CPU进入EL1,操作系统内核在进行异常处理的通用路径上,通过对比esr_el1的状态,进行最终跳转。

    在AArch64状态下,该寄存器是一个64位的系统寄存器。

    该寄存器的访问方式

            读  mrs <xt>, esr_el1

            写 msr esr_el1, <xt>

    2. 寄存器分析

    寄存器esr_el1主要分为EC[31:26]、IL、ISS三部分

    2.1 EC是异常分类

    EC主要描述了异常触发的原因,也就是分类。EC一共占6位,当EC=0b010101时,表示从AArch64状态的用户程序执行SVC指令而触发的异常,即系统调用。

    2.2 IL是同步异常的指令长度

    IL只有1位,IL=0b1表示32位指令,常规系统调用不检查该位。

    2.3 ISS是具体指令特征

    ISS是25位,当EC有明确异常分类并且IL=0b1时,这25位就保留。

    3. 同步异常和系统调用

    系统调用是一种同步异常。操作系统内核要判断异常触发时的CPU权限级,也要判断异常类型。

    来自用户态的同步异常,仅仅需要检查EC部分即可。

    更多相关内容
  • 操作系统中断/异常-测试题

    千次阅读 2021-03-16 19:30:58
    操作系统中断/异常处理——测试题 外部中断就是 CPU以外的时间引起的,如I/O中断、时钟中断、控制台中断等。 内部中断就是 来自CPU内部事件或程序执行了陷入指令引起的中断。如CPU本身故障、电源故障、程序出错和...

    我是罡罡同学,一位初入网安的小白。☜(ˆ▽ˆ)
    (疯狂暗示 点赞 !关注!转发 !!! 点赞 !关注!转发 !!!

     * 您的支持是罡罡同学前进的最大动力!
    

    打赏一点钱,帮我买包辣条,继续创作,谢大家!

    在这里插入图片描述

    操作系统中断/异常处理——测试题

    在这里插入图片描述

    外部中断就是 CPU以外的时间引起的,如I/O中断、时钟中断、控制台中断等。
    内部中断就是 来自CPU内部事件或程序执行了陷入指令引起的中断。如CPU本身故障、电源故障、程序出错和请求系统服务的指令(陷入指令也称自陷指令或访管指令)引起的中断、虚存系统的缺页、算术溢出、地址越界、非法操作码等。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    对于不同的中断,硬件将转入不同的中断入口程序;(多个中断入口地址)
    对于所有的异常,则首先转入公共的入口程序。(一个公共地址,不需要查表)
    在这里插入图片描述
    电源故障属于CPU以外的事件,也就是中断,中断是可以屏蔽的,而异常是不可以屏蔽的。
    在这里插入图片描述
    访管指令(自陷指令)也就是异常。C明显错误啊!
    在这里插入图片描述
    在这里插入图片描述
    为了区分和保存不同的中断源发出的中断信号。

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    我是罡罡同学,一位初入网安的小白。☜(ˆ▽ˆ)
    (疯狂暗示 点赞 !关注!转发 !!! 点赞 !关注!转发 !!!

     * 您的支持是罡罡同学前进的最大动力!
    
    展开全文
  • 文章中图片来源于网络,侵权告删...控制和状态寄存器:用于控制处理器的操作,通常由操作系统代码使用 (这是我们关注的重点) 二、控制和状态寄存器: 作用: 用于控制处理器的操作,如PC控制CPU执行哪条指令;...

    文章中图片来源于网络,侵权告删。
    源头:

    1.中断:来源于外设(键盘、鼠标、网卡、声卡、显卡等),外部事件
    (异步:应用程序不知道什么时候产生)
    (持续,但是对用户程序是透明的)
    如时钟中断控制CPU上进程的切换,键盘中断、磁盘中断等。
    
    2.异常:应用程序意想不到的行为,不是应用程序主动想产生的(除0操作、访问越界等),内部事件
    (同步:执行到特定的指令一定会产生,如除0指令)
    (将异常的程序杀死、或者重新执行异常程序,说不定下一次就不会触发异常)
    
    3.系统调用:应用程序请求操作提高服务,应用程序主动要求产生的(对硬件资源的访问)
    (同步或者异步:执行到特定的指令一定会产生,如Int 0x80指令)
    (发出系统调用请求是同步的,返回时可能是异步,正常情况是同步的)
    (用户等待服务完成,继续向下执行)
    
    返回同步的情况:用户申请读内存,内核去读,然后将数据返回给客户,这个过程中用户一直阻塞等待
    返回异步的情况:用户申请读内存,内核去读,然后将数据返回给客户,不同的是客户在这个过程中
    	      	 去做其他事情了,内核完成操作后,会给用户发送异步的消息,告诉用户数据读取完毕
    

    一、处理器的状态基础(也叫模式)
    1.CPU = 控制器 + 运算器 + 寄存器 + 高速cache+MMU(存储管理单元)
    2.寄存器的分类:
    用户可见寄存器:由高级语言编译器优化算法分配使用,为减少访问内存的次数
    控制和状态寄存器:用于控制处理器的操作,通常由操作系统代码使用
    (这是我们关注的重点)

    二、控制和状态寄存器:
    作用:
    用于控制处理器的操作,如PC控制CPU执行哪条指令;
    在某个特权级别下可以访问、修改
    常见的控制和状态寄存器:

    程序计数器:PC 记录将要执行的指令的地址
    指令寄存器:IR 记录最近取除的指令
    程序状态字:PSW 记录处理器的运行状态如条件码、模式、控制位等信息
    

    在这里插入图片描述
    三、操作系统需要的CPU状态(MODE)
    1.内核态:运行内核代码
    2.用户态:运行用户代码

    在X86系统中,分为实模式和保护模式
    其中实模式的中断处理和普通的过程调用没什么区别
    

    指令系统划分:
    特权指令:只能由操作系统使用
    非特权指令:操作系统和用户都可以使用

    特权指令:启动IO、内存清零、修改程序状态字、设置时钟、允许/禁止中断、停机等
    非特权指令:控制转移、算术运算等
    

    X86系统支持4个处理器特权级别:
    在这里插入图片描述
    R0:特权最高,可以直接访问所有资源;
    R3:特权最低,必须通过系统调用陷入内核,才能访问资源,也就是通过操作系统访问。
    linux实际上只选择了0和3两个特权级别。
    用户态->内核态途径:唯一的途径是中断/异常/陷入机制
    内核态->用户态途径:修改设置程序的状态字PSW即可

    四、特殊的指令—访管指令(陷入指令):
    内核态有时也被称为管理态,所以访问或者陷入内核 又被称为访管。

    用户态->内核态途径:唯一的途径是中断/异常/陷入机制

    陷入指令 == 访管指令
    提供给用户程序的接口,用于切换到内核态,用于调用操作系统的功能
    常见的有:int  trap  syscall  sysenter/sysexit
    

    五、中断和异常机制概念:

    有句话这样说: ”操作系统是由中断驱动的,事件驱动的“
    主要作用:
    1.及时处理设备发来的请求
    2.捕获用户程序提出的请求
    3.防止用户程序有意或者无意的破坏活动

    中断/异常的概念:
    1.定义:CPU对系统发生的某个事件做出的一种反应。
    2.发生中断/异常CPU做什么反应:

    1.暂停正在执行的程序
    2.保留现场后自动转去执行相应事件的处理程序
    (这里”自动“指的是 硬件去处理该异常或者中断)
    3.处理完成后返回断点,继续执行被打断的程序
    

    3.中断和异常的引入:
    中断的引入:为了支持CPU和设备之间的并行操作

    设备通过中断 的 方式 向CPU”报告“自己的事情做完了,让CPU决定处理之后的事情
    

    异常的引入:表示CPU执行指令时本身出现的问题

    如算术溢出、除零、地址越界、执行了陷入指令,此时CPU暂停当前工作,
    转到错误处理程序或者执行系统调用
    

    早期,中断和异常不作区分,也就是说,大概上可以混为一谈。

    4.事件分类(中断+异常):
    中断:也叫外中断

    一般有I/O中断、时钟中断(定时器、时间片)、硬件故障(笔记本没电)
    

    异常:也叫内中断

    常见的有系统调用、页故障(如缺页异常)、保护性异常(越界访问)、断点指令(单步调试)
    程序性异常(算术除零、算术溢出等等)
    

    5.总结中断和事件的区别:
    中断:都是一些CPU外部的事件引起的,是程序所不期望发生的
    异常:由CPU正在执行的指令引发
    在这里插入图片描述
    异常包括:陷入+ 故障 + 中止

    六、中断和异常机制原理:硬件与软件相互配合

    1.硬件做什么:捕获中断源发出的中断/异常请求,然后将控制权交给处理器去执行特定的处理程序;(捕获响应)
    2.软件做什么:执行处理程序。(处理)
    3.中断寄存器:
    在这里插入图片描述
    4.中断向量表:
    是一个内存单元,存放中断处理程序的入口地址和程序运行时所需处理机的状态字。
    事先编写好这些中断处理程序,然后将入口地址存放在中断向量表中,并进行编号。
    在这里插入图片描述
    Linux的中断向量表:
    在这里插入图片描述

    前面提到了,X86系统的分为实模式和保护模式:
    
    其中 实模式 使用的表就叫中断向量表
    
    保护模式 使用的向量表 换了个名字 叫中断描述符表
     采用门描述符数据结构表示中断向量,本质上没什么太大差别
    

    5.中断处理程序:
    设计操作系统时,为每一类的中断/异常事件提前编号相应的处理程序,并设置好中断向量表。
    基本流程:

    系统运行被打断,去响应中断,中断硬件部件 将CPU控制权交给中断处理程序
    (软件提前设置好,硬件机制来执行)
    在中断处理程序中:
    1.保存相关寄存器信息
    2.分析中断/异常的具体原因
    3.执行对应的处理功能
    4.恢复现场,返回被事件打断的程序
    

    六、实例
    在这里插入图片描述在这里插入图片描述

    展开全文
  • 操作系统概述

    万次阅读 多人点赞 2021-09-11 15:34:51
    第一章 操作系统概述 2021年9月6日 16:40 1.1 什么是操作系统 1.1.1 操作系统的地位和目标 1.1.2 操作系统的作用和组成 1.1.3 操作系统举例 1.2 操作系统的发展历史 1.2.1 推动操作系统发展的主要动力 1.2.2...

    第一章 操作系统概述

    202196日 16:40

    目录

    1.1 什么是操作系统

    1.1.1 操作系统的地位和目标

    1.1.2 操作系统的作用和组成

    1.1.3 操作系统举例

    1.2 操作系统的发展历史

    1.2.1 推动操作系统发展的主要动力

    1.2.2 手工操作

    1.2.4 多道批处理系统(multiprogramming system)

    1.2.5 分时系统(time-sharing system)

    1.2.6 实时系统(real-time system)(及时性,可靠性)

    1.3 操作系统的分类

    1.3.1 批处理操作系统(Batch Processing Operation System)

    1.3.2 分时操作系统(Time Sharing Operating System)

    1.3.3 实时操作系统(Real Time Operating System)

    1.3.4 多处理操作系统

    1.3.5 网络操作系统(NOS, Network Operating System)

    1.3.6 分布式操作系统(Distributed Operating System)

    1.3.7 个人计算机操作系统(Personal Computer Operating System)

    1.4 操作系统的特征

    1.4.1 操作系统的特征

    1.4.2 操作系统的服务

    1.5 操作系统的功能(系统资源的管理者)

    1.5.1 处理机管理

    1.5.2 存储管理

    1.5.3 设备管理

    1.5.4 信息管理(文件管理)

    1.5.5 用户接口

    1.6 常用的操作系统

    1.7 操作系统的运行机制与体系结构

    1.7.1 运行机制

    1.7.2  操作系统内核

    1.7.3 操作系统的体系结构

    1.8 中断和异常

    1.8.1 中断机制的诞生

    1.8.2 中断的概念和作用

    1.8.3 中断的分类

    1.8.4 外中断的处理过程

    1.9 系统调用

    1.9.1 什么是系统调用,有何作用?

    1.9.2 系统调用和库函数的区别

    1.9.3 系统调用背后的过程

    小结


    1.1 什么是操作系统

    1.1.1 操作系统的地位和目标

    操作系统的地位:紧贴系统硬件之上,所有其他软件之下(是其他软件的共同环境)

    系统调用 == 系统调用命令 == 广义指令

    操作系统的功能和目标——作为系统资源的管理者

    操作系统的功能和目标——作为用户和计算机硬件之间的接口

    操作系统的功能和目标——作为最接近硬件的层次

    引入操作系统的目标:

      • 有效性(系统管理人员的观点):管理和分配硬件、软件资源,合理地组织计算机的工作流程
      • 方便性(用户的观点):提供良好的、一致的用户接口,弥补硬件系统的类型和数量差别
      • 可扩充性(开放的观点):硬件的类型和规模、操作系统本身的功能和管理策略、多个系统之间的资源共享和互操作

    1.1.2 操作系统的作用和组成

    操作系统的作用:

    OS是计算机硬件、软件资源的管理者。

    OS是用户使用系统硬件、软件的接口。

    OS是扩展机(extended machine)/虚拟机(virtual machine)。

      • 管理对象包括:CPU、存储器、外部设备、信息(数据和软件);
      • 管理的内容:资源的当前状态(数量和使用情况)、资源的分配、回收和访问操作,相应管理策略(包括用户权限)。
      • 系统命令(命令行、菜单式、命令脚本式、图形用户接口GUI);
      • 系统调用(形式上类似于过程调用,在应用编程中使用)。
      • 在裸机上添加:设备管理、文件管理、存储管理(针对内存和外存)、处理机管理(针对CPU);
      • 另外,为合理组织工作流程:作业管理、进程管理。

    操作系统的非形式化定义(关键点):系统软件,程序模块的集合,资源管理和用户接口功能

    1.1.3 操作系统举例

      • MS OS: MS DOS, MS Windows 3.x, Windows 95, Windows NT, Windows 2000
      • UNIX: BSD, SRV4, OSF1, SCO UNIX, AIX, Solaris, Linux
      • NOS: Novell Netware
      • RTOS: VxWorks, pSoS, Nucleus

    1.2 操作系统的发展历史

    1.2.1 推动操作系统发展的主要动力

    (1) 提高资源的利用率和系统性能:计算机发展的初期,计算机系统昂贵,用作集中计算

    (2) 方便用户:用户上机、调试程序,分散计算时的事务处理和非专业用户(商业和办公、家庭)

    (3) 器件的发展:CPU的位宽度(指令和数据)、快速外存

    1.2.2 手工操作

    1946 ~ 50年代(电子管),集中计算(计算中心),计算机资源昂贵;

      • 工作方式
        • 用户:用户既是程序员,又是操作员;用户是计算机专业人员;
        • 编程语言:为机器语言;
        • 输入输出:纸带或卡片;
      • 计算机的工作特点
        • 用户独占全机:不出现资源被其他用户占用,资源利用率低
        • CPU等待用户:计算前,手工装入纸带或卡片;计算完成后,手工卸取纸带或卡片;CPU利用率低;
      • 主要矛盾
        • 计算机处理能力的提高,手工操作的低效率(造成浪费);
        • 用户独占全机的所有资源;
      • 提高效率的途径
        • 专门的操作员,批处理

    1.2.3 单道批处理系统(simple batch processing)(引入脱机输入/输出技术(用磁带完成),并监督程序负责控制作业的输入、输出)

    50年代末 ~ 60年代中(晶体管):利用磁带把若干个作业分类编成作业执行序列,每个批作业由一个专门的监督程序(Monitor)自动依次处理。可使用汇编语言开发。

      • 批处理中的作业的组成:
        • 用户程序
        • 数据
        • 作业说明书(作业控制语言)
      • 批:
        • 供一次加载的磁带或磁盘,通常由若干个作业组装成,在处理中使用一组相同的系统软件(系统带)

    两种批处理方式(1)

    联机批处理

      • 用户提交作业:以纸带或卡片为介质;
      • 操作员合成批作业:结果为磁带介质;
      • 批作业处理:对批作业中的每个作业进行相同的处理:从磁带读入用户作业和编译链接程序,编译链接用户作业,生成可执行程序;启动执行;执行结果输出。
      • 这时的问题:慢速的输入输出处理仍直接由主机来完成。输入输出时,CPU处于等待状态。

    两种批处理方式(2)

    脱机批处理

    利用卫星机完成输入输出功能。主机与卫星机可并行工作。

      • 卫星机:完成面向用户的输入输出(纸带或卡片),中间结果暂存在磁带或磁盘上。
      • 作业控制命令由监督程序(monitor)来执行,完成如装入程序、编译、运行等操作。
      • 优点:同一批内各作业的自动依次更替,改善了主机CPU和I/O设备的使用效率,提高了吞吐量。
      • 缺点:磁带或磁盘需要人工装卸,作业需要人工分类,监督程序易遭到用户程序的破坏(由人工干预才可恢复)。

    通道和中断技术

    60年代初,发展了通道技术和中断技术,这些技术的出现使监督程序在负责作业运行的同时提供I/O控制功能。

      • 通道:用于控制I/O设备与内存间的数据传输。启动后可独立于CPU运行,实现CPU与I/O的并行。
        • 通道有专用的I/O处理器,可与CPU并行工作
        • 可实现 I/O联机处理
      • 中断是指CPU在收到外部中断信号后,停止原来工作,转去处理该中断事件,完毕后回到原来断点继续工作。
        • 中断处理过程:中断请求,中断响应,中断点(暂停当前任务并保存现场),中断处理例程,中断返回(恢复中断点的现场并继续原有任务
        • 可处理算术溢出和非法操作码,死循环(利用时钟中断进行超时限定)
      • 监督程序发展为执行系统(executive system),常驻内存

    单道批处理的主要问题

      • CPU和I/O设备使用忙闲不均(取决于当前作业的特性)。
        • 对计算为主的作业,外设空闲;
        • 对I/O为主的作业,CPU空闲;

    1.2.4 多道批处理系统(multiprogramming system)

    60年代中 ~ 70年代中(集成电路),利用多道批处理提高资源的利用率。

      • 多道批处理的运行特征
        • 多道:内存中同时存放几个作业;
        • 宏观上并行运行:都处于运行状态,但都未运行完;
        • 微观上串行运行:各作业交替使用CPU;
      • 优点:
        • 资源利用率高:CPU和内存利用率较高,多道程序并发执行,共享计算机资源
        • 作业吞吐量大:单位时间内完成的工作总量大;
      • 缺点:
        • 用户交互性差:(相当于不提供人机交互的能力)整个作业完成后或中间出错时,才与用户交互,不利于调试和修改,用户响应时间长
        • 作业平均周转时间长:短作业的周转时间显著增长;

    1.2.5 分时系统(time-sharing system)

      • 分时技术是把处理机的时间分成很短的时间片,这些时间片轮流地分配给各个联机的各作业使用。如果某作业在分配给它的时间片用完时仍未完成,则该作业就暂时中断,等待下一轮运行,并把处理机的控制权让给另一个作业使用。这样在一个相对较短的时间间隔内,每个用户作业都能得到快速响应,以实现人机交互。
      • 主要优点:用户请求可以被即时响应,解决了人机交互问题。允许多个用户同时使用一台计算机,并且用户对计算机的操作相互独立,感受不到别人的存在。
      • 主要缺点:不能优先处理一些紧急任务。操作系统对各个用户/作业都是完全公平的,循环地为每个用户/作业服务一个时间片,不区分任务的紧急性。
      • 抢先式和非抢先式(preemptive & non-preemptive):出让CPU是OS强迫或程序主动
        • 抢先式:OS强近出让CPU;
        • 非抢先式:程序主动出让CPU;
      • 分时系统的特点
        • 交互性:在调试和运行程序时由用户自己操作。
        • 多用户同时性:多个用户同时使用。
        • 独立性:对每个用户而言好象独占主机。

    1.2.6 实时系统(real-time system)(及时性,可靠性

    用于工业过程控制、军事实时控制、金融等领域,包括实时控制、实时信息处理

      • 要求:响应时间短,在一定范围之内;系统可靠性高
      • 主要优点:能够优先相应一些紧急任务,某些紧急任务不需时间片排队
      • 任务的类型:
        • 周期性实时任务:
        • 非周期性实时任务:截止时间(deadline),开始截止时间(最晚开始时间)和完成截止时间(最晚完成时间)

    1.3 操作系统的分类

    1.3.1 批处理操作系统(Batch Processing Operation System)

      • 作业的处理流程
        • 作业提交:作业的输入;
        • 作业执行
        • 作业完成:作业的输出;
        • 批处理的主要特征
          • 用户脱机使用计算机:作业提交后直到获得结果之前,用户无法与作业交互。
          • 作业成批处理
          • 多道程序并行:充分利用系统资源。
        • 多道批处理系统上的技术
          • 作业调度:作业的现场保存和恢复--上下文切换
          • 资源共享:资源的竞争和同步--互斥(exclusion)和同步(synchronization)机制
          • 内存使用:提高内存使用效率(为当前由CPU执行的程序提供足够的内存)--覆盖(overlay),交换(swap)和虚拟存储(virtual memory)
          • 内存保护:系统存储区和各应用程序存储区不可冲突--存储保护
          • 文件非顺序存放、随机存取

    多道程序系统和多处理系统(multiprocessing system)的区别:前者指多个程序同时在内存中交替运行,后者指多个处理器。

    1.3.2 分时操作系统(Time Sharing Operating System)

      • 分时的定义
        • 把计算机的系统资源(尤其是CPU时间)进行时间上的分割,每个时间段称为一个时间片(time slice),每个用户依次轮流使用时间片。
      • 分时系统的特征
        • 多用户同时性:多个用户同时工作。
          • 共享系统资源,提高了资源利用率。节省维护开支,可靠性高:笨终端--至今仍在使用。促进了计算机的普遍应用,提高资源利用率:远地用户通过终端(较便宜)联机使用。
        • 独立性:各用户独立操作,互不干扰。
        • 交互性:系统能及时对用户的操作进行响应,显著提高调试和修改程序的效率:缩短了周转时间。
      • 分时系统的类型
        • 单道分时:调入-调出(Roll-in/Roll-out),I/O开销太大(在有卫星机处理I/O时,单道分时是有用的)
        • 前台后台分时:后台存放批处理作业,内存的划分是固定的,不灵活
        • 多道分时:需要解决加载程序时地址空间重定位的问题
      • 分时系统的主要问题
        • 及时接受输入:多个I/O端口,设立多路缓冲区
        • 及时响应:
          • 提高对换速度(快速外存)、
          • 限制用户数目、
          • 缩短时间片(可能引起对换次数增多,开销增大,程序总运行时间增大)
        • 减少对换信息量:
          • 可重入代码(re-entrant code);
          • 请求页式存储管理:只对换部分程序
      • 1.3.3 实时操作系统(Real Time Operating System)

        • 实时操作系统主要用于过程控制、事务处理等有实时要求的领域,其主要特征是实时性和可靠性。
        • 实时系统的特征
          • 实时时钟管理:提供系统日期和时间、定时和延时等时钟管理功能;
          • 过载保护:缓冲区排队,丢弃某些任务,动态调整任务周期;
            • 过载是指进入系统的任务数目超出系统的处理能力。
          • 高度可靠性和安全性:容错能力(如故障自动复位)和冗余备份(双机,关键部件);
        • 实时系统与批处理系统和分时系统的区别
          • 专用系统:许多实时系统是专用系统,而批处理与分时系统通常是通用系统。
          • 实时控制:实时系统用于控制实时过程,要求对外部事件的迅速响应,具有较强的中断处理机构。
          • 高可靠性:实时系统用于控制重要过程,要求高度可靠,具有较高冗余。如双机系统。
          • 事件驱动和队列驱动:实时系统的工作方式:接受外部消息,分析消息,调用相应处理程序进行处理。
          • 与通用系统结合成通用实时系统:实时处理前台作业,批处理为后台作业。

    1.3.4 多处理操作系统

    1.3.5 网络操作系统(NOS, Network Operating System)

    网络操作系统是在通常操作系统功能的基础上提供网络通信和网络服务功能的操作系统。网络操作系统为网上计算机进行方便而有效的网络资源共享,提供网络用户所需各种服务的软件和相关规程的集合

    网络功能与操作系统的结合程度是网络操作系统的重要性能指标。早期的作法是通常操作系统附加网络软件,过渡到网络功能成为操作系统的有机组成部分。它们的区别在于:网络功能的强弱、使用是否方便等。

      • 网络操作系统的功能
        • 通常操作系统的功能:处理机管理、存储器管理、设备管理、文件管理等;
        • 网络通信功能:通过网络协议进行高效、可靠的数据传输;
        • 网络资源管理:协调各用户使用;
        • 网络服务:文件和设备共享,信息发布;
        • 网络管理:安全管理、故障管理、性能管理等;
        • 互操作:直接控制对方比交换数据更为困难;

    1.3.6 分布式操作系统(Distributed Operating System)

    分布式系统:处理和控制的分散(相对于集中式系统)

    分布式系统是以计算机网络为基础的,它的基本特征是处理上的分布,即功能和任务的分布。

    分布式操作系统的所有系统任务可在系统中任何处理机上运行,自动实现全系统范围内的任务分配自动调度各处理机的工作负载。

      • 分布式操作系统与网络操作系统的比较
        • 耦合程度
          • 分布式系统是紧密耦合系统:分布式OS是在各机上统一建立的"OS同质",直接管理CPU、存储器和外设;统一进行全系统的管理;
          • 网络通常容许异种OS互连,各机上各种服务程序需按不同网络协议"协议同质"。
        • 并行性
          • 分布式OS可以将一个进程分散在各机上并行执行"进程迁移"
          • 网络则各机上的进程独立
        • 透明性:用户是否知道或指定资源在哪个机器上(如CPU、内存或外设)。
          • 分布式系统的网络资源调度对用户透明,用户不了解所占有资源的位置;
          • 网络操作系统中对网络资源的使用要由用户明确指定
        • 健壮性:分布式系统要求更强的容错能力(工作时系统重构)

    1.3.7 个人计算机操作系统(Personal Computer Operating System)

    针对单用户使用的个人计算机进行优化的操作系统。

      • 个人计算机操作系统的特征
        • 应用领域:事务处理、个人娱乐,
        • 系统要求:使用方便、支持多种硬件和外部设备(多媒体设备、网络、远程通信)、效率不必很高。
      • 常用的个人计算机操作系统
        • 单用户单任务:MS DOS
        • 单用户多任务:OS/2, MS Windows 3.x, Windows 95, Windows NT, Windows 2000 Professional
        • 多用户多任务:UNIX(SCO UNIX, Solaris x86, Linux, FreeBSD)

    1.4 操作系统的特征

      • 1.4.1 操作系统的特征

        • 并发(concurrency)(并发和共享是两个最基本的特征,二者互为存在条件)
          • 多个事件在同一时间间隔内发生(宏观上同时发生,微观上交替发生)。操作系统是一个并发系统,各进程间的并发,系统与应用间的并发。操作系统要完成这些并发过程的管理。并行(parallel)是指在同一时刻发生。
          • 并行:指两个或多个事件在同一时刻同时发生
          • 在多道程序处理时,宏观上并发,微观上交替执行(在单处理器情况下)。
          • 程序的静态实体是可执行文件,而动态实体是进程(或称作任务),并发指的是进程。
        • 共享(sharing)
          • 多个进程共享有限的计算机系统资源。操作系统要对系统资源进行合理分配和使用。资源在一个时间段内交替被多个进程所用。
          • 互斥共享(如音频设备):资源分配后到释放前,不能被其他进程所用。一个时间段内只允许一个进程访问该资源
          • 同时共享:允许一个时间段内由多个进程“同时”对他们访问
          • 同时访问(如可重入代码,磁盘文件)
          • 资源分配难以达到最优化
        • 虚拟(virtual)
          • 一个物理实体映射为若干个对应的逻辑实体——分时或分空间。虚拟是操作系统管理系统资源的重要手段,可提高资源利用率。
          • CPU--每个用户(进程)的"虚处理机"
          • 存储器--每个进程都占有的地址空间(指令+数据+堆栈)
          • 显示设备--多窗口或虚拟终端(virtual terminal)
        • 异步性(asynchronism)
          • 也称不确定性,指进程的执行顺序和执行时间的不确定性;
          • 进程的运行速度不可预知:分时系统中,多个进程并发执行,"时走时停",不可预知每个进程的运行推进快慢
          • 判据:无论快慢,应该结果相同--通过进程互斥和同步手段来保证
          • 难以重现系统在某个时刻的状态(包括重现运行中的错误)
          • 性能保证:实时系统与分时系统相似,但通过资源预留以保证性能
        • 并发与共享的关系

    并发性指计算机系统中同时存在着多个运行着的程序。

    共享性是指系统中的资源可供内存中多个并发执行的进程共同使用。

      • 1.4.2 操作系统的服务

        • 服务类型
          • 程序执行和终止(包括分配和回收资源)
          • I/O操作
          • 文件系统操作
          • 通信:本机内,计算机之间(通常通信服务的使用者为进程,而不是笼统说"主机")
          • 配置管理:硬件、OS本身、其他软件
          • 差错检测
        • 服务提供方式:系统命令和系统调用

    1.5 操作系统的功能(系统资源的管理者)

      • 1.5.1 处理机管理

    完成处理机资源的分配调度等功能。处理机调度的单位可为进程线程

      • 进程控制:创建、撤销、挂起、改变运行优先级等--主动改变进程的状态
      • 进程同步协调并发进程之间的推进步骤,以协调资源共享;--交换信息能力弱
      • 进程通信:进程之间传送数据,以协调进程间的协作;--交换信息能力强,也可以用来协调进程之间的推进
      • 进程调度:作业和进程的运行切换,以充分利用处理机资源和提高系统性能;--未必是进程控制操作所引起(可能是时间片轮转、I/O操作)
        • 同一类型内的公平性、高效率(吞吐量大)、作业周转时间等
      • 1.5.2 存储管理

    管理目标:提高利用率方便用户使用、提供足够的存储空间、方便进程并发运行。

      • 存储分配与回收
      • 存储保护:保证进程间互不干扰、相互保密;如:访问合法性检查、甚至要防止从"垃圾"中窃取其他进程的信息;
      • 地址映射(变换):进程逻辑地址到内存物理地址的映射;
      • 内存扩充(覆盖、交换和虚拟存储):提高内存利用率扩大进程的内存空间
      • 1.5.3 设备管理

    设备管理的目标是:方便的设备使用、提高CPU与I/O设备利用率

      • 设备操作:利用设备驱动程序(通常在内核中)完成对设备的操作。还需处理外设的IRQ。
      • 设备独立性(device independence):提供统一的I/O设备接口,使应用程序独立于物理设备,提高可适应性;在同样的接口和操作下完成不同的内容(如FAX Modem作为Windows上的打印机设备)。
      • 设备分配与回收:在多用户间共享I/O设备资源
        • 虚拟设备(virtual device):设备由多个进程共享,每个进程如同独占。
      • 缓冲区管理匹配CPU和外设的速度,提高两者的利用率(单缓冲区、双缓冲区和公用缓冲区)
      • 1.5.4 信息管理(文件管理)

    解决软件资源存储共享保密保护

      • 文件存储空间管理:解决如何存放信息,以提高空间利用率读写性能
      • 目录管理:解决信息检索问题。文件的属性(如文件名)、单一副本赋予多文件名
      • 文件的读写管理和存取控制:解决信息安全问题。系统设口令"哪用户"、用户分类"哪用户组"、文件权限"针对用户或用户组的读写权"
      • 软件管理:软件的版本、相互依赖关系、安装拆除
      • 1.5.5 用户接口

    目标:提供一个友好的用户访问操作系统的接口。操作系统向上提供两种接口:

      • 系统命令:供用户用于组织和控制自己的作业运行。命令行、菜单式或GUI"联机";命令脚本"脱机"
      • 编程接口:供用户程序和系统程序调用操作系统功能。系统调用和高级语言库函数;

    1.6 常用的操作系统

      • 1.6.1 MS DOS
      • 1.6.2 MS Windows 3.x, Windows 95, Windows NT, Windows 2000
      • 1.6.3 UNIX

    1.7 操作系统的运行机制与体系结构

      • 指令:一条高级语言的代码翻译过来可能会对应多条指令(CPU能识别、执行的最基本命令)
      • 1.7.1 运行机制

        • 指令
          • 特权指令:不允许用户程序使用(eg:内存清零指令)(需要在处理机状态下的核心态下执行
          • 非特权指令:(eg:普通运算指令)(需要在处理机状态下的核心态或用户态下执行)
        • 处理器状态(用程序状态寄存器PSW中的某个标志位来标识处理器处于什么状态)
          • 核心态:特权指令和非特权指令都可以执行
          • 用户态:此时CPU只能执行非特权指令
          • 用户态 --> 核心态的切换是通过“中断”唯一实现的。
        • 程序
          • 内核程序:操作系统的内核程序是系统的管理者,既可以执行特权指令,也可以执行非特权指令,运行在核心态。(需要使用核心态的程序
          • 应用程序:为了保证系统能安全运行,普通应用程序只能执行非特权指令,运行在用户态
      • 1.7.2  操作系统内核

        • 内核是计算机上配置的底层软件,是操作系统最基本、最核心的部分。
        • 实现操作系统内核功能的那些程序就是内核程序。
      • 1.7.3 操作系统的体系结构

      • 大内核:
      • 微内核:
      • 1.8 中断和异常

        • 1.8.1 中断机制的诞生

          • 实现多道程序并发执行
          • 本质:发生中断就意味着需要操作系统介入,开展管理工作
        • 1.8.2 中断的概念和作用

          • 1.  当中断发生时,CPU立即进入核心态
          • 2.当中断发生后,当前运行的进程暂停运行,并由操作系统内核对中断进行处理
          • 3.对于不同的中 断信号,会进行不同的处理
          • 发生了中断,就意味着需要操作系统介入,开展管理工作。由于操作系统的管理工作(比如进程切换、分配I/o设备等)需要使用特权指令,因此CPU要从用户态转为核心态。中断可以使CPU从用户态切换为核心态,使操作系统获得计算机的控制权。有了中断,才能实现多道程序并发执行
        • 1.8.3 中断的分类

          • 另一种分类方式:
        • 1.8.4 外中断的处理过程

      • 1.9 系统调用

        • 1.9.1 什么是系统调用,有何作用?

          • 操作系统作为用户和计算机硬件之间的接口,需要向上提供一些简单易用的服务。主要包括命令接口和程序接口。其中,程序接口由一组系统调用组成。
          • 应用程序通过系统调用请求操作系统的服务。系统中的各种共享资源都由操作系统统一掌管,因此在用户程序中,凡是与资源有关的操作〈如存储分配、I/o操作、文件管理等),都必须通过系统调用的方式向操作系统提出服务请求,由操作系统代为完成。这样可以保证系统的稳定性和安全性,防止用户进行非法操作。
        • 1.9.2 系统调用和库函数的区别

        • 1.9.3 系统调用背后的过程

          • 系统调用发生在用户态,对系统调用的处理发生在核心态
          • 执行陷入指令会产生内中断,使处理器从用户态进入核心态
      • 小结

        • OS地位、目的、作用和组成
        • OS发展:主要动力
        • OS分类:批处理、分时、实时、(通用)、多处理、网络和分布式、PC
        • OS的结构:模块--层次--Client-Server
        • OS的特征和服务
        • OS功能

    展开全文
  • 操作系统——中断、异常和系统调用比较

    万次阅读 多人点赞 2015-08-09 14:09:51
    我们首先要明确,为什么操作系统需要中断、异常和系统调用:  在计算机运行时,内核是被信任的第三方 只有内核才可以执行特权指令 方便应用程序  接下来我们先简单了解一下三者的概念:   系统调用...
  • 当中断发生后,当前运行的进程暂停运行,并由操作系统内核对中断进行处理 对于不同的中断信号,会进行不同的处理 发生了中断,就意味着需要操作系统介入,开展管理工作。 由于操作系统的管理工作(比如进程切换、...
  • 因为早期的计算机只能串行执行,工作效率低下,为了解决此问题,人们发明了操作系统,,引入了中断机制,实现了多道程序并发执行 下面是一个处理过程 用户态收到中断信号会转换为和心态 处理,此时暂停任务1 处理...
  • 操作系统基础知识详解

    千次阅读 多人点赞 2021-10-24 23:20:42
    一、操作系统概述 操作系统是指控制和管理整个计算机系统的硬件和软件资源,并合理地组织调度计算机的工作和资源的分配,以提供给用户和其它软件方便的接口和环境,它是计算机系统中最基本的系统软件。 二、操作...
  • 文章目录第一章 计算机系统概述1.1 操作系统的基本概念1.1 练习题1.2 操作系统的发展与分类1.2 练习题1.3 操作系统的运行环境1.3 练习题1.4 操作系统的体系结构1.4 练习题 第一章 计算机系统概述 1.1 操作系统的基本...
  • 操作系统 李治军 操作系统基础(一)

    千次阅读 多人点赞 2018-12-15 17:22:20
    操作系统L1 什么是操作系统 参考材料: 中国MOOC课程 L1 什么是操作系统 CPU告诉内存,地址为300的acsii码,通过总线控制器,通过PCI总线发送到图形控制器写入到显存地址。实际上就用了printf(“Hello!”),...
  • 深入理解中断,异常系统调用

    千次阅读 2020-04-07 18:05:55
    不论是主动调起还是被动触发,都会产生一个CPU信号,这些信号分为三类,中断/异常/系统调用,信号发出后,CPU都会交给操作系统进行处理。 那么三者的区别是什么呢?下面从来源、触发时机与处理方式、处...
  • 常见的操作系统有哪些?

    万次阅读 2019-12-26 19:33:42
    一、常见的操作系统有哪些? 1、Windows操作系统 应用比较广泛。 2、Linux操作系统 免费使用,类UNIX 3、Unix操作系统 无界面,使用命令操作,一般安装在服务器上面。 4、Mac操作系统 苹果公司开发的,一般...
  • 本文是我参加电子科技大学 计算机科学与技术专业 自考本科中操作系统科目的学习笔记。本文是第二章。
  • QNX操作系统

    万次阅读 2019-07-02 15:34:47
    作者:billy 版权声明:著作权归作者所有,...说到操作系统,先来列举一些 UNIX 和 类Unix 操作系统 UNIX System V家族 A/UX AIX HP-UX IRIX LynxOS SCO OpenServer Tru64 Xenix Solaris OS/2 ...
  • 浅谈操作系统中断和异常

    千次阅读 2017-04-09 15:30:23
    操作系统中,引入核心态和用户态这两种工作状态后,...在操作系统中,实现从用户态进入核心态的唯一途径就是通过中断或异常。当中断或异常发生时,运行用户态的CPU会立即进入核心态,这是通过硬件实现的。 1、中
  • 实时操作系统硬实时软实时操作系统运行机制两种指令特权指令非特权指令两种处理器状态中断和异常中断的作用中断的类型中断机制基本原理系统调用系统调用的过程 操作系统概述 操作系统的定义 操作系统是指控制和管理...
  • OS操作系统期末复习 -- 名词解释&简答题

    千次阅读 多人点赞 2020-06-12 01:17:21
    操作系统 管理系统资源、控制程序执行、改善人机界面、提供各种服务,并合理组织计算机工作流程和为用户方便有效地使用计算机提供良好运行环境的一种系统软件。 多道程序设计 允许多个作业(程序)同时进入计算机...
  • 操作系统学习-知识点总结(持续更新)

    万次阅读 多人点赞 2020-12-15 16:26:03
    1.1 操作系统的基本概念 操作系统是计算机系统中最基本的系统软件,能控制和管理整个计算机系统的硬件与软件资源。 操作系统的基本特征包括并发、共享、虚拟和异步。并发和共享是操作系统两个最基本的特征。 操作...
  • 1.1_1_操作系统的概念、功能 ​​ 1.1_2_操作系统的特征 ​ 1.1_3_操作系统的发展与分类 ​​ 1.1_6_系统调用 ​​​​​ 1.1_4_操作系统的运行机制与体系结构 ​ 1.1_5_中断和异常 1.1_1_操作系统...
  • 操作系统知识点整理

    千次阅读 多人点赞 2018-08-28 21:45:45
    1.操作系统的定义: 管理系统资源、控制程序执行、改善人机界面、提供各种服务,并合理组织计算及工作流程的和为用户方便而有效地使用计算机提供良好运行环境的最基本的系统软件。(为应用程序的运行提供良好的环境...
  • 写给大忙人看的操作系统

    万次阅读 多人点赞 2020-02-28 12:34:12
    操作系统 现代计算机系统由一个或多个处理器、主存、打印机、键盘、鼠标、显示器、网络接口以及各种输入/输出设备构成。 然而,程序员不会直接和这些硬件打交道,而且每位程序员不可能会掌握所有计算机系统的细节,...
  • 操作系统教程总结

    万次阅读 多人点赞 2016-12-19 18:31:55
    操作系统虚拟机为用户提供了一种简单、清晰、易用、高效的计算机模型。虚拟机的每种资源都是物力资源通过复用、虚拟和抽象而得到的产物。 虚拟机提供进程运行的逻辑计算环境。
  • cortex-M3 的SVC、PendSV异常,与操作系统(ucos实时系统)

    万次阅读 多人点赞 2015-11-01 02:00:54
    SVC异常是? PendSV异常是? ucos 任务切换时机? ucos 如何满足实时性(实现)? ucos中,systick的优先级? ...SVC(系统服务调用,亦简称系统调用...例如,操作系统不让用户程序直接访问硬件,而是通过提供一些系...
  • 操作系统中的缺页

    万次阅读 多人点赞 2019-09-21 18:10:29
    操作系统启动后,在内存中维护着一个虚拟地址表,进程需要的虚拟地址在虚拟地址表中记录。一个程序被加载运行时,只是加载了很少的一部分到内存,另外一部分在需要时再从磁盘载入。被加载到内存的部分标识为“驻留”...
  • 目前流行的操作系统有Windows操作系统、UNIX操作系统、Linux操作系统和Android操作系统等。 一、Windows操作系统的体系结构 Windows体系结构是分层的模块系统,主要层次有硬件抽象层HAL、内核、执行体和大量的子...
  • 操作系统—陷阱、中断、异常

    千次阅读 2016-07-27 16:20:17
    操作系统中,陷阱,中断和异常是常见的术语,它们贯穿操作系统学习的始终,这篇文章主要区分它们之间的不同。 陷阱 计算机有两种运行模式:用户态, 内核态。 其中操作系统运行在内核态,在内核态中,操作系统...
  • 操作系统-5大功能、5大类型

    万次阅读 2018-09-03 13:25:15
    操作系统的5大管理功能:  1)设备管理:主要负责内核和外围设备的数据交互,实质是对硬件设备的管理,包括输入输出设备的分配、初始化、维护和回收等等。    2)作业管理:负责人机交互、图形界面或系统任务...
  • 转载自-http://blog.programfan.com/article.asp?id=9836大家现在知道,在...那么为什么现在此处还在讨论,操作系统平台中所提供的异常处理机制呢?这是因为在许多系统中,编程语言所提供的异常处理机制的实现,都是
  • 系统调用 这是用户态进程主动要求切换到内核态的一种方式,用户态进程通过系统调用申请使用操作系统提供的服务程序完成工作,系统调用的机制其核心是使用了操作系统为用户特别开放的一个中断来实现。 2. 异常 当CPU...
  • 操作系统笔记(b站王道视频)

    万次阅读 多人点赞 2019-08-16 16:41:41
    操作系统的概念和定义1.操作系统的层次结构2.操作系统的功能和目标3.操作系统总结4. 操作系统的四个基本特征5.操作系统四个特征总结6.操作系统的发展和分类7.操作系统的发展和分类的总结8.操作系统的运行机制 体系...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,046,330
精华内容 418,532
关键字:

操作系统异常

友情链接: uv.rar