美文网首页
机制:受限直接执行

机制:受限直接执行

作者: ZhSong | 来源:发表于2020-04-16 05:59 被阅读0次

这里的受限的意思是进程的某些行为,这里的直接执行就是直接执行的意思。

这个题目可以翻译成,对于进程想要做一些对系统可能存在威胁的操作的时候,操作系统应该怎么去限制它的行为,保证它不把系统或者机器搞坏。

为什么我们需要机制,也就是受限直接执行

  • 操作系统通过时分共享(time sharing)CPU,来实现虚拟化
  • 实现中会遇到一些问题
    1. 性能问题,如何在不增加系统开销的情况下实现虚拟化
    2. 控制权:在保证进程运行的同时保持对系统的控制

也就是说,如何高效可控的实现CPU的虚拟化是机制,也就是受限的直接执行想要解决的问题。

首先是无限制的直接执行

  • 在进程列表中为要执行的进程创建一个进程条目,为其分配一些内存,并将程序代码加载到内存中,找到程序入口并开始执行,在执行的过程中,操作系统对运行的程序没有任何的限制。
  • 会产生的问题
    1. 如何”监督“这个程序,保证他不做我们不希望他做的事情
    2. 如何让这个程序停下来并切换到另一个程序。

利用用户模式和核心模式来解决我们所面临的问题

  • 在用户模式下,所有运行的代码都会受限制,这些代码无法直接使用系统的核心功能,如I/0请求。如果它这样做了,系统就有可能终止这个进程。在用户模式下只能执行非特权的操作,而不能执行特权操作
  • 在内核模式下,代码可以执行任何操作指令,操作系统就是以内核模式进行的。在核心模式下可以执行特权操作。
  • 为了方便用户执行某些不会危及系统特权操作(比如磁盘读取),操作系统提供了系统调用,允许这些操作。
  • 那么系统调用是如何被执行的呢?
    • 要想执行系统调用,程序必须执行特殊的陷阱指令。从用户模式转换为核心模式,开始执行
    • 执行完成之后,操作系统调用一个特殊的从陷阱返回的指令,回到用户模式
    • 注意在执行陷阱指时,要确保所有寄存器的内容被保存起来。
  • 陷阱如何知道在OS内运行那些代码?
    • 内核通过在启动时设置陷阱表来实现。这也是一个特权指令。

相关文章

  • 机制:受限直接执行

    这里的受限的意思是进程的某些行为,这里的直接执行就是直接执行的意思。 这个题目可以翻译成,对于进程想要做一些对系统...

  • 操作系统-笔记3

    机制:受限的直接运行(Mechanism: Limited Direct Execution) 为了虚拟化CPU,...

  • Swift中的函数派发机制

    函数派发机制指的是程序如何找到函数并执行操作的机制。各种各样不同的需求导致不同的函数派发机制。有时可能希望函数直接...

  • Python学习-基础1

    python 解释性的脚本语言:直接执行,不需要编译 C 编译型语言:先编译,再执行 python特性: 内部机制...

  • 十三(2)、面向对象之构造函数的执行机制 ------ 2019

    1、普通函数执行机制: 2、构造函数执行机制:

  • load和initialize的区别

    调用机制 load方法的本质:直接执行函数指针 load方法是在运行时被执行的(main函数之前),其调用栈如下 ...

  • 通过

    sel是通过取得sel来直接调方法, self来执行方法是通过消息传递机制来调用方法

  • 异步

    一、循环 Event Loop 机制 1、事件循环的流程 在main中直接执行,优先于Microtask和Even...

  • 执行机制

    一、为何 try 里面放 return,finally 还会执行,理解其内部机制 Completion 类型 Co...

  • 异常处理的机制

    异常处理的机制 try:可能发生异常的代码 except:如果发生异常 放过异常直接执行except finall...

网友评论

      本文标题:机制:受限直接执行

      本文链接:https://www.haomeiwen.com/subject/wlktphtx.html