操作系统运行环境:
    操作系统的运行环境主要包括系统的硬件环境和由其他的系统软件组成的软件环境,以及操作系统和使用它的用户之间的关系。

一、中央处理器:

1.1 指令

(1)计算机的基本功能是执行程序,最终被执行的程序是存储在内存中的机器指令程序。

(2)机器指令的集合称指令系统,反映了一台机器的功能和处理能力。指令分为以下五类:

1)数据处理类指令;2)转移类指令; 3)数据传送类指令;4)移位与字符串指令;5)I/O类指令

(3)指令系统包含特权指令与非特权指令

(4)特权指令是指在指令体统中那些只能由操作系统使用的指令,不允许一般用户使用.

1.2 处理器

(1)管理状态(特权状态、系统模式、特态或管态)——操作系统管理程序运行的状态

用户状态(目标状态、用户模式、常态或目态)——用户程序运行的状态

(2)处理器处于管理状态时,程序可以执行全部指令,使用所有资源,具有改变处理器状态的能力;处理器处于用户状态时,程序只能执行非特权指令。

(3)Intel 386后的处理器实现4个特权级模式:Ring0,Ring1,Ring2,Ring3;Windows使用Ring0,Ring3;

Ring0级权限最高,操作系统、设备驱动程序运行在这一级;Ring3级权限最低,普通用户运行在这一级。

(4)用户态切换到内核态的三种方式:系统调用、中断、异常

(5)处理器根据程序计数器(PC)从内存中取指令到指令寄存器并执行它,PC将自动增长或改变为转移地址指明下条执行的指令。

1.4 寄存器(处理器内部的存储功能部件)

(1) 类型

a、通用寄存器:可由程序设计者指定其功能,如存放操作数或用作寻址。

b、数据寄存器:用以存放操作数。它们作为内存数据的高速缓存,可以被系统程序和用户程序直接使用并进行计算。

c、地址寄存器:用于指明内存地址。如索引寄存器、段寄存器(基址/限长)、堆栈指针寄存器等等。

d、I/O 地址寄存器(I/O AR) :用于指定I/O设备。

e、  I/O缓冲寄存器(I/OBR):用于处理机和I/O设备交换数据。

f、控制寄存器:用于存放处理机的控制和状态信息。

■  程序计数器(PC)、指令寄存器(IR)、中断寄存器、程序状态字(PSW)。

g、存储器地址寄存器(MAR)、存储器数据寄存器(MBR)

(2)PSW用来控制指令执行顺序并保留和指示与程序有关的系统状态,主要作用是实现程序状态的保护和恢复。

a) 每个程序都有一个与其执行相关的PSW,每个处理器都设置一个PSW寄存器。程序占有处理机执行,它的PSW将占有程序状态寄存器。

b)  Intel Pentium中,PSW由标志寄存器EFLAGS和指令指针寄存器EIP组成,均为32位。

c) EFLAGS的低16位称FLAGS,标志可划分为三组:状态标志、控制标志、系统标志。

d) 程序基本状态包括:
             程序计数器:     指明下一条执行的指令地址;■  (2)条件码:表示指令执行的结果状态;
             处理机状态位: 指明当前的处理机状态。
             中断码:            保存程序执行时当前发生的中断事件。
             中断屏蔽位:     指明程序执行中发生中断事件时,是否响应出现的中断事件。

二、主存储器:

2.1 定义

主存储器(Main memory),简称主存。是计算机硬件的一个重要部件,其作用是存放指令和数据,并能由中央处理器(CPU)直接随机存取。

2.2 分类
        (a)随机存储器( RAM):程序执行过程中可读可写

SRAM:静态随机存储器,不必刷新电路就能保存数据。
                DRAM:动态随机存取存储器,DRAM用电容存储数据,需要定时充电。
        (b)只读存储器(ROM):程序执行过程中只读
                MROM:掩模式只读存储器,MROM的内容在出厂前一次写入,之后不能更改。
                PROM:可编程只读存储器,只能写入一次数据的只读存储器。
                EPROM:可擦除可编程只读寄存器
                EEPROM:电可擦可编程只读存储器

2.3 存储分块

存储器的最小编址单位是字节,一个字节包含8个二进制位。每个存储单元单元存放8位二进制数。

为了简化对存储器的分配和管理,计算机系统中把存储器分块。为用户分配主存空间时,以块为最小单位。

2.4 存储保护

