当前位置: 首页 > news >正文

招商网站建设需要什么网页设计作品欣赏网站

招商网站建设需要什么,网页设计作品欣赏网站,大宗贸易交易平台,WordPress禁止上传php目录标题为什么需要区分内核空间与用户空间内核态与用户态如何从用户空间进入内核空间整体结构为什么需要区分内核空间与用户空间 在 CPU 的所有指令中,有些指令是非常危险的,如果错用,将导致系统崩溃,比如清内存、设置时钟等。如…

目录标题

  • 为什么需要区分内核空间与用户空间
  • 内核态与用户态
    • 如何从用户空间进入内核空间
    • 整体结构

为什么需要区分内核空间与用户空间

在 CPU 的所有指令中,有些指令是非常危险的,如果错用,将导致系统崩溃,比如清内存、设置时钟等。如果允许所有的程序都可以使用这些指令,那么系统崩溃的概率将大大增加。
所以,CPU 将指令分为特权指令和非特权指令,对于那些危险的指令,只允许操作系统及其相关模块使用,普通应用程序只能使用那些不会造成灾难的指令。比如 Intel 的 CPU 将特权等级分为 4 个级别:Ring0~Ring3。
其实 Linux 系统只使用了 Ring0 和 Ring3 两个运行级别(Windows 系统也是一样的)。当进程运行在 Ring3 级别时被称为运行在用户状态,而运行在 Ring0 级别时被称为运行在内核态。

内核态与用户态

当进程运行在内核空间时就处于内核态,而进程运行在用户空间时则处于用户态。
在内核状态下,进程运行在内核地址空间中,此时 CPU 可以执行任何指令。运行的代码也不受任何的限制,可以自由地访问任何有效地址,也可以直接进行端口的访问。
在用户状态下,进程运行在用户地址空间中,被执行的代码要受到 CPU 的诸多检查,它们只能访问映射其地址空间的页表项中规定的在用户态下可访问页面的虚拟地址,且只能对任务状态段(TSS)中 I/O 许可位图(I/O Permission Bitmap)中规定的可访问端口进行直接访问。

对于 Linux 来说,通过区分内核空间和用户空间的设计,隔离了操作系统代码(操作系统的代码要比应用程序的代码健壮很多)与应用程序代码。即便是单个应用程序出现错误也不会影响到操作系统的稳定性,这样其它的程序还可以正常的运行(Linux 可是个多任务系统啊!)。

所以,区分内核空间和用户空间本质上是要提高操作系统的稳定性及可用性。

如何从用户空间进入内核空间

其实所有的系统资源管理都是在内核空间中完成的。比如读写磁盘文件,分配回收内存,从网络接口读写数据等等。我们的应用程序是无法直接进行这样的操作的。但是我们可以通过内核提供的接口来完成这样的任务。
比如应用程序要读取磁盘上的一个文件,它可以向内核发起一个 “系统调用” 告诉内核:“我要读取磁盘上的某某文件”。其实就是通过一个特殊的指令让进程从用户态进入到内核态(到了内核空间),在内核空间中,CPU 可以执行任何的指令,当然也包括从磁盘上读取数据。具体过程是先把数据读取到内核空间中,然后再把数据拷贝到用户空间并从内核态切换到用户态。此时应用程序已经从系统调用中返回并且拿到了想要的数据,可以开开心心的往下执行了。
简单说就是应用程序把高科技的事情(从磁盘读取文件)外包给了系统内核,系统内核做这些事情既专业又高效。

对于一个进程来讲,从用户空间进入内核空间并最终返回到用户空间,这个过程是十分复杂的。举个例子,比如我们经常接触的概念 “堆栈”,其实进程在内核态和用户态各有一个堆栈。运行在用户空间时进程使用的是用户空间中的堆栈,而运行在内核空间时,进程使用的是内核空间中的堆栈。所以说,Linux 中每个进程有两个栈,分别用于用户态和内核态。

下图简明地描述了用户态与内核态之间的转换:
在这里插入图片描述
既然用户态的进程必须切换成内核态才能使用系统的资源,那么我们接下来就看看进程一共有多少种方式可以从用户态进入到内核态。概括地说,有三种方式:系统调用、软件中断和硬件中断。这三种方式每一种都涉及到大量的操作系统知识,所以这里不做展开。

整体结构

接下来我们从内核空间和用户空间的角度看一看整个 Linux 系统的结构。它大体可以分为三个部分,从下往上依次为:硬件 -> 内核空间 -> 用户空间。如下图所示(此图来自互联网):
在这里插入图片描述
在硬件之上,内核空间中的代码控制了硬件资源的使用权,用户空间中的代码只有通过内核暴露的系统调用接口(System Call Interface)才能使用到系统中的硬件资源。其实,不光是 Linux,Windows 操作系统的设计也是大同小异。

实际上我们可以将每个处理器在任何指定时间点上的活动概括为下列三者之一:
运行于用户空间,执行用户进程。
运行于内核空间,处于进程上下文,代表某个特定的进程执行。
运行于内核空间,处于中断上下文,与任何进程无关,处理某个特定的中断。
以上三点几乎包括所有的情况,比如当 CPU 空闲时,内核就运行一个空进程,处于进程上下文,但运行在内核空间。
说明:Linux 系统的中断服务程序不在进程的上下文中执行,它们在一个与所有进程都无关的、专门的中断上下文中执行。之所以存在一个专门的执行环境,就是为了保证中断服务程序能够在第一时间响应和处理中断请求,然后快速地退出。

文章来源

http://www.yayakq.cn/news/808395/

相关文章:

  • 合肥建站推广学校网站建设说明
  • 回收手机的网站哪家好宣传册内容模板
  • 小语种外贸建站营销方式方案案例
  • 达内网站开发培训wordpress主题响应式
  • 东莞家政网站建设wordpress 字体类型
  • 做网站游戏都需要什么昆山规建设局网站
  • 霍邱县住房和城乡建设局网站wordpress首页怎么改
  • 请描述网站开发的一般流程三站合一 网站建设
  • 网站建设公司建设wordpress网站背景
  • 贵阳网站建设开发搜索引擎的使用方法和技巧
  • 佛山网站设计模板精准营销公司
  • 建网站的公司免费企业黄页下载
  • 窗帘网站建设策划书php7 wordpress
  • 企业网站 建设 外包公司微信小程序定制
  • 群晖做网站连接数据库做网站软件排名
  • 成都市城乡建设管理局网站泰安招聘信息最新招聘2021
  • 苏州建设网站电话网站备案期
  • 一个vps主机放两个网站 速度怎样制作软件程序
  • 建一个网站需要什么条件营销型网站免费企业网站模版
  • 企业网站建设费用会计科目优化措施二十条
  • 网站移动字幕要怎么做江门网络培训学院
  • 做一婚恋网站多少钱在门户网站中
  • 中山网站代运营企业网站 批量备案
  • 网站接入支付宝需要网站备案吗新媒体营销策划
  • 辉玲建设集团有限公司网站企业网站优化培训
  • 做化工的外贸网站都有什么意思云南省城乡住房与建设厅网站
  • 怎么做俄语网站wordpress首屏加载速度
  • 鄞州中学网站谁做的中国跨境电商出口平台
  • 房地产网站建设招商视觉差网站制作
  • 建立一个个人网站做网站建设小程序