1)加界保护方式:在CPU中设置了多个界限寄存器,每一个用户程序占用一对界限寄存器。当调入时,可以将其上界、下界存入界限寄存器中。这种保护方式是对存储区的保护,运用于段式管理。
(2)键保护方式:将主存的每一页都设置一个存储器,给予一个键号,此键号存放在快表的表目中。对于每个用户的程序的各页,也设置一个程序键,给予一个键号。当该页由辅存调入主存时,就将其调入的实页号及其键号登记在快表中,将程序键号送入到程序状态字中。每次访问主存。首先进行键号比较,如果键号相等才允许访问,如同一把钥匙开一把锁,存放键与程序键键号的分配,由操作系统完成。
(3)环保护方式:将系统程序和各用户程序按其功能的性质和要求分为几个级别,分别授予不同的权限。

三、中断:

3.1 定义

中断是指程序执行过程中,当发生某个事件时,中止CPU上现行程序的运行,引出处理该事件的程序执行的过程

3.2 意义

能充分发挥处理器的使用效率,能提高系统的实时处理能力

3.3 中断处理过程

请求中断

当某一中断源需要CPU为其进行中断服务时,就输出中断请求信号,使中断控制系统的中断请求触发器置位为1,向CPU请求中断。通常对每个中断源都分别用一个固定的就触发器来寄存中断信号。这些触发器的全体称为中断寄存器。系统要求中断请求信号一直保持到CPU对其进行中断响应为止。

中断响应

处理器的控制部件中有一个中断扫描机构,可以检测中断信号,它在每条指令执行周期内的最后时刻扫描中断寄存器,询问是否有中断信号到来。若无信号,就继续执行下面的指令;若有中断到来,则中断硬件将该中断寄存器的内容按规定的编码送入程序的PSW的相应位。

关闭中断

CPU响应中断后,输出中断响应信号,自动将状态标志寄存器FR或EFR的内容压入堆栈保护起来,然后将FR或EFR中的中断标志位IF与陷阱标志位TF清零,从而自动关闭外部硬件中断。因为CPU刚进入中断时要保护现场,主要涉及堆栈操作,此时不能再响应中断,否则将造成系统混乱。

保护断点

保护断点就是将CS和IP/EIP的当前内容压入堆栈保存,以便中断处理完毕后能返回被中断的原程序继续执行,这一过程也是由CPU自动完成。

中断源识别

当系统中有多个中断源时,一旦有中断请求,CPU必须确定是哪一个中断源提出的中断请求,并由中断控制器给出中断服务子程序的入口地址,装入CS与IP/EIP两个寄存器。CPU转入相应的中断服务子程序开始执行。

保护现场

主程序和中断服务子程序都要使用CPU内部寄存器等资源,为使中断处理程序不破坏主程序中寄存器的内容,应先将断点处各寄存器的内容压入堆栈保护起来,再进入的中断处理。

中断服务

恢复现场

当中断处理完毕后,用户通过POP指令将保存在堆栈中的各个寄存器的内容弹出,即恢复主程序断点处寄存器的原值。

中断返回

在中断服务子程序的最后要安排一条中断返回指令IRET,执行该指令,系统自动将堆栈内保存的 IP/EIP和CS值弹出,从而恢复主程序断点处的地址值,同时还自动恢复标志寄存器FR或EFR的内容,使CPU转到被中断的程序中继续执行。

3.4 中断(狭义)与异常的区别

中断: 与正执行指令无关,可以屏蔽;

异常: 与正执行指令有关,不可屏蔽

3.5 中断屏蔽

保证在执行一些重要的程序中不响应中断,以免造成迟缓而引起错误。

•中断屏蔽有两种方法:

硬件实现(由软件置处理机优先级,硬件按系统设计时的约定,屏蔽那些低优先级中断);

软件实现(由软件按操作系统优先级约定,设置屏蔽寄存器)。

四、重定位:

用户程序的两种地址和空间

•绝对地址:内存中的实际地址(物理地址)。

•相对地址:相对于某个基准量编址时所使用的地址。

•相对地址空间:程序中相对地址的全体。

•逻辑地址空间:一个被汇编、编译或连接装配后的目标程序所限定的地址的集合。

地址的重定位

•程序被装入到分配给它的内存储区时,必须对每

•条指令里所涉及到的逻辑地址进行修改,使它们能够

•正确地反映出所在的存储位置。这种把逻辑地址转换成物理地址的过程,称为地址的“重定位”。

地址定位的三种方式

•绝对定位方式 :即在程序装入内存之前,程序指令中的地址就已经是绝对地址,已经正确地反映了它将要进入的存储区位置。

•静态重定位方式 :在程序运行前完成地址重定位工作

•动态重定位方式 :地址定位的时间推迟到程序执行时进行

操作系统之运行环境简介相关推荐

  1. Zephyr物联网操作系统之运行环境搭建(一)

    对于zephyr这个实时嵌入式操作系统,可以先在x86架构上搭建运行环境,学习相关知识.之后,根据实际需求,再将操作系统移植到不同架构的MCU上. 一.环境搭建 准备工作:安装ubuntu操作系统 虚 ...

  2. 什么是JRE?Java运行环境简介

    Java开发工具包(JDK),Java虚拟机(JVM)和Java运行时环境(JRE)共同构成了用于开发和运行Java应用程序的Java平台组件的强大功能.我之前介绍过JDK和JVM. 在本快速教程中, ...

  3. 华三系统服务器网卡,01-第1章 H3C自研网卡功能及运行环境简介

    H3C自研网卡是H3C自主研发的多类型.多用途网卡,它们通过帮助服务器处理网络数据,以减轻服务器CPU的负担,从而提升服务器的稳定性.每种网卡支持的特性不同,能满足不同的应用场景,从而满足多样化需求. ...

  4. 云服务器php文件怎么运行,云服务器php文件怎么运行环境

    云服务器php文件怎么运行环境 内容精选 换一换 镜像是云耀云服务器运行环境的模板,模板中包含了特定的操作系统和运行环境,有时也额外包括了一些预装的应用软件.通过镜像可以部署特定的软件环境,也可以将云 ...

  5. [原]iBatis.Net(C#)系列一:简介及运行环境

    转载请注明http://www.cnblogs.com/13590/archive/2013/02/27/2934580.html 摘要:介绍iBatis.Net的基本情况和运行原理,运行环境中各参数 ...

  6. JSP学习笔记01 - JSP简介及运行环境配置

    一.什么是JSP 1.jsp简介 JSP全名为Java Server Pages,中文名叫java服务器页面,其根本是一个简化的Servlet设计,它是由Sun Microsystems公司倡导.许多 ...

  7. 【OS】操作系统运行环境

    文章目录 操作系统运行机制 中断和异常 系统调用 操作系统运行机制 CPU执行两种不同性质的程序: 1. 操作系统内核程序 2. 用户自编程序(应用程序) 其中内核程序用于执行一些特权指令,应用程序则 ...

  8. 什么为java运行时的环境_什么是JRE?Java运行时环境简介(一)

    Java开发工具包(JDK),Java虚拟机(JVM)和Java运行时环境(JRE)共同构成了用于开发和运行Java应用程序的Java平台组件的强大功能. 实际上,运行时环境是一种旨在运行其他软件的软 ...

  9. linux 中文 gb32,《GB∕T 32394-20.15 信息技术 中文Linux操作系统运行环境扩充要求》.pdf...

    <GB∕T 32394-20.15 信息技术 中文Linux操作系统运行环境扩充要求>.pdf h t t p s w w w .d o c88.co m /w 42020228h t t ...

  10. 操作系统4小时速成:操作系统发展和分类,运行环境:运行机制和内核,用户态非特权,核心态特权,中断技术,访管指令

    操作系统4小时速成:操作系统发展和分类,运行环境:运行机制和内核,用户态非特权,核心态特权,中断技术,访管指令 2022找工作是学历.能力和运气的超强结合体,遇到寒冬,大厂不招人,可能很多算法学生都得 ...

最新文章

  1. java 注解去掉缓存_java spring 使用注解来实现缓存
  2. 10.25 es问题
  3. 员工培训与开发实训心得体会_公司新员工培训心得体会800字范文
  4. ADO RecondsetPtr 以及如何实现对表的增加删除数据
  5. goland 修改.gitignore无效问题
  6. latex ref引用章节号
  7. 一、Oracle学习笔记:认识数据库
  8. 如何对Pandas DataFrame进行自定义排序
  9. interface详解
  10. 如何利用Python实现自动打卡签到
  11. python新手有手就会的100个代码
  12. mysql断网_MYSQL主从断网恢复复制的问题(1)
  13. Java数据结构-树状数组
  14. int GetMonth( ) const throw( );后面的throw( )什么意思?
  15. 程序猿:如何成为一个高级程序员
  16. 深度强化学习(DRL)专栏(一)
  17. 2021年1月5日订阅朋友的问题与解决方案汇总
  18. Java人员该如何站稳脚跟 需要具备哪些技能
  19. AI(人工智能:一种现代的方法)学习之:CSP(Constraint Satisfaction Problems) 约束满足问题:回溯法——前向检查(过滤法)、弧相容检查、 变量排序
  20. PHP实现量化交易,量化交易干货丨如何使用DolphinDB计算K线

热门文章

  1. c#开发条形码生成器
  2. 学习Flutter:Hello Word篇
  3. Vue知识点囊括清单
  4. Vue实现页面导航实战
  5. 百度飞桨-基于CV的工业读表案例(修改读表范围和数值)
  6. 火星来客创业周刊第1期:独立开发者Twitter小工具60天,从月入300美金到月入3000美金
  7. Eclipse频繁未响应
  8. 洛谷——P2706 巧克力
  9. 得物App购买记录数据爬取
  10. Android Studio 导入图片标红错